Pregled: Kinetica analizira milijarde redaka u stvarnom vremenu

Godine 2009. budući osnivači Kinetice ispraznili su se pokušavajući pronaći postojeću bazu podataka koja bi mogla dati Obavještajno-sigurnosno zapovjedništvo vojske Sjedinjenih Država (INSCOM) u Fort Belvoir (Virginia) mogućnost praćenja milijuna različitih signala u stvarnom vremenu procijeniti prijetnje nacionalnoj sigurnosti. Tako su iz temelja izgradili novu bazu podataka, usredotočenu na masivnu paralelizaciju kombinirajući snagu GPU-a i CPU-a za istraživanje i vizualizaciju podataka u prostoru i vremenu. Do 2014. privlačili su druge kupce, a 2016. su se registrirali kao Kinetica.

Trenutačna verzija ove baze podataka srce je Kinetice 7, koja je sada proširena po obimu i postaje Kinetica Active Analytics platforma. Platforma kombinira povijesnu i strujeću analitiku podataka, podatke o lokaciji i strojno učenje u paketu visokih performansi, spremnom za oblak.

Kao referentni kupci, Kinetica ima, između ostalih, Ovo, GSK, SoftBank, Telkomsel, Scotiabank i Caesars. Ovo koristi Kineticu za personalizaciju maloprodaje. Telkomsel, svjetski bežični operater, koristi Kineticu za uvid u mrežu i pretplatnike. Anadarko, koji je nedavno kupio Chevron, koristi Kineticu kako bi ubrzao analizu naftnih bazena do te mjere da tvrtka ne treba umanjiti uzorke svojih skupova podataka od 90 milijardi redaka za 3D vizualizaciju i analizu.

Kinetica se često uspoređuje s drugim GPU bazama podataka, kao što su OmniSci, Brytlyt, SQream DB i BlazingDB. Prema riječima tvrtke, međutim, oni se obično natječu s mnogo širim rasponom rješenja, od SMACK rješenja (Spark, Mesos, Akka, Cassandra i Kafka) do tradicionalnijih distribuiranih platformi za obradu podataka i skladištenje podataka.

Kinetica ključne značajke i arhitektura

Kinetica kombinira svoju distribuiranu, u memoriji, GPU-ubrzanu bazu podataka s streaming analizom, inteligencijom lokacije i strojnim učenjem. Baza podataka je vektorizirana, stupasta, memorijska i dizajnirana je za analitička (OLAP) opterećenja, automatski raspoređujući bilo koje radno opterećenje između CPU-a i GPU-a. Kinetica koristi SQL-92 za jezik upita, slično kao PostgreSQL i MySQL, i podržava prošireni raspon mogućnosti, uključujući pretraživanje teksta, analizu vremenskih serija, inteligenciju lokacije i analitiku grafova.

Kinetica može raditi na cijelom korpusu podataka inteligentnim upravljanjem podacima u GPU memoriji, sistemskoj memoriji, disku ili SSD-u, HDFS-u i pohrani u oblaku kao što je Amazon S3. Prema tvrtki, ova sposobnost upravljanja svim razinama pohrane jedinstvena je za Kineticu među GPU bazama podataka.

Sa svojim distribuiranim paralelnim mogućnostima unosa, Kinetica može istodobno izvršiti gutanje na skupovima podataka za streaming (s Kafkom) i složenu analitiku na streamingu i povijesnim podacima. Možete obučiti modele TensorFlow protiv podataka izravno u Kinetici ili uvesti unaprijed obučene modele TensorFlow ili "crni okvir" za izvršavanje zaključaka putem skupne obrade, obrade streama ili javne web usluge.

Kinetica ima robusnu i GPU-ubrzanu biblioteku geoprostornih funkcija za obavljanje filtriranja na zahtjev, agregiranja, vremenskih serija, prostornog spajanja i analize geoogradnje. Također može prikazati neograničenu geometriju, toplinske karte i konture, koristeći tehnologiju prikazivanja na strani poslužitelja (budući da je prikazivanje velikih skupova podataka na strani klijenta vrlo dugotrajno).

Možete koristiti svoje relacijske podatke u kontekstu izvornog grafa (izričitim stvaranjem čvorova, rubova i drugih objekata grafa od relacijskih podataka) za razumijevanje geoprostornih i negeosprostornih odnosa, a možete izvršiti optimizaciju rute u stvarnom vremenu, pa čak i analizu društvenih mreža koristeći Kineticine grafičke algoritme ubrzane GPU-om (pomoću kinetica.solve_graphfunkcije).

Kinetica Kinetica

Mogućnosti instalacije i konfiguracije Kinetice

Postoje tri metode za instaliranje Kinetice. Preferirana metoda je sada KAgent, koja automatizira instalaciju i konfiguraciju Kinetice, Active Analytics Workbencha (AAW) i Kubernetesa, prstenova (velika dostupnost) i još mnogo toga. Dvije alternativne metode su korištenje Dockera (za prijenosne instalacije Kinetice) i ručna instalacija putem naredbenog retka pomoću uobičajenih upravitelja paketa temeljenih na Linuxu kao što su yumi apt.

Upravljanje resursima.  Kinetica podržava pet slojeva pohrane: VRAM, RAM, predmemorija diska, postojanost i hladna pohrana. Bilo koja operacija koja koristi GPU zahtijeva da se podaci na kojima rade nalaze u VRAM sloju. Upravljanje podacima u ovih pet slojeva je ne trivijalan problem.

Deložacija je prisilno premještanje podataka s višeg na niži nivo kako bi se stvorilo mjesta za premještanje ostalih podataka u taj viši stupanj. Svaki objekt u sustavu ima razinu izbacivanja koja ovisi o vrsti objekta koji je i raspoloživim slojevima ispod njega u koji bi mogao biti deložiran. Deložacija se može izvršiti kao odgovor na zahtjev, što može prouzročiti puno kretanja podataka, ili proaktivno u pozadini na temelju visoke i niske razine vodenih žigova i prioriteta deložacije, što obično stvara manje kretanja podataka.

Visoka dostupnost.  Kinetica HA uklanja pojedinačnu točku kvara u standardnom Kinetica klasteru i osigurava oporavak od kvara. Primjenjuje se izvan Kinetice radi korištenja višestrukih replika podataka i pruža konačno usklađenu pohranu podataka. Rješenje Kinetica HA sastoji se od četiri komponente: prednjeg uravnoteživača opterećenja, upravitelja procesa visoke dostupnosti, jednog ili više kinetičkih klastera i raspoređenog reda poruka.

Uprava.  Kineticom možete upravljati pomoću grafičkog alata GAdmin, naredbe Linux naredbenog retka serviceili KAgent. Snimak zaslona u nastavku prikazuje GAdmin nadzornu ploču za klaster sa 6 čvorova.

Demonstracije Kinetice

Uz GAdmin i KAgent, Kinetica nudi i web alat za vizualizaciju, Reveal i Active Analytics Workbench (AAW), koji služi za integriranje modela i algoritama strojnog učenja.

Klaster sa šest čvorova prikazan na gornjoj snimci zaslona je onaj koji sam koristio za istraživanje nekoliko demonstracija Kinetice. Klaster se sastoji od g3.8xlarge primjeraka koji sadrže po dva grafička procesora Nvidia Tesla M60 i 32 procesora Intel Xeon E5 2686 v4. Svaka instanca ima 244 GiB RAM-a i 16 GiB VRAM-a po GPU-u. Ova postavka može se smanjiti, povećati i smanjiti kako bi se prilagodili bilo kojem slučaju korištenja. Nakon što sam završio testove, baza podataka sadržavala je 413 tablica i 2,2 milijarde zapisa.

Demonstracije koje sam istražio odnosile su se na predviđanje financijskog rizika pomoću opcija, rizik osiguranja od poplava u Teksasu, procjenu sigurnosti mreže na temelju prometne inspekcije i vožnju taksijem u New Yorku. U tom sam procesu primijetio da, za razliku od OmniScijevih demonstracija (pogledajte moj pregled), koji su svi koristili jednostruko izravnane tablice (radi brzine), Kinetica pojmovi često koriste više tablica, pogleda i analitičkih nadzornih ploča.

Predviđanje financijskog rizika s opcijama

Ova je aplikacija u osnovi dokaz koncepta upravljanja stvarnim financijskim rizicima u stvarnom vremenu s Kineticom. Mobilna aplikacija React i dvije web nadzorne ploče omogućuju menadžeru rizika da vidi sve „Grke“ (čimbenike u mjerenju rizika) za svoj portfelj i dodaje živice. Iza kulisa transakcije se slivaju u bazu podataka, a model rizika Black Scholes strojnog učenja kontinuirano se ažurira na podacima uživo. Suprotno tome, tradicionalno upravljanje rizikom uključuje kopiranje podataka o transakcijama u zasebni klaster koji svake noći pokreće modele rizika.

Rizik osiguranja za katastrofalne poplave u Teksasu

Cilj je ove aplikacije procijeniti izloženost riziku osiguravajućeg društva katastrofalnim poplavama u Teksasu iz tablice osiguranika i poplavnih područja uragana Harvey. Aplikacija radi teška geoprostorna izračunavanja u SQL-u zajedno sa statističkim proračunima.

Procjena sigurnosti mreže

Ovaj je program osmišljen kako bi pomogao službeniku za mrežnu sigurnost da zaštiti mrežu od upada. Temeljna tablica Kinetica kombinira oko 1,8 milijardi povijesnih mrežnih zahtjeva sa feedom u stvarnom vremenu.

Vožnja taksijem u New Yorku

Baza podataka o vožnji taksijem u New Yorku nešto sam što sam također pogledao u OmniSci. Kinetica ga pruža kao skup podataka koji možete učitati; to je trajalo oko minutu. U početku je trebalo više vremena da se ažuriraju sve karte nakon svake operacije zumiranja karte u Kinetici nego što sam se sjećao iz OmniSci; zatim sam promijenio postavku tako da Kinetica ne crta podatke izvan zumirane karte na ostalim grafikonima, a vrijeme odziva palo je na raspon ispod sekunde.

Kinetica kriške i nadzorne ploče

Pojedinačne grafike u Kinetica Revealu nazivaju se kriške. Kriške su organizirane u nadzorne ploče.

Dizajner kriški prilično je sličan dizajnerima koje ćete pronaći u OmniSci i brojnim BI proizvodima, poput Tableaua.

Nisam testirao dio Kinetice za analizu grafa, ali sviđa mi se način na koji je dizajniran. Ako su baze podataka grafikona samo mali dio onoga što trebate učiniti sa svojim podacima, tada ponovna upotreba spremljenih redaka iz relacijskih tablica kao rubova i čvorova ima sasvim smisla. Korištenje GPU-a za ubrzavanje algoritama grafikona također ima sasvim smisla.

Vidjevši kako Kinetica integrira strojno učenje sa svojom GPU bazom podataka, analizom u stvarnom vremenu i zemljopisnim informacijama, razumijem kamo OmniSci želi ići - ali Kinetica je već tamo. Također, kad vidim kako Kinetica upravlja razinama pohrane, razumijem zašto se Kinetica obično natječe s velikim podacima i sustavima skladišta podataka.

Sve u svemu, Kinetica je vrlo impresivna. Radi ono što tvrdi, preskačući visoke baze podataka jednim ... Mislim, analizirajući baze podataka s milijardama povijesnih redova i aktivnim feedovima u stvarnom vremenu. Volio bih da imam osjećaj za pretplatu, ali to je vlasništvo, kao što je to često slučaj sa sustavima ove razmjere.

-

Cijena: Kinetica naplaćuje godišnju pretplatu na temelju broja terabajta u memoriji; ne naplaćuje pohranu podataka u drugim razinama. Licenca za pretplatu omogućuje vam pokretanje Kinetice bilo gdje - lokalno ili u oblaku. Troškovi pretplate potpuno su predvidljivi. Dostupno 30-dnevno besplatno probno razdoblje.

Platforma: RHEL, CentOS, Ubuntu, Suse ili Debian Linux poslužitelj s najmanje osam CPU jezgri i 8 GB RAM-a; Nvidia K40 ili noviji grafički procesori; lokalno, u oblaku ili na rubu ugrađenog uređaja Jetson TX2. Kinetica također radi na Dockeru, sa ili bez GPU-a.