Das performante Handling von Produktdaten ist in vielen E-Commerce-Projekten ein zentrales Erfolgskriterium. Die Daten müssen sauber, korrekt und eindeutig identifizierbar sein. Ein gutes Beispiel, welche Herausforderung das sein kann, sind Fahrzeug-Ersatzteile. Hier geht es nicht nur darum ein großes Artikelvolumen zu verwalten, sondern die einzelnen Artikel auch den jeweiligen Fahrzeugen korrekt zuzuordnen
Big Data kommt im E-Commerce an
In einem Onlineshop stellt sich das folgendermaßen dar: Sie suchen für einen VW Golf IV Variant eine Lichtmaschine. Für die Modelle dieser Baureihe werden mehr als hundert Lichtmaschinen angeboten – diese Artikel müssen also in der Datenbank für den VW Golf IV Variant markiert sein, damit Sie sie finden können. Aber nicht alle Lichtmaschinen passen zu jeder Modellvariante. Für die 28 unterschiedlich motorisierten Typen eines VW GOLF IV Variant passen etwa immer nur 45 auf den jeweiligen Typ. Das heißt, wir müssen auch die zahlreichen Abhängigkeiten in der Datenbank abbilden können und für eine performante Bereitstellung über die Suche sorgen. Aus den Hunderten unterschiedlichen Marken und Hunderttausenden Artikeln (eigentlich sind es im internationalen Markt mehrere Millionen, aber niemand bietet alle Artikel aller Hersteller an – ansonsten wäre bei der Sortimentspolitik etwas falsch gelaufen) ergeben sich so Millionen von Kombinationsmöglichkeiten, die als Datenbankobjekte mit entsprechenden Abhängigkeiten hinterlegt und bei Bedarf abrufbar sein müssen.
Grenzen relationaler Datenbanken in Magento
Eine herkömmliche relationale Datenbank, wie etwa auch die Open-Source-Datenbank MySQL, die in Magento-Shopsystemen eingesetzt wird, würde für jede Abfrage mehrere Sekunden bis Minuten benötigen, da sie ihre Einträge Spalte für Spalte und Zeile für Zeile durchgehen muss. Außerdem müssen die Beziehungen zwischen den Einträgen wiederum durch Relationstabellen dargestellt werden, wodurch die Struktur immer komplexer wird.
MongoDB für komplexe Produkte
Um umfangreiche und komplexe Daten schnell lesen und bearbeiten zu können, sind klassische Datenbanken also eher ungeeignet. Wir haben das Problem mithilfe einer nichtrelationalen Datenbankstruktur gelöst. Die NoSQL Datenbank MongoDB speichert Datensätze nicht in einem klassischen relationalen Tabellenschema, sondern arbeitet dokumentenbasiert. Durch die Verwendung von intelligenten Indexoperationen lassen sich Daten stets schnell auffinden. Das klingt etwas sperrig, heißt aber letztlich nur, dass man die Produktdaten strukturieren kann, wie man möchte.
Performancesteigerung mit Magento Enterprise Modul
Für zusätzliche Performance sorgen wir mit dem Einsatz dedizierter MongoDB-Server sowie einem eigenentwickelten Magento Enterprise Modul für die leistungsfähige Anbindung der Datenbank an ein Magento-E-Commerce-Shopsystem. Das Modul sorgt nicht nur dafür, dass Magento problemlos auf MongoDB zugreifen kann, sondern auch, dass die von den Herstellern vorgesehenen Artikel-Zuordnungen klar dargestellt werden können. Damit lassen sich Big Data und Magento vereinen.