Programiranje

Pregled: Kinetica v realnem času analizira milijarde vrstic

Leta 2009 so se bodoči ustanovitelji Kinetice izpraznili, ko so poskušali najti obstoječo bazo podatkov, ki bi ameriškemu vojaškemu obveščevalno-varnostnemu poveljstvu (INSCOM) v Fort Belvoirju (Virginia) omogočila, da v realnem času sledi milijonom različnih signalov za oceniti grožnje nacionalne varnosti. Tako so od temelja zgradili novo bazo podatkov, osredotočeno na obsežno paralelizacijo, ki združuje moč GPU in CPU za raziskovanje in vizualizacijo podatkov v prostoru in času. Do leta 2014 so privabili druge kupce, leta 2016 pa so se pridružili kot Kinetica.

Trenutna različica te zbirke podatkov je srce Kinetice 7, ki je zdaj razširjena po obsegu in je platforma Kinetica Active Analytics. Platforma v visoko zmogljivem paketu, pripravljenem v oblaku, združuje zgodovino in pretočne podatke, analitiko lokacije in strojno učenje.

Kot referenčne stranke ima Kinetica med drugim Ovo, GSK, SoftBank, Telkomsel, Scotiabank in Caesars. Ovo uporablja Kinetica za personalizacijo maloprodaje. Telkomsel, svetovni brezžični operater, uporablja Kinetico za vpogled v omrežje in naročnike. Anadarko, ki ga je nedavno prevzel Chevron, uporablja Kinetico, da pospeši analizo naftnih bazenov do te mere, da podjetju ni treba zmanjšati vzorcev svojih 90-milijardnih nizov raziskav za 3D vizualizacijo in analizo.

Kinetica se pogosto primerja z drugimi zbirkami podatkov GPU, kot so OmniSci, Brytlyt, SQream DB in BlazingDB. Po navedbah podjetja ponavadi tekmujejo z veliko širšim naborom rešitev, od SMACK (Spark, Mesos, Akka, Cassandra in Kafka) rešitev do bolj tradicionalnih distribuiranih platform za obdelavo podatkov in skladiščenje podatkov.

Ključne značilnosti in arhitektura Kinetice

Kinetica združuje svojo porazdeljeno podatkovno bazo, pospešeno v pomnilniku, z GPU-jem, s pretočno analitiko, lokacijsko inteligenco in strojnim učenjem. Baza podatkov je vektorizirana, stolpčna, najprej pomnilniška in je zasnovana za analitične (OLAP) delovne obremenitve ter samodejno porazdeli vse delovne obremenitve med CPE in GPU. Kinetica uporablja SQL-92 za jezik poizvedb, podobno kot PostgreSQL in MySQL, in podpira razširjen nabor funkcij, vključno z iskanjem besedila, analizo časovnih vrst, lokacijsko inteligenco in analizo grafov.

Kinetica lahko deluje na celotnem podatkovnem korpusu z inteligentnim upravljanjem podatkov v pomnilniku GPU, sistemskem pomnilniku, disku ali SSD-ju, HDFS in oblačnem pomnilniku, kot je Amazon S3. Po navedbah podjetja je ta sposobnost upravljanja vseh nivojev pomnilnika edinstvena za Kinetico med bazami podatkov GPU.

Kinetica lahko s svojimi porazdeljenimi zmožnostmi paralelnega zaužitja hkrati izvaja hitro zaužitje pretočnih podatkovnih nizov (s Kafko) in zapleteno analitiko pretočnih in zgodovinskih podatkov. Modele TensorFlow lahko usposobite za podatke neposredno v Kinetici ali uvozite vnaprej usposobljene modele TensorFlow ali „črne škatle“ za izvajanje sklepov s paketno obdelavo, obdelavo tokov ali javno spletno storitvijo.

Kinetica ima robustno in GPU-pospešeno knjižnico geoprostorskih funkcij za izvajanje filtriranja na zahtevo, združevanja, časovnih vrst, prostorskega združevanja in analize geofence. Prav tako lahko prikaže neomejeno geometrijo, toplotne karte in konture s pomočjo tehnologije upodabljanja na strani strežnika (ker je upodabljanje velikih naborov podatkov na strani odjemalca zelo dolgotrajno).

