Die Entwicklung von Hadoop wurde ursprünglich durch Unternehmen wie Google® und Yahoo!® getragen, um Big Data in älteren RDBMS oder Data Warehouses verarbeiten zu können. Bisher gibt es allerdings nur wenige Hadoop basierte Anwendungen in Produktionsumgebungen. Viele heutige Hadoop Vorhaben sind daher Pilotprojekte.
Das Dateisystem von Hadoop unterstützt eine Vielzahl von Datentypen und eignet sich somit hervorragend für Big Data-Projekte. Die Lösung ist jedoch kein Allheilmittel für Unternehmen, die nach einer Datenorientierung streben. Manchmal bringt Hadoop zusätzliche Herausforderungen mit sich. Daher fällt es vielen schwer, ohne Hilfe von IT-Mitarbeitern und ohne erheblichen Zeit- und Kostenaufwand das volle Potenzial von Hadoop auszuschöpfen.
Bisher haben Anbieter Hadoop als Datenquelle positioniert, die in ein relationales Datenbank-Management-System oder ein Data Warehouse einfließt. Dabei ist die Lösung mit Hilfe einer NoSQl-Datenbank sehr viel einfacher beispielsweise mit der NoSQL-Datenbankplattform MarkLogic mit Enterprise-Funktionen.
MarkLogic ist die einzige NoSQL-Datenbank, die Enterprise Ansprüche erfüllt, wie z. B. ACID Transaktionen, Hochverfügbarkeit, tiered Storage und einiges mehr. Diese Datenbank der neuen Generation basiert auf einem flexiblen Datenmodell. Sie kann alle heutigen Daten (strukturierte und unstrukturierte) speichern, verwalten und durchsuchen, ohne Abstriche bei der Ausfallsicherheit oder Konsistenz zu machen. Dank dieser Merkmale eignet sich MarkLogic ideal für die einfache und schnelle Integration heterogener Daten.
Optimierung von Hadoop durch den Einsatz von MarkLogic
MarkLogic kann mit jeder Hadoop Distribution verwendet werden und ermöglicht es Administratoren, die vorhandene Infrastruktur zu nutzen. Die MarkLogic Enterprise NoSQL-Plattform ist nicht von Hadoop abhängig, sondern ergänzt diese in einem Big Data-Ökosystem. MarkLogic arbeitet mit den beiden Kernelementen von Hadoop: Hadoop Distributed File System (HDFS) und MapReduce. Dies sind die ausgereiftesten Komponenten des Ökosystems und bilden die Grundlagen für alle anderen Bestandteile.
HDFS bietet Speicher für Daten, die für herkömmliche Datenbanken oder Data Warehouses zu groß oder zu unvorhersehbar sind. HDFS ist zwar nicht für Echtzeitzugriffe auf Daten konzipiert, für die Indexe und interaktive Abfragefunktionen erforderlich sind, stellt aber eine kostengünstige Möglichkeit zum Speichern von Daten dar, die anderenfalls gelöscht oder auf Band archiviert werden müssten.
MapReduce führt verteilte Berechnungen auf Grundlage der in HDFS gespeicherten Daten aus und eignet sich für die Batch-Verarbeitung, bei der die Analyse oder Anreicherung von riesigen Mengen von Datensätzen erforderlich ist. Doch was tun, wenn Benutzer schnellen Zugriff auf bestimmte Daten fordern oder wenn granulare Aktualisierungen der Daten in Echtzeit nötig sind? Wenn es um umgehende Analysen und Benachrichtigungen zu Betrugserkennung, Notfallmanagement, Risikominimierung oder -beurteilung geht, können sie es sich nicht leisten, auf den Abschluss eines MapReduce-Vorgangs zu warten.
Bewältigung komplexer Herausforderungen im Datenbereich
Hadoop erfüllt drei Hauptaufgaben:
- Verarbeitung: kostengünstig, jedes beliebige Datenformat
- Speicherung: Aufbewahrung der Rohdaten für die Analyse ohne Verlust des ursprünglichen Kontexts
- Analytik: umfassende Analysen auf Grundlage von Roh- oder aufbereiteten Daten
Doch Hadoop allein ist nicht in der Lage, Echtzeitanwendungen bereitzustellen oder die in modernen Unternehmen erforderliche Data Governance zu gewährleisten.
MarkLogic optimiert Hadoop dank der Leistungsfähigkeit von Enterprise NoSQL. Das Produkt ist eine bewährte Datenbanktechnologie, die Unternehmen die Vorteile von NoSQL bietet.
MarkLogic wurde 2001 auf den Markt gebracht, um Organisationen das format- und strukturunabhängige Speichern, Verwalten, Abfragen und Durchsuchen von Daten zu ermöglichen.
Die Plattform bietet die folgenden NoSQL-Eigenschaften:
- flexibel, mit einem Schema-agnostischen, dokumentenzentrierten Datenmodell (JSON, XML, Text, Binärdateien, RDF-Tripel)
- schnell, in C++ implementiert, für moderne E/A-Systeme optimiert
- skalierbar, mit einer verteilten Shared-Nothing-Architektur und nicht blockierenden Lesevorgängen
Darüber hinaus bietet MarkLogic Hochverfügbarkeit, Transaktionskonsistenz, automatisches Failover und Replikation. Als Enterprise NoSQL-Datenbank-Plattform wurde MarkLogic speziell für die Unterstützung von unternehmensweit eingesetzten Anwendungen konzipiert und verfügt über die folgenden Funktionen:
- ACID-Transaktionen (atomic, consistent, isolated, durable; atomar, konsistent, isoliert, dauerhaft) wie bei relationalen DBMS
- höchste Sicherheitsanforderungen wie granulare Berechtigungen, rollenbasierte Sicherheit, Sicherheit auf Dokumentenebene, Berechtigungen auf Dokumentenebene und HTTPS-Zugriff
- Echtzeit-Indexierung, Volltextsuche, Geodaten-Suche, semantische Suche und Benachrichtigung
- bewährte Zuverlässigkeit und Verfügbarkeit, über 500 implementierte betriebskritische Projekte bei Regierungsbehörden und in Unternehmen aus den Bereichen Medien, Finanzdienstleistung, Energie usw.
Echtzeitanwendungen MarkLogic für Hadoop bestens geeignet
HDFS ist zwar ein kostengünstiges Dateisystem, verfügt jedoch über keine Indexe. Das bedeutet, dass jeder Datensatz in einer großen Datei durchsucht werden muss, um einen bestimmten Datensatz zu finden. Bei großen Analyseprojekten, bei denen jeder Datensatz gelesen wird, ist dies möglicherweise akzeptabel. Doch Abfragen mit geringer Latenz und granulare Aktualisierungen, wie sie beispielsweise für Echtzeit-Workloads und Echtzeit-Endnutzer-Anwendungen erforderlich sind, lassen sich damit nicht realisieren. Hierfür benötigt man eben eine Datenbank. Hadoop alleine ist für diese Art von Workload schlicht und einfach nicht geeignet.