Programmēšana

Pārskats: Kinetica reāllaikā analizē miljardiem rindu

2009. gadā nākamie Kinetica dibinātāji palika tukši, mēģinot atrast esošu datu bāzi, kas Amerikas Savienoto Valstu armijas Izlūkošanas un drošības pavēlniecībai (INSCOM) Fort Belvoir (Virdžīnijā) varētu dot iespēju reāllaikā izsekot miljoniem dažādu signālu, lai novērtēt nacionālās drošības draudus. Tāpēc viņi jau no paša sākuma izveidoja jaunu datu bāzi, kuras centrā bija masveida paralelizācija, apvienojot GPU un CPU jaudu, lai izpētītu un vizualizētu datus telpā un laikā. Līdz 2014. gadam viņi piesaistīja citus klientus, un 2016. gadā viņi iekļāvās kā Kinetica.

Pašreizējā šīs datubāzes versija ir Kinetica 7 sirds, kas tagad ir paplašināta par Kinetica Active Analytics platformu. Platforma apvieno vēsturisko un straumējošo datu analīzi, atrašanās vietas izlūkošanu un mašīnmācīšanos augstas veiktspējas, mākoņdrošā paketē.

Kā atsauces klienti Kinetica cita starpā ir Ovo, GSK, SoftBank, Telkomsel, Scotiabank un Caesars. Ovo mazumtirdzniecības personalizēšanai izmanto Kinetica. Telkomsel, Worldn bezvadu sakaru operators, izmanto Kinetica tīkla un abonentu ieskatiem. Anadarko, kuru nesen iegādājās Chevron, izmanto Kinetica, lai paātrinātu naftas baseinu analīzi līdz vietai, kur uzņēmumam nav nepieciešams samazināt 90 miljardu rindu apsekojumu datu kopas 3D vizualizēšanai un analīzei.

Kinetica bieži tiek salīdzināts ar citām GPU datu bāzēm, piemēram, OmniSci, Brytlyt, SQream DB un BlazingDB. Pēc uzņēmuma domām, viņi parasti konkurē ar daudz plašāku risinājumu klāstu, sākot no pasūtījuma izgatavotiem SMACK (Spark, Mesos, Akka, Cassandra un Kafka) kaudzes risinājumiem līdz tradicionālākām izplatītās datu apstrādes un datu noliktavas platformām.

Kinetica galvenās iezīmes un arhitektūra

Kinetica apvieno savu izplatīto atmiņā ievietoto GPU paātrināto datu bāzi ar straumēšanas analīzi, atrašanās vietas izlūkošanu un mašīnmācīšanos. Datu bāze ir vektorizēta, kolonnu, vispirms atmiņā un paredzēta analītiskām (OLAP) slodzēm, automātiski sadalot jebkuru slodzi pa centrālajiem procesoriem un GPU. Kinetica vaicājumu valodai izmanto SQL-92, līdzīgi kā PostgreSQL un MySQL, un atbalsta plašu iespēju klāstu, tostarp teksta meklēšanu, laika rindu analīzi, atrašanās vietas izpēti un diagrammu analīzi.

Kinetica var darboties visā datu korpusā, gudri pārvaldot datus GPU atmiņā, sistēmas atmiņā, diskā vai SSD, HDFS un mākoņkrātuvēs, piemēram, Amazon S3. Pēc uzņēmuma domām, šī spēja pārvaldīt visus krātuves līmeņus ir unikāla Kinetica starp GPU datu bāzēm.

Pateicoties izplatītajām paralēlajām uzņemšanas iespējām, Kinetica var veikt ātrdarbīgu straumēšanas datu kopu uzņemšanu (ar Kafka) un sarežģītu straumēšanas un vēsturisko datu analīzi vienlaikus. Varat apmācīt TensorFlow modeļus pret datiem tieši Kinetica, vai importēt iepriekš apmācītus TensorFlow vai “black box” modeļus, lai izpildītu secinājumus, izmantojot sērijveida apstrādi, straumēšanas apstrādi vai publisku tīmekļa pakalpojumu.

Kinetica ir spēcīga un ar GPU paātrināta ģeotelpisko funkciju bibliotēka, lai veiktu filtrēšanu pēc pieprasījuma, apkopošanu, laika rindas, telpisko savienojumu un ģeogrāfisko žogu analīzi. Tas var arī parādīt neierobežotu ģeometriju, siltuma kartes un kontūras, izmantojot servera puses renderēšanas tehnoloģiju (jo lielu datu kopu atveidošana klienta pusē ir ļoti laikietilpīga).

