Suchen

Big Data und Magento Performante Produktsuche bei Millionen Kombinationsmöglichkeiten

| Autor / Redakteur: Ralf Lieser / Nico Litzel

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.

Firmen zum Thema

Der Autor: Ralf Lieser ist Leiter Quality Assurance bei Netz98 New Media
Der Autor: Ralf Lieser ist Leiter Quality Assurance bei Netz98 New Media
(Bild: Netz98 New Media )

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 Golf-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 Golf-IV-Variant passen etwa immer nur 45 auf den jeweiligen Typ. Das heißt, es müssen auch die zahlreichen Abhängigkeiten in der Datenbank abgebildet und zudem für eine performante Bereitstellung über die Suche gesorgt werden. Aus den Hunderten unterschiedlichen Marken und Hunderttausenden Artikeln (eigentlich sind es im internationalen Markt mehrere Millionen, aber niemand bietet alle Artikel aller Hersteller an) ergeben sich so Millionen von Kombinationsmöglichkeiten, die als Datenbankobjekte mit entsprechenden Abhängigkeiten hinterlegt und bei Bedarf abrufbar sein müssen.

Grenzen herkömmlicher 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 sorgt der Einsatz dedizierter MongoDB-Server sowie ein eigens dafür entwickeltes 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. Vergleichbare Szenarien sind gerade für B2B-Shops von großer Bedeutung, denn häufig trifft man auf sehr individuelle, komplexe Produktdaten und deren Kombinationen.

Artikelfiles und Artikellinks

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 43485922)