Svoje relacijske podatke lahko uporabite v kontekstu izvornega grafa (z izrecnim ustvarjanjem vozlišč, robov in drugih grafnih predmetov iz relacijskih podatkov) za razumevanje geoprostorskih in ne geoprostorskih odnosov, v realnem času pa lahko opravite optimizacijo poti in celo analizo socialnih omrežij z uporabo grafičnih algoritmov, pospešenih z grafičnim procesorjem Kinetica (z uporabo kinetica.solve_graph funkcija).

Kinetica Kinetica

Možnosti namestitve in konfiguracije Kinetice

Obstajajo trije načini namestitve Kinetice. Zdaj je najprimernejša metoda KAgent, ki avtomatizira namestitev in konfiguracijo Kinetica, Active Analytics Workbench (AAW) in Kubernetes, obroči (visoka razpoložljivost) in še več. Dve alternativni metodi sta uporaba Dockerja (za prenosne namestitve Kinetice) in ročna namestitev prek ukazne vrstice z uporabo običajnih upraviteljev paketov na osnovi Linuxa, kot je npr. njam in apt.

Upravljanje virov. Kinetica podpira pet nivojev pomnilnika: VRAM, RAM, predpomnilnik diska, trajno shranjevanje in hladno shranjevanje. Pri vseh operacijah, ki uporabljajo GPU, morajo biti podatki, na katerih delujejo, nameščeni na ravni VRAM. Upravljanje podatkov v teh petih plasteh je nepomemben problem.

Izselitev je prisilno premikanje podatkov iz višje stopnje v nižjo stopnjo, da se omogoči prostor za premestitev drugih podatkov v to višjo stopnjo. Vsak objekt v sistemu ima raven izselitve, ki je odvisna od vrste predmeta in razpoložljivih nivojev pod njim, v katere bi ga bilo mogoče izseliti. Izselitev se lahko izvede kot odgovor na zahtevo, ki lahko povzroči veliko prenosa podatkov, ali proaktivno v ozadju na podlagi visokih in nizkih ravni vodnih žigov in prednostnih nalog izselitve, kar običajno povzroči manj prenosa podatkov.

Visoka dostopnost. Kinetica HA odpravi posamezno točko okvare v standardni gruči Kinetica in zagotavlja okrevanje po okvari. Izvaja se zunaj Kinetice za uporabo več kopij podatkov in zagotavlja sčasoma skladno shrambo podatkov. Rešitev Kinetica HA je sestavljena iz štirih komponent: prednjega uravnotežilnika obremenitve, upravljavcev procesov visoke razpoložljivosti, ene ali več skupin Kinetica in razdeljene čakalne vrste sporočil.

Administracija. Kinetico lahko upravljate z grafičnim orodjem GAdmin, ukazno vrstico Linux storitev ukaz ali KAgent. Spodnji posnetek zaslona prikazuje nadzorno ploščo GAdmin za gručo s 6 vozlišči.

Predstavitve Kinetica

Kinetica poleg GAdmin in KAgent ponuja spletno orodje za vizualizacijo Reveal in Active Analytics Workbench (AAW), ki je namenjeno integraciji modelov strojnega učenja in algoritmov.

Grozd s šestimi vozlišči, prikazan na zgornjem posnetku zaslona, ​​sem uporabil za raziskovanje več predstavitev Kinetica. Skupino sestavljajo g3.8xlarge primerki, ki vsebujejo po dva grafična procesorja Nvidia Tesla M60 in 32 procesorjev Intel Xeon E5 2686 v4. Vsak primerek ima 244 GiB RAM-a in 16 GiB VRAM-a na GPU. To nastavitev je mogoče zmanjšati, povečati in zmanjšati, da se prilagodi poljubnim primerom uporabe. Po končanih testih je baza podatkov vsebovala 413 tabel in 2,2 milijarde zapisov.

Predstavitve, ki sem jih raziskala, so bile napovedovanje finančnega tveganja z možnostmi, zavarovalno tveganje za poplave v Teksasu, ocena varnosti omrežja na podlagi prometne inšpekcije in vožnja s taksijem v New Yorku. V tem procesu sem opazil, da so za razliko od predstavitev OmniSci (glejte moj pregled), ki so vse uporabljale enojne sploščene tabele (za hitrost), predstavitve Kinetica pogosto uporabljale več tabel, pogledov in analitičnih nadzornih plošč.

Napovedovanje finančnega tveganja z možnostmi

Ta aplikacija je v bistvu dokaz koncepta upravljanja s finančnimi tveganji v realnem času s Kinetico. Mobilna aplikacija React in dve spletni nadzorni plošči omogočata upravljavcu tveganj, da vidi vse "Grke" (dejavnike pri merjenju tveganja) za svoj portfelj in dodaja žive meje. V zakulisju se transakcije pretakajo v bazo podatkov in model tveganja za strojno učenje Black Scholes se nenehno posodablja na podatkih v živo. Nasprotno pa tradicionalno obvladovanje tveganj vključuje kopiranje podatkov o transakcijah v ločeno skupino, ki izvaja nočne modele tveganj.

Zavarovalno tveganje za katastrofalne poplave v Teksasu

Cilj te aplikacije je oceniti izpostavljenost zavarovalnice tveganjem katastrofalnih poplav v Teksasu iz tabele zavarovalcev in poplavnih območij orkana Harvey. Aplikacija izvaja težke geoprostorske izračune v SQL skupaj s statističnimi izračuni.

Ocena varnosti omrežja

Ta aplikacija je zasnovana tako, da uslužbencu za varnost omrežij pomaga zaščititi omrežje pred vdori. Osnovna tabela Kinetica združuje približno 1,8 milijarde zgodovinskih zahtev po omrežju z virom v realnem času.

Vožnja s taksijem v New Yorku

Baza podatkov o vožnji s taksijem v New Yorku sem si ogledala tudi v OmniSci. Kinetica ga ponuja kot nabor podatkov, ki ga lahko naložite; ki je trajalo približno minuto. Sprva je trajalo dlje, da sem posodobil vse karte po vsaki operaciji povečave zemljevida v Kinetici, kot sem se spomnil iz OmniSci; nato sem spremenil nastavitev, tako da Kinetica na drugih grafih ni risal podatkov zunaj povečanega zemljevida, odzivni čas pa je padel na podsekundno območje.

Rezine in armaturne plošče Kinetica

Posamezne grafike v programu Kinetica Reveal se imenujejo rezine. Rezine so razporejene na nadzorne plošče.

Oblikovalec rezin je precej podoben oblikovalcem, ki jih boste našli v OmniSci in številnih izdelkih BI, kot je Tableau.

Nisem preizkusil dela Kinetice za analizo grafov, vendar mi je všeč, kako je zasnovan. Če so podatkovne zbirke grafov le majhen del tega, kar morate storiti s svojimi podatki, je ponovna uporaba shranjenih vrstic iz relacijskih tabel kot robov in vozlišč povsem smiselna. Uporaba grafičnih procesorjev za pospeševanje grafičnih algoritmov je prav tako smiselna.

Ko vidim, kako Kinetica integrira strojno učenje s svojo bazo podatkov GPU, sprotno analizo in geografskimi informacijami, razumem, kam želi OmniSci, toda Kinetica je že tam. Poleg tega, ko vidim, kako Kinetica upravlja s svojimi nivoji shranjevanja, razumem, zakaj Kinetica običajno tekmuje z velikimi sistemi podatkov in skladiščnimi sistemi.

Na splošno je Kinetica zelo impresivna. Dela, kar trdi, preskakuje visoke zbirke podatkov z enim samim ... Mislim, analizira baze podatkov z milijardami zgodovinskih vrstic in aktivnimi viri v realnem času. Želim si, da bi imel občutek za stroške naročnine, vendar je to lastniško, kot je to pogosto pri sistemih tega obsega.

Stroški: Kinetica zaračuna letno naročnino glede na število terabajtov v pomnilniku; ne zaračunava shranjevanja podatkov na drugih ravneh. Naročnina vam omogoča, da Kinetico zaženete kjer koli - lokalno ali v oblaku. Stroški naročnine so popolnoma predvidljivi. Na voljo 30-dnevno brezplačno preskusno obdobje.

Platforma: Strežnik RHEL, CentOS, Ubuntu, Suse ali Debian Linux z vsaj osmimi jedri CPU in 8 GB RAM-a; Grafični procesorji Nvidia K40 ali novejši; lokalno, v oblaku ali na robu vdelane naprave Jetson TX2. Kinetica deluje tudi na Dockerju, z grafičnimi procesorji ali brez.

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