Relāciju datus varat izmantot vietējā grafa kontekstā (skaidri izveidojot mezglus, malas un citus diagrammu objektus no relāciju datiem), lai izprastu ģeotelpiskās un neģeotelpiskās attiecības, kā arī reāllaikā var veikt maršruta optimizāciju un pat sociālo tīklu analīzi. izmantojot Kinetica GPU paātrinātu grafu algoritmus (izmantojot kinetica.solve_graph funkcija).

Kinetica Kinetica

Kinetica instalēšanas un konfigurēšanas iespējas

Kinetica instalēšanai ir trīs metodes. Vēlamā metode tagad ir KAgent, kas automatizē Kinetica, Active Analytics Workbench (AAW) un Kubernetes, gredzenu (augsta pieejamība) un citu instalēšanu un konfigurēšanu. Divas alternatīvās metodes ir Docker izmantošana (pārnēsājamām Kinetica instalācijām) un manuāla instalēšana, izmantojot komandrindu, izmantojot kopīgus Linux bāzes pakotņu pārvaldniekus, piemēram, yum un trāpīgs.

Resursu pārvaldība. Kinetica atbalsta piecus glabāšanas līmeņus: VRAM, RAM, diska kešatmiņu, pastāvīgo un auksto krātuvi. Lai veiktu visas darbības, kurās tiek izmantots GPU, datiem, uz kuriem tie darbojas, jāatrodas VRAM līmenī. Datu pārvaldība šajos piecos slāņos ir nebūtiska problēma.

Izlikšana ir piespiedu datu pārvietošana no augstāka līmeņa uz zemāku līmeni, lai padarītu vietu citiem datiem pārvietošanai uz šo augstāko līmeni. Katram objektam sistēmā ir izbīdāmības līmenis, kas ir atkarīgs no objekta veida un zem tā pieejamajiem līmeņiem, kuros to varētu izlikt. Izlikšanu var veikt, atbildot uz pieprasījumu, kas var izraisīt lielu datu kustību, vai arī proaktīvi fonā, pamatojoties uz augstu un zemu ūdenszīmju līmeni un izlikšanas prioritātēm, kas parasti rada mazāk datu kustības.

Augsta pieejamība. Kinetica HA novērš vienu kļūdas punktu standarta Kinetica klasterī un nodrošina atgūšanos no neveiksmes. Tas tiek ieviests ārpus Kinetica, lai izmantotu vairākas datu kopijas, un galu galā nodrošina konsekventu datu krātuvi. Kinetica HA risinājums sastāv no četrām sastāvdaļām: front-end slodzes līdzsvarotājs, augstas pieejamības procesu pārvaldnieki, viena vai vairākas Kinetica kopas un izplatīta ziņojumapmaiņas rinda.

Administrācija. Kinetica var administrēt, izmantojot grafisko GAdmin rīku, Linux komandrindu apkalpošana komandu vai KAgent. Tālāk redzamajā ekrānuzņēmumā ir redzams GAdmin informācijas panelis 6 mezglu kopai.

Kinetica demonstrācijas

Papildus GAdmin un KAgent Kinetica piedāvā tīmekļa vizualizācijas rīku Reveal un Active Analytics Workbench (AAW), kas paredzēts mašīnmācīšanās modeļu un algoritmu integrēšanai.

Iepriekš redzamajā ekrānuzņēmumā parādītais sešu mezglu kopa ir tā, kuru es izmantoju, lai izpētītu vairākus Kinetica demonstrējumus. Klasteris sastāv no g3.8xlarge gadījumiem, katrā no kuriem ir divi Nvidia Tesla M60 GPU un 32 Intel Xeon E5 2686 v4 procesori. Katrā instancē ir 244 GiB RAM un 16 GiB VRAM uz GPU. Šo iestatījumu varētu samazināt, uz augšu un uz āru, lai pielāgotos jebkuram lietošanas gadījumam. Pēc testu pabeigšanas datu bāzē bija 413 tabulas un 2,2 miljardi ierakstu.

Demonstrācijas, kuras es izpētīju, bija paredzētas finanšu riska prognozēšanai, izmantojot iespējas, apdrošināšanas risku plūdiem Teksasā, tīkla drošības novērtējumu, pamatojoties uz satiksmes pārbaudi, un taksometru braucieniem Ņujorkā. Procesa laikā es pamanīju, ka atšķirībā no OmniSci demonstrācijām (skat. Manu pārskatu), kurās visos tika izmantoti vienoti saplacināti galdi (ātrumam), Kinetica demonstrācijās bieži tika izmantotas vairākas tabulas, skati un analītiskie informācijas paneļi.

Finanšu riska prognozēšana ar iespējām

Šis lietojums būtībā ir Kinetica reāllaika finanšu risku vadības koncepcijas pierādījums. Mobilā lietotne React un divi tīmekļa informācijas paneļi ļauj riska pārvaldniekam redzēt visus sava portfeļa “grieķus” (faktorus riska novērtēšanai) un pievienot dzīvžogus. Aizkulisēs darījumi tiek straumēti datu bāzē, un Black Scholes mašīnmācīšanās riska modelis nepārtraukti tiek atjaunināts uz tiešajiem datiem. Turpretī tradicionālā riska pārvaldība ietver darījumu datu kopēšanu atsevišķā kopā, kas katru nakti vada riska modeļus.

Apdrošināšanas risks katastrofāliem plūdiem Teksasā

Šīs lietojumprogrammas mērķis ir novērtēt apdrošināšanas kompānijas risku katastrofu plūdiem Teksasā, izmantojot apdrošinājuma ņēmēju tabulu un viesuļvētras Hārvijs plūdu zonas. Lietojumprogramma veic smagus ģeotelpiskos aprēķinus SQL kopā ar statistikas aprēķiniem.

Tīkla drošības novērtējums

Šī lietojumprogramma ir paredzēta, lai palīdzētu tīkla drošības virsniekam aizsargāt tīklu no ielaušanās. Kinetica pamatā esošā tabula apvieno aptuveni 1,8 miljardus vēsturisko tīkla pieprasījumu ar reāllaika plūsmu.

NYC taksometru braucieni

Ņujorkas taksometru bāze ir kaut kas, ko es arī apskatīju OmniSci. Kinetica to nodrošina kā datu kopu, kuru varat ielādēt; tas prasīja apmēram minūti. Sākotnēji visu diagrammu atjaunināšana pēc katras kartes tālummaiņas operācijas Kinetikā prasīja ilgāku laiku, nekā es atcerējos no OmniSci; tad es mainīju iestatījumu, lai Kinetica neuzrādītu datus ārpus tālummaiņas kartes citos grafikos, un reakcijas laiks nokritās līdz sekundes diapazonam.

Kinetica šķēles un informācijas paneļi

Kinetica Reveal individuālās grafikas sauc par šķēlītēm. Šķēles ir sakārtotas informācijas paneļos.

Šķēļu dizainers ir diezgan līdzīgs dizaineriem, kurus atradīsit OmniSci un vairākos BI produktos, piemēram, Tableau.

Es nepārbaudīju Kinetica diagrammu analīzes daļu, bet man patīk tās veidošana. Ja diagrammu datu bāzes ir tikai neliela daļa no tā, kas jums jādara ar saviem datiem, tad glabātās relāciju tabulu rindu atkārtota izmantošana kā malas un mezgli ir pilnīgi jēga. GPU izmantošana grafa algoritmu paātrināšanai arī ir pilnīgi jēga.

Redzot, kā Kinetica integrē mašīnmācīšanos ar savu GPU datu bāzi, reāllaika analīzi un ģeogrāfisko informāciju, es saprotu, kur OmniSci vēlas nokļūt, bet Kinetica jau ir tur. Arī redzot, kā Kinetica pārvalda glabāšanas līmeņus, es saprotu, kāpēc Kinetica parasti konkurē ar lielo datu un datu noliktavas sistēmām.

Kopumā Kinetica ir ļoti iespaidīga. Tas dara to, ko tā apgalvo, lecot augstas datu bāzes ar vienu ... es domāju, reāllaikā analizējot datubāzes ar miljardiem vēsturisko rindu un tiešraides plūsmām. Es vēlos, lai man būtu sajūta par abonēšanas izmaksām, taču tas ir īpašumtiesības, kā tas bieži notiek ar šāda mēroga sistēmām.

Izmaksas: Kinetica iekasē gada abonementu, pamatojoties uz atmiņā esošo terabaitu skaitu; tā neiekasē maksu par datu glabāšanu citos līmeņos. Abonēšanas licence ļauj palaist Kinetica jebkurā vietā - uz vietas vai mākonī. Abonēšanas izmaksas ir pilnībā paredzamas. Pieejama 30 dienu bezmaksas izmēģinājuma versija.

Platforma: RHEL, CentOS, Ubuntu, Suse vai Debian Linux serveris ar vismaz astoņiem CPU kodoliem un 8 GB RAM; Nvidia K40 vai jaunāki GPU; uz vietas, mākonī vai Jetson TX2 iegultās ierīces malā. Kinetica darbojas arī ar Docker, ar vai bez GPU.

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