US-Start-up 19.08.2019, 10:16 Uhr

Wie Kinetica unvorhersehbare Daten analysiert

Kinetica ist ursprünglich aus einem Auftrag des US-Militärs und der NSA heraus entstanden. Heute kombiniert das Start-up GPUs und CPUs für seine schnelle In-Memory-Datenbank. Das Unternehmen befasst sich mit «Extreme Data», unvorhersehbaren Daten jenseits von Big Data.
(Quelle: Ryzhi / shutterstock.com)
Digitalisierung, Industrie 4.0, Big Data und Analytics sind nur einige der Themen, die seit Jahren von vielen Herstellern promotet werden. Auch wenn etliches übertrieben wirkt angesichts der klassischen Mechanismen des Produzierens und Verkaufens von Gütern und Dienstleistungen, die ihre Gültigkeit behalten, gibt es tatsächlich zahlreiche neue Ansätze. Sie zeigen, wie man mehr aus seinen Tag für Tag, Stunde für Stunde wachsenden Datenbergen herausholen kann.
Nima Negahban (links) und Amit Vij starteten Kinetica aus einem Auftrag von US-Armee und NSA heraus
Quelle: Kinetica
Ein Beispiel für einen solchen innovativen technologischen Ansatz ist das Start-up Kinetica, das erst 2016 in den USA gegründet wurde und doch mit seiner Lösung schon bei zahlreichen renommierten Kunden auch in anderen Regionen der Welt im Einsatz ist, darunter Konzerne wie Glaxo­SmithKline, PG&E und der U.S. Postal Service, bei dem täglich mehr als 200'000 Paketsendungen und die Touren der Fahrzeuge aufgezeichnet und analysiert werden.
Bei Kinetica spricht man von «Extreme Data», die über traditionelle Daten und Big Data hinausgehen, und versteht darunter «unvorhersagbare» Daten, die erzeugt werden von Menschen oder Maschinen, in strukturierter oder unstrukturierter Form, und die statisch oder für Daten-Streaming verwendet werden und langfristig aufbewahrt werden müssen.
Die Anfänge von Kinetica liegen im Jahr 2009. Die US-Armee und die NSA waren auf der Suche nach einer Software, die geeignet war, verdächtige Personen und besonders Terroristen in Echtzeit aufzuspüren und in ihrem Verhalten digital zu verfolgen. Dazu erteilten sie den Entwicklern Amit Vij und Nima Negahban einen Consulting-Auftrag. Weil die beiden auf dem Markt nichts Passendes fanden, beschlossen sie, eine neue Datenbank zu bauen. Daraus ging schliesslich 2016 die kommerzielle Variante der Kinetica-Datenbank hervor.

Die technische Basis

Kinetica hat in Konkurrenz zu Oracle oder SAP HANA eine schnelle In-Memory-Datenbank entwickelt, die auf Basis preisgünstiger Standard-Hardware und zusammen mit einer Nvidia-GPU läuft. Laut CEO Vij ist die Lösung 100-mal schneller als traditionelle Datenbanken bei lediglich «einem Zehntel von deren Hardware-Kosten».
GPUs (Graphics Processing Units) waren ursprünglich für mathematische Berechnungen zur Wiedergabe von Bildern und Grafiken entwickelt worden, um die CPUs (Central Processing Units) zu entlasten, die solchen Aufgaben oft nicht gewachsen waren. Die Architektur von GPUs ist auf parallele Prozesse ausgelegt und kann deshalb viele Berechnungen zur gleichen Zeit vornehmen. Zum Marktführer auf diesem Sektor hat sich durch viele Innovationen Nvidia enwickelt, das heute zu den finanziell erfolgreichsten IT-Konzernen zählt und bereits mehr als zehn andere Hersteller übernommen hat, zuletzt im März 2019 den israelischen Chip-Produzenten Mellanox Technologies für 6,8 Milliarden Dollar in Cash. Nvidia ist damit zu einem der wenigen ernsthaften Konkurrenten des Chip-Marktführers Intel aufgestiegen.

Die GPU-Revolution

Kinetica setzt Nvidias CUDA-APIs für seine GPU-Karten ein, die mehrere Tausend Processing Cores enthalten und hochperformante Aufgaben erledigen können. Aus Sicht von Kinetica haben GPU-Datenbanken eine Revolution eingeläutet: «GPU-beschleunigte Datenbanken haben den Bedarf an spezialisierten Datenarchitekturen reduziert, mit denen man die Daten für Suchoperationen (Queries) restrukturieren und optimieren musste. Diese neuen Datenbanken sind besonders für die Arbeit mit Datensätzen bei IoT (Internet of Things), Webdaten und Transaktionsdaten für Unternehmen geeignet, bei denen Muster und Einblicke schnell erkannt werden müssen, und das möglichst zeitnah. Selbst NoSQL-Ansätze sind mit komplexen und zeitnahen Suchanfragen und Berechnungen überfordert. Machine Learning und Predictive Analytics sind weitere Anwendungsgebiete, bei denen fortgeschrittene Tools für Algorithmen und Modelle gefragt sind. Mit ‹User-defined Functions› (UDF) können Algorithmen und Codes für die schnelle Verarbeitung in den Datenbanken angepasst werden. Solche UDFs können in C++, Java oder Python geschrieben werden.»
Die Analysten von 451 Research beschreiben 2017 in dem Paper «Think outside the CPU: the emergence of the GPU-Powered database» den Unterschied zwischen CPU und GPU so: «Manchmal werden CPUs und GPUs dargestellt, als sei der eine Ansatz besser als der andere. In Wirklichkeit sind die beiden Architekturen sehr unterschiedlich, sodass die Gefahr besteht, Äpfel mit Birnen zu vergleichen. Allgemein gesagt ist eine CPU ein sehr guter, leistungsfähiger Prozessor, der eine Reihe von komplexen Aufgaben bewältigen kann. Eine GPU ist auf der anderen Seite ein spezialisierter Prozessor, der bestimmte Aufgaben sehr gut abarbeiten kann, aber nicht alle.»
CPUs gehen in der Regel seriell vor, sodass Aufgaben in einer bestimmten Reihenfolge erledigt werden. GPUs dagegen verarbeiten Daten parallel, wodurch bestimmte Arbeiten gleichzeitig durchgeführt werden können. GPUs sind daher nicht pe se besser als CPUs – es kommt auf den Einsatzzweck an.  451 Research zufolge können GPUs bei zusammengesetzten Aufgaben performanter sein, während sie bei Updates und Löschaufgaben wesentlich langsamer sind als CPUs.
Das Besondere an Kinetica ist vor allem die hybride Architektur aus GPU und CPU und deren Zusammenspiel mit dem Kernstück von Kinetica, einer vektorisierten säulenartigen Datenbank, die speziell für Analytics-Aufgaben entwickelt worden ist. Daten, die bei Kinetica ankommen, gehen zuerst in den Memory-Bereich und werden mit Beginn einer Query automatisch auf CPUs und GPUs verteilt. Die Daten können jedoch auch zunächst dauerhaft auf einer Festplatte abgelegt werden, bevor sie in die MMP-Architektur (Massively Parallel Processing) zur Analyse eingepflegt werden.

On-Premise und in der Cloud

Im März dieses Jahres hat Kinetica neue Elemente seiner «Active Analytics Platform» vorgestellt, die die Datenverarbeitung für On-Premise- oder Cloud-Installationen organisiert. Neu hinzugekommen ist unter anderem der «KAgent», ein Tool für das Installations- und Konfigurations-Management. Die Workloads können auch in Container gepackt und von dem Open-Source-Managementsystem Kubernetes gesteuert werden, sodass die Kunden in einer hybriden Umgebung die Analysen skalieren oder wieder zurückfahren können.
Laut Kinetica hat nach den beiden Phasen «traditionelle Daten» und «Big Data» mittlerweile das Zeitalter von «Extreme Data» begonnen
Quelle: Kinetica
Die « Active Analytics Workbench» ermöglicht Unternehmen ausserdem, Algorithmen und Modelle für Machine Learning, die ihre Data Scientists entwickelt haben, in die analytischen Applikationen zu integrieren. Kinetica arbeitet etwa mit TensorFlow, einem Framework zur datenstromorientierten Programmierung, für Anwendungsfälle von Machine und Deep Learning zusammen. Weitere Partner auf diesem Gebiet sind Tableau Software und Microsoft (mit Power BI).

Schneller Erfolg für Kinetica

Seit 2015 hat Kinetica 63 Millionen Dollar an Finanzierungsgeldern erhalten, unter anderem von dem Venture Capitalist GreatPoint, an dem der frühere Oracle-Manager Ray Lane beteiligt ist. Ihm gefällt das Produktdesign von Kinetica: «Die heutige Herausforderung bei Datenbanken besteht in externen Daten, die in riesigen Volumen auftreten, von ihrer Natur her unstrukturiert sind und in Echtzeit gestreamt werden. Es handelt sich um sehr schnelles Datenstreaming aus Quellen wie Sensoren, smarten Geräten, Bilddaten von Drohnen und Informationen aus Social Media. Kinetica ist extra für Echtzeitanalysen und Visualisierungen solch unterschiedlicher Datenumgebungen gebaut worden.»
Kernstück von Kinetica ist eine Analytics-Plattform, die Datenbank, CPU und GPU kombiniert
Quelle: Kinetica
Bereits 2017 haben die Kinetica-Gründer Vij und Negahban mit Paul Appleby einen Manager an die Spitze ihres Unternehmens geholt, der seit vielen Jahren in der IT-Industrie tätig ist und über die nötigen Erfahrungen und Kontakte in der Branche verfügt. Dieser Einstieg «von oben» schlägt sich auch darin nieder, dass Kinetica sich gleich zu Anfang grosse – und finanzkräftige – Kunden gesucht hat und nicht den sonst üblichen langwierigen Weg gegangen ist, sich zunächst bei vielen kleinen Abnehmern einen Namen zu machen.
Zudem hat man sich schnell nach renommierten Partnern umgesehen: Kinetica gibt es vorinstalliert auf Hardware von Cisco, Dell EMC, HPE, IBM und Supermicro. Und Amazon AWS und Microsoft Azure bieten eine Cloud-Variante von Kinetica an. Eng ist  naturgemäss auch die Zusammenarbeit mit  Nvidia. Die internationale Expansion konzentriert sich neben Asien auf Europa, wo es bisher Zweigstellen in London und München gibt.


Das könnte Sie auch interessieren