kras99 - Fotolia

Wie sich die Software AG mit Terracotta DB absetzen möchte

Die In-Memory-Datenbank der Software AG ist auf die Akquisition von Terracotta 2011 zurückzuführen. Inzwischen wurde das System erheblich weiterentwickelt.

Die Darmstädter Software AG bietet innerhalb der Terracotta-Produktfamilie verschiedene In-Memory-Lösungen an. Hierzu gehören die Datenbank Terracotta DB, das In-Memory-Datenmanagementsystem BigMemory, die In-Memory Caching-Plattform Ehcache sowie die In-Memory Realtime-Processing-Plattform Event Stream.

Das Flaggschiffprodukt Terracotta DB ist eine NoSQL-Datenbank, die auf einer Weiterentwicklung von BigMemory und Ehcache aufbaut. Die Software AG positioniert Terracotta DB vor allem als Konkurrenzprodukt zu SAP HANA. Das zeigte bereits ein Kommentar von Jeremy Hill, Director Product Marketing & Strategy bei der Software AG, anlässlich der Produktvorstellung im Herbst 2017: „Obwohl es in der Art der Datenorganisation und der Datenstrukturierung erhebliche Unterschiede gibt, ist die neue Terracotta DB dem HANA-System ebenbürtig.“

Terracotta versus SAP HANA

Dabei unterscheiden sich Terracotta DB und SAP HANA deutlich. Während es sich bei HANA um eine All-In-Memory-Datenbank handelt, unterstützt Terracotta DB auch mehrere Storage Tiers, wie SSDs oder HDDs. Außerdem lassen sich mit Terracotta DB In-Memory Storage Grids einrichten, womit der verfügbare Storage-Bereich nahezu unendlich skaliert werden kann.

Terracotta DB unterstützt alle möglichen Datenformate, wie strukturierte, semistrukturierte, unstrukturierte und polymorphe Daten. Das System bietet verschiedene APIs, die sich per Java ansprechen lassen. Als besonderes Feature verweist man bei der Software AG auf die geringe Latenz-Zeit, die unabhängig von der Datenbankgröße ist und sich genau vorhersagen lässt.

BigMemory in drei Versionen

Eine der beiden Haupttechnologien von Terracotta DB ist das Datenmanagementsystem BigMemory. Es ist praktisch das Kernmodul der Terracotta In-Memory-Technologie. BigMemory erlaubt die unbegrenzte Nutzung des Hauptspeichers eines Servers – und mit BigMemory Max lässt sich sogar der Hauptspeicher über mehrere Server hinweg zu einem einzigen In-Memory Storage Array verbinden.

Damit stehen für die In-Memory-Datenverwaltung drei Geschwindigkeitskategorien zur Verfügung: Erstens, direkter Zugriff auf die Java-Heaps im Bereich von Mikrosekunden. Zweitens, alle Daten innerhalb der Verwaltung von BigMemory, die ebenfalls im Hauptspeicher des Servers abgelegt sind und auch in Mikrosekunden abrufbar sind. Und drittens, die Daten, die im Hauptspeicher eines angeschlossenen Servers abgelegt sind. Hier erfolgt der Zugriff im Bereich von Millisekunden. Eine Ebene darunter befinden sich externe Datenquellen, zum Beispiel relationale Datenbankmanagementsysteme, Apache Hadoop oder Data-Warehouse-Plattformen.

BigMemory Go

BigMemory Go ist das zentrale Steuerungsmodul für die In-Memory-Speicherverwaltung. Hiermit wird der gesamte verfügbare Hauptspeicher eines Servers gemanagt – egal wie groß er ist. Da die Server mit immer mehr RAM ausgestattet werden, bedeutet das, dass für viele Anwendungen alle erforderlichen Daten direkt In-Memory bereitstehen können – also eine All-In-Memory Lösung möglich ist.

Für eine solche Nutzung sind keinerlei Änderungen an den bestehenden Java-Anwendungen erforderlich, denn zu BigMemory Go gehören de facto auch alle Java APIs die GET- und PUT-Anweisungen auf das eigene In-Memory-Management umlenken. Damit entfallen alle Java-Datenmanagementbeschränkungen und die Anwendungen können sofort den gesamten Hauptspeicher für sich nutzen. Hinzu kommen bei BigMemory Go administrative Tools, wie automatisches Disk Backup, Datenkompression, Verschlüsselung, Suchfunktionen und Restart-Features.

BigMemory Max

BigMemory Max ist die Erweiterung von BigMemory Go in der Form, dass hierbei ein Storage-Array aus allen RAM-Bereichen von mehreren Servern entsteht. Das heißt, jeder einzelnen Java-Anwendungen auf einem der angeschlossenen Server steht praktisch die Summe aller freien RAM-Bereiche zur Verfügung.

Diese Option hat allerdings ihren Preis. In diesem Fall muss man mit längeren Zugriffszeiten rechnen, da der Zugriff auf die RAM-Bereiche außerhalb des eigenen Servers über ein Netzwerk läuft und somit langsamer ist, als der direkte Zugriff auf den eigenen Speicher.

BigMemory Max verfügt über eine Reihe an Administrationsunterstützungen. So spiegelt jeder Server in dem Array seine Daten in Echtzeit und gleichzeitig erfolgt ein Load Balancing, bei dem die Daten so aufgeteilt werden, dass die Zugriffe über das Netzwerk ein absolutes Minimum darstellen.

„Anders als herkömmliche NoSQL-In-Memory-Datenbanken lässt sich Terracotta DB linear skalieren.“
Wolfram JostSoftware AG

Über eine breite Palette an APIs kann BigMemory Max auch aus anderen Anwendungen heraus direkt aufgerufen werden – wenn auch nicht ganz so einfach und schnell.

APIs: Ehcache und TCStore

Terracotta DB bietet zwei weitere APIs an: Ehcache API und TCStore API. Hinter der Ehcache API verbirgt sich ein Cache-Managementsystem, dass die darin enthalten Daten auch von außerhalb abrufbar macht – und zwar ausschließlich in der Form Key/Value. Der Datenaustausch mit externen Speichermedien erfolgt anhand von aufwendigen Algorithmen. Der physische Speicher von Ehcache kann mehrere Terabytes umfassen, die sich über hunderte Nodes verteilen. Damit können selbst bei sehr großen Datenbanken viele Daten direkt im Cache gehalten werden.

Die TCStore API ist eine Schnittstelle für verteilte In-Memory-Daten und -Verarbeitung. Im Gegensatz zu Ehcache legt hier der Anwender fest, welche Daten permanent In-Memory gehalten werden müssen. TCStore ist ein System of Record (SOR) mit integrierter In-Memory- und erweiterter Storage-Tier-Technologie.

Verschiedene Anwendungsbereiche

Terracotta DB unterstützt vor allem die Verarbeitung großer Datenmengen. Außerdem eignet sie sich gut für massiv-parallele Verarbeitung von transaktionellen (OLTP) und analytischen (OLAP) Workloads.

Interne Benchmarks haben ergeben, dass die Performance von Terracotta DB um bis zu 300 Prozent höher ist als bei der früheren Version von Ehcache. Vor allem die Skalierbarkeit sticht laut Software AG hervor: „Anders als herkömmliche NoSQL-In-Memory-Datenbanken lässt sich Terracotta DB linear skalieren“, sagte Wolfram Jost, CTO der Software AG, anlässlich der Produktankündigung.

Terracotta DB ist eine weltweit verbreitete Datenbank. Laut Software AG basiert dieses System auf den Erfahrungen von zwei Millionen Implementierungen in 190 Ländern und bei 70 Prozent der 1.000 größten Unternehmen.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Teradata Intelligent Memory: In-Memory-Analysen in 4D.

SAP HANA: In-Memory-Technologie für mehr Unabhängigkeit.

GridGain Cloud ist der einzige In-Memory Cache as a Service.

Erfahren Sie mehr über Datenbanken