Start-up Kinetica łączy procesory graficzne i procesory, zapewniając szybką bazę danych w pamięci. Firma zajmuje się „Extreme Data”, nieprzewidywalnymi danymi wykraczającymi poza big data.

Dwóch założycieli: Nima Negahban (po lewej) i Amit Vij założyli Kinetica na zlecenie armii amerykańskiej i NSA. (Źródło: Kinetica) Cyfryzacja, Przemysł 4.0, Big Data i Analityka to tylko niektóre z tematów, które od lat promuje wielu producentów. Nawet jeśli niektóre rzeczy wydają się przesadzone w świetle klasycznych mechanizmów produkcji i sprzedaży towarów i usług, które zachowują swoją ważność, w rzeczywistości istnieje wiele nowych podejść. Pokazują, jak można wydobyć więcej z gór danych, które rosną z dnia na dzień, z godziny na godzinę.

Przykładem takiego innowacyjnego podejścia technologicznego jest start-up Kinetica, który powstał dopiero w 2016 roku w USA, a z jego rozwiązania korzysta już wielu znanych klientów w innych regionach świata, w tym korporacje takie jak GlaxoSmithKline , PG&E i USA Usługa pocztowa, która każdego dnia rejestruje i analizuje ponad 200 000 dostaw paczek i przejazdów pojazdów.

W Kinetica mówimy o „ekstremalnych danych”, które wykraczają poza tradycyjne dane i duże zbiory danych, obejmując „nieprzewidywalne” dane generowane przez ludzi lub maszyny, w formie ustrukturyzowanej lub nieustrukturyzowanej, które są wykorzystywane statycznie lub do przesyłania strumieniowego danych i muszą być przechowywane przez długi czas.

Kinetica rozpoczęła działalność w 2009 roku. Armia amerykańska i NSA szukały oprogramowania, które byłoby odpowiednie do śledzenia podejrzanych osób, a zwłaszcza terrorystów, w czasie rzeczywistym i cyfrowego śledzenia ich zachowania. W tym celu dali deweloperom Amit Vij i Nima Negahban kontrakt konsultingowy. Ponieważ nie mogli znaleźć niczego odpowiedniego na rynku, postanowili zbudować nową bazę danych. To ostatecznie zaowocowało komercyjną wersją bazy danych Kinetica w 2016 roku.

Konkurując z Oracle lub SAP HANA, Kinetica opracowała szybką bazę danych typu in-memory, która działa na bazie niedrogiego standardowego sprzętu i wraz z procesorem graficznym Nvidia. Według dyrektora generalnego Vij, rozwiązanie jest 100 razy szybsze niż tradycyjne bazy danych przy zaledwie „jednej dziesiątej kosztów sprzętu”.

GPU (Graphics Processing Units) zostały pierwotnie opracowane do obliczeń matematycznych do odtwarzania obrazów i grafiki w celu odciążenia procesorów (Central Processing Units), które często nie były w stanie sprostać takim zadaniom. Architektura procesorów graficznych została zaprojektowana z myślą o procesach równoległych, dzięki czemu może wykonywać wiele obliczeń jednocześnie. Wiele innowacji uczyniło Nvidię liderem rynku w tym sektorze, która jest jedną z najbardziej dochodowych firm informatycznych i przejęła już kilkunastu innych producentów, ostatnio w marcu 2019 r. izraelskiego producenta chipów Mellanox Technologies za 6,8 mld dolarów w gotówce . Nvidia stała się jednym z nielicznych poważnych konkurentów lidera rynku chipów Intela.

Kinetica wykorzystuje interfejsy API CUDA firmy Nvidia dla swoich kart GPU, które zawierają kilka tysięcy rdzeni przetwarzania i mogą obsługiwać zadania o wysokiej wydajności. Z punktu widzenia Kinetica, bazy danych GPU zapoczątkowały rewolucję: „Bazy danych z akceleracją GPU zmniejszyły zapotrzebowanie na wyspecjalizowane architektury danych, dzięki którym trzeba było restrukturyzować i optymalizować dane pod kątem operacji wyszukiwania (zapytań). Te nowe bazy danych są szczególnie odpowiednie do pracy z zestawami danych w IoT (Internet of Things), danymi internetowymi i danymi transakcyjnymi dla firm, w których wzorce i spostrzeżenia muszą być rozpoznawane szybko i tak szybko, jak to możliwe. Nawet podejścia NoSQL są przytłoczone złożonymi zapytaniami wyszukiwania i obliczeniami w czasie rzeczywistym. Uczenie maszynowe i analityka predykcyjna to kolejne obszary zastosowań, które wymagają zaawansowanych narzędzi do algorytmów i modeli. Dzięki „Funkcjom zdefiniowanym przez użytkownika” (UDF) algorytmy i kody można dostosować do szybkiego przetwarzania w bazach danych. Takie UDF można napisać w C++, Javie lub Pythonie.”

W 2017 roku analitycy 451 Research opisali różnicę między CPU i GPU w artykule „Myśl poza CPU: pojawienie się bazy danych opartej na GPU”: „Czasami CPU i GPU są prezentowane tak, jakby jedno podejście było lepsze od drugiego . W rzeczywistości te dwie architektury są bardzo różne, więc istnieje ryzyko porównania jabłek z pomarańczami. Ogólnie rzecz biorąc, procesor to bardzo dobry, mocny procesor, który może poradzić sobie z wieloma złożonymi zadaniami. Z drugiej strony GPU to wyspecjalizowany procesor, który może bardzo dobrze przetwarzać niektóre zadania, ale nie wszystkie.”

Procesory zwykle pracują szeregowo, więc zadania są wykonywane w określonej kolejności. Z drugiej strony procesory GPU przetwarzają dane równolegle, co oznacza, że ​​niektóre zadania mogą być wykonywane w tym samym czasie. Procesory graficzne nie są więc per se lepsze od procesorów – zależy to od przeznaczenia. Według 451 Research, procesory graficzne mogą działać lepiej w złożonych zadaniach, a jednocześnie są znacznie wolniejsze niż procesory w przypadku aktualizacji i usuwania zadań.

Cechą szczególną Kinetica jest przede wszystkim hybrydowa architektura GPU i CPU oraz ich interakcja z rdzeniem Kinetica, wektoryzowaną kolumnową bazą danych, która została specjalnie opracowana do zadań analitycznych. Dane, które docierają do Kinetica najpierw trafiają do obszaru pamięci i są automatycznie dystrybuowane do procesorów CPU i GPU po rozpoczęciu zapytania. Jednak dane mogą być również początkowo przechowywane na stałe na dysku twardym, zanim zostaną wprowadzone do architektury MMP (Massively Parallel Processing) w celu analizy.