9 Punkte von yunyun0505 2023-07-14 | 2 Kommentare | Auf WhatsApp teilen

Ein Fallbeispiel, wie ein Suchservice mit passendem, nicht übertriebenem Engineering verbessert wurde.

Problemerkennung

  • Sich verlangsamender Suchservice
  • Erkennen von Komplexitätsproblemen durch die Verwendung von Joins und regulären Ausdrücken für die Suche

Strategie zur Problemlösung

  • Elasticsearch wurde anfangs in Betracht gezogen
  • Es gab jedoch Kostenprobleme, da Echtzeitfähigkeit mit der Main DB sowie große Mengen dauerhaft zu speichernder Daten berücksichtigt werden mussten
  • Aufbau einer vereinfachten, suchspezifischen Tabelle und Konstruktion der Suchabfragen
  • Einsatz von MySQL-Triggern zur Datenbefüllung

Ergebnisse

  • Eine Abfrage, die 3 Minuten dauerte, wurde auf 2 Sekunden verbessert
  • Mit nicht übertriebenem Engineering in kurzer Zeit Kundennutzen geliefert

2 Kommentare

 
neidn 2023-07-20

Beim Aufbau großer Websites mit viel Traffic wurde hier die Methode angewendet, für dieselben Daten mehrere Tabellen anzulegen und sie nach ihrem Verwendungszweck zu trennen.
Man teilt sie zum Beispiel in eine Kunden- und eine Admin-Version auf, und hier ist das ein gutes Beispiel dafür, den Zweck speziell für die Suche festzulegen und erfolgreich umzusetzen.

 
cosine20 2023-07-19

Ich kenne mich im DB-Bereich nicht besonders gut aus, deshalb finde ich es immer erstaunlich und spannend, solche informativen Artikel zu lesen.