Ohjelmointi

Katsaus: Kinetica analysoi miljardeja rivejä reaaliajassa

Vuonna 2009 Kinetican tulevat perustajat tulivat tyhjiksi yrittäessään löytää olemassa olevaa tietokantaa, joka antaisi Yhdysvaltain armeijan tiedustelupalvelulle (INSCOM) Fort Belvoirissa (Virginia) mahdollisuuden seurata miljoonia erilaisia ​​signaaleja reaaliajassa. arvioida kansallisen turvallisuuden uhkia. Joten he rakensivat uuden tietokannan alusta alkaen, keskittyen massiiviseen rinnakkaistamiseen, jossa yhdistyvät GPU: n ja CPU: n voima tutkia ja visualisoida tietoja tilassa ja ajassa. Vuoteen 2014 mennessä he houkuttelivat muita asiakkaita, ja vuonna 2016 he liittyivät Kineticaksi.

Tämän tietokannan nykyinen versio on Kinetica 7: n sydän, joka on nyt laajennettu Kinetica Active Analytics -alustaksi. Alusta yhdistää historiallisen ja suoratoistodatan analytiikan, sijaintitiedon ja koneoppimisen tehokkaaseen pilvipalvelupakettiin.

Kineticalla on viiteasiakkaina muun muassa Ovo, GSK, SoftBank, Telkomsel, Scotiabank ja Caesars. Ovo käyttää Kineticaa vähittäiskaupan personointiin. Telkomsel, langaton Worldn-operaattori, käyttää Kineticaa verkko- ja tilaajatietoihin. Chevronin äskettäin hankkima Anadarko käyttää Kineticaa nopeuttaakseen öljyaltaan analyysin siihen pisteeseen, että yrityksen ei tarvitse alittaa 90 miljardin rivin kyselytietoja 3D-visualisointia ja -analyyseja varten.

Kineticaa verrataan usein muihin GPU-tietokantoihin, kuten OmniSci, Brytlyt, SQream DB ja BlazingDB. Yrityksen mukaan ne kilpailevat kuitenkin yleensä paljon laajemman ratkaisuvalikoiman kanssa, mittatilaustyönä tehdyistä SMACK (Spark, Mesos, Akka, Cassandra ja Kafka) -pinoratkaisuista perinteisempiin hajautettuihin tietojenkäsittely- ja tietovarastoalustoihin.

Kinetican tärkeimmät ominaisuudet ja arkkitehtuuri

Kinetica yhdistää hajautetun, muistissa olevan, GPU-nopeutetun tietokannan suoratoistoanalytiikkaan, sijaintitietoon ja koneoppimiseen. Tietokanta on vektoroitu, sarakemuotoinen, ensin muisti, ja se on suunniteltu analyyttisiin (OLAP) työkuormituksiin, mikä jakaa kaiken kuormituksen automaattisesti suorittimien ja grafiikkasuoritinten kesken. Kinetica käyttää kyselykielenä SQL-92: ta, aivan kuten PostgreSQL ja MySQL, ja tukee laajaa valikoimaa ominaisuuksia, kuten tekstihaku, aikasarjojen analyysi, sijaintitieto ja graafianalytiikka.

Kinetica voi toimia koko datakorpusissa hallitsemalla tietoja älykkäästi GPU-muistissa, järjestelmämuistissa, levyllä tai SSD: ssä, HDFS: ssä ja pilvitallennustilassa, kuten Amazon S3. Yrityksen mukaan tämä kyky hallita kaikkia tallennustilatasoja on ainutlaatuinen Kineticalle GPU-tietokantojen joukossa.

Jaettujen rinnakkaisten sisäänsyöttöominaisuuksiensa ansiosta Kinetica voi suorittaa nopean tiedonsiirron suoratoistotietojoukoille (Kafkan kanssa) ja monimutkaisen analytiikan suoratoistolle ja historialliselle tiedolle samanaikaisesti. Voit kouluttaa TensorFlow-malleja tietoja suoraan Kineticassa tai tuoda ennalta koulutettuja TensorFlow- tai “black box” -malleja johtopäätösten suorittamiseksi eräkäsittelyn, suoratoiston tai julkisen verkkopalvelun kautta.

Kineticalla on vankka ja GPU: lla nopeutettu paikkatietotoimintojen kirjasto, joka suorittaa tarvittaessa suodatuksen, aggregaation, aikasarjat, spatiaalisen liittymisen ja geotie-analyysin. Se voi myös näyttää rajoittamattoman geometrian, lämpökartat ja muodot käyttämällä palvelinpuolen renderointitekniikkaa (koska isojen tietojoukkojen asiakaspuolen renderointi on erittäin aikaa vievää).

Voit käyttää relaatiotietojasi alkuperäisessä kaaviokontekstissa (luomalla nimenomaisesti solmuja, reunoja ja muita kaavioobjekteja relaatiotiedoista) geospatiaalisten ja muiden kuin paikkatieteellisten suhteiden ymmärtämiseksi ja voit suorittaa reaaliaikaisen reitin optimoinnin ja jopa sosiaalisen verkoston analyysin käyttämällä Kinetican GPU-nopeutettuja kaavioalgoritmeja (käyttämällä kinetica.solve_graph toiminto).

Kinetica Kinetica

Kinetican asennus- ja määritysvaihtoehdot

Kinetican asentamiseen on kolme tapaa. Ensisijainen menetelmä on nyt KAgent, joka automatisoi Kinetican, Active Analytics Workbenchin (AAW) ja Kubernetesin, renkaiden (korkean käytettävyyden) ja muun asennuksen ja määritykset. Kaksi vaihtoehtoista tapaa ovat Dockerin käyttö (Kinetican kannettaville asennuksille) ja asennus manuaalisesti komentoriviltä tavallisilla Linux-pohjaisilla pakettienhallinnoilla, kuten yum ja apt.

Resurssienhallinta. Kinetica tukee viittä tallennustilatasoa: VRAM, RAM, levyn välimuisti, jatkuva ja kylmä varastointi. Kaikki grafiikkasuoritinta käyttävät toiminnot edellyttävät, että tiedot, joilla ne toimivat, sijaitsevat VRAM-kerroksessa. Tietojen hallinta näissä viidessä kerroksessa ei ole triviaali ongelma.

Häästö on tietojen pakotettua siirtämistä ylemmästä tasosta alempaan tasoon, jotta muille tiedoille voidaan antaa tilaa siirtää korkeammalle tasolle. Jokaisella järjestelmässä olevalla objektilla on häätettävyyden taso, joka riippuu objektityypistä ja sen alla olevista käytettävissä olevista tasoista, joihin se voidaan häätää. Häästö voidaan suorittaa vastauksena pyyntöön, joka voi aiheuttaa paljon tiedonsiirtoa, tai proaktiivisesti taustalla korkeiden ja matalien vesileimatasojen ja häätöprioriteettien perusteella, mikä yleensä aiheuttaa vähemmän tiedonsiirtoa.

Korkea saatavuus. Kinetica HA eliminoi yhden vikapisteen tavallisessa Kinetica-klusterissa ja tarjoaa palautumisen vikaantumisesta. Se on toteutettu Kinetican ulkopuolella, jotta voidaan hyödyntää useita kopioita datasta ja tarjoaa lopulta yhdenmukaisen tietovaraston. Kinetica HA -ratkaisu koostuu neljästä osasta: käyttöliittymän kuormituksen tasapainotin, korkean käytettävyyden prosessinhallinta, yksi tai useampi Kinetica-klusteri ja hajautettu viestijono.

Hallinto. Voit hallinnoida Kineticaa graafisella GAdmin-työkalulla, Linux-komentorivillä palvelu komento tai KAgent. Alla olevassa kuvakaappauksessa näkyy 6-solmun klusterin GAdmin-hallintapaneeli.

Kinetica-esittelyt

GAdminin ja KAgentin lisäksi Kinetica tarjoaa verkkopohjaisen visualisointityökalun, Revealin ja Active Analytics Workbenchin (AAW), joka on tarkoitettu koneoppimismallien ja algoritmien integroimiseen.

Yllä olevassa kuvakaappauksessa esitetty kuuden solmun klusteri on se, jota käytin useiden Kinetica-demojen tutkimiseen. Klusteri koostuu g3.8xlarge-esiintymistä, joista kukin sisältää kaksi Nvidia Tesla M60 -näytönohjainta ja 32 Intel Xeon E5 2686 v4 -prosessoria. Jokaisessa instanssissa on 244 GiB RAM-muistia ja 16 GiB VRAM GPU: ta kohti. Tätä asetusta voidaan pienentää, suurentaa ja pienentää mahdollisten käyttötilanteiden mukaan. Testien suorittamisen jälkeen tietokanta sisälsi 413 taulukkoa ja 2,2 miljardia tietuetta.

Tutkimani demot koskivat rahoitusriskien ennustamista vaihtoehtojen avulla, Texasin tulvien vakuutusriskiä, ​​liikennetarkastuksiin perustuvaa verkon turvallisuuden arviointia ja taksimatkoja NYC: ssä. Huomasin prosessin aikana, että toisin kuin OmniScin demot (katso arvostelu), joissa kaikissa käytettiin yksittäisiä litistettyjä pöytiä (nopeuden vuoksi), Kinetica-demoissa käytettiin usein useita taulukoita, näkymiä ja analyyttisiä kojelautoja.

Rahoitusriskien ennustaminen optioilla

Tämä sovellus on pohjimmiltaan todiste reaaliaikaisen taloudellisten riskien hallinnasta Kinetican kanssa. React-mobiilisovelluksen ja kahden verkkopaneelin avulla riskienhallinta voi nähdä kaikki salkunsa kreikkalaiset (riskinmittaustekijät) ja lisätä suojauksia. Kulissien takana tapahtumat siirretään tietokantaan ja Black Scholesin koneoppimisen riskimalli päivittyy jatkuvasti reaaliaikaisiin tietoihin. Sitä vastoin perinteiseen riskienhallintaan kuuluu transaktiotietojen kopioiminen erilliseen klusteriin, joka suorittaa riskimalleja joka ilta.

Teksasin katastrofaalisten tulvien vakuutusriski

Tämän sovelluksen tarkoituksena on arvioida vakuutusyhtiön riski altistumiselle katastrofaalisille tulville Teksasissa vakuutuksenottajien ja hirmumyrsky Harveyn tulvavyöhykkeiden taulukosta. Sovellus tekee raskaita paikkatietolaskelmia SQL: ssä yhdessä tilastollisten laskelmien kanssa.

Verkon turvallisuuden arviointi

Tämä sovellus on suunniteltu auttamaan verkon tietoturvavastaavaa suojaamaan verkkoa tunkeutumisilta. Kinetica-taulukko yhdistää noin 1,8 miljardia historiallista verkkopyyntöä reaaliaikaiseen syötteeseen.

NYC-taksimatkat

New Yorkin taksimatkatietokantaa tarkastelin myös OmniScissä. Kinetica tarjoaa sen tietojoukkona, jonka voit ladata; se kesti noin minuutin. Alun perin kaikkien kaavioiden päivittäminen kesti jokaisen Kinetican kartan zoomaustoiminnon jälkeen, kuin muistan OmniScista; muutin sitten asetusta niin, että Kinetica ei piirtäisi tietoja muissa kuvaajissa zoomatun kartan ulkopuolella, ja vasteaika putosi toisen sekunnin alueelle.

Kinetica-viipaleet ja kojelaudat

Kinetica Revealin yksittäisiä grafiikoita kutsutaan viipaleiksi. Viipaleet on järjestetty koontinäyttöihin.

Viipaleiden suunnittelija on melko samanlainen kuin suunnittelijat, jotka löydät OmniSci: stä ja useista BI-tuotteista, kuten Tableau.

En testannut Kinetican kaavioanalyysiosaa, mutta pidän sen suunnittelusta. Jos kaaviotietokannat ovat vain pieni osa siitä, mitä sinun on tehtävä tietojesi kanssa, relaatiotaulukoiden tallennettujen rivien uudelleenkäyttö reunoina ja solmuina on järkevää. GPU: iden käyttäminen graafi-algoritmien nopeuttamiseksi on myös järkevää.

Kun näen, kuinka Kinetica integroi koneoppimisen GPU-tietokantaansa, reaaliaikaiseen analyysiin ja maantieteellisiin tietoihin, ymmärrän minne OmniSci haluaa mennä - mutta Kinetica on jo siellä. Kun näen, kuinka Kinetica hallitsee tallennustilatasojaan, saan minut ymmärtämään, miksi Kinetica yleensä kilpailee isojen tietojen ja tietovarastojärjestelmien kanssa.

Kaiken kaikkiaan Kinetica on erittäin vaikuttava. Se tekee mitä väittää, hyppäämällä korkeista tietokannoista yhdellä… tarkoitan analysoimalla tietokantoja miljardeilla historiallisilla riveillä ja reaaliaikaisilla syötteillä. Toivon, että minusta tuntuisi liittymäkustannuksista, mutta se on oma, kuten usein tehdään tällaisen mittakaavan järjestelmissä.

Kustannus: Kinetica veloittaa vuositilauksen muistissa olevien teratavujen määrän perusteella; se ei veloita tietojen tallentamisesta muilla tasoilla. Tilauslisenssin avulla voit ajaa Kineticaa missä tahansa - paikan päällä tai pilvessä. Tilauskustannukset ovat täysin ennakoitavissa. Saatavana 30 päivän ilmainen kokeilu.

Alusta: RHEL-, CentOS-, Ubuntu-, Suse- tai Debian Linux -palvelin, jossa on vähintään kahdeksan suorittimen ydintä ja 8 Gt RAM-muistia; Nvidia K40 tai uudemmat GPU: t; paikan päällä, pilvessä tai Jetson TX2 -laitteen sisäreunassa. Kinetica toimii myös Dockerilla GPU: illa tai ilman.

$config[zx-auto] not found$config[zx-overlay] not found