NoSQL, Lucene und Solr

Neulich fragte mich Michael Coté, welchen Platz Apache Lucene und Solr in der NoSQL-Bewegung einnehmen (nachdem er von der Verwendung…

Neulich fragte mich Michael Coté, welchen Platz Apache Lucene und Solr in der NoSQL-Bewegung einnehmen (nachdem er von der Verwendung von Solr durch den Guardian gehört hatte), worauf ich ihm antwortete: Ich habe SQL nicht mehr in nennenswertem Umfang verwendet, seit ich 2004 mit Lucene angefangen habe (und ich habe meine Karriere damals mit Oracle DBA-Arbeiten usw. begonnen). Wir hatten „damals“ einfach keinen lustigen Namen dafür.

Spaß beiseite und auf die Gefahr hin, auf den Buzzword-Zug aufzuspringen, lassen Sie uns einen Blick auf die Definition von NoSQL bei Wikipedia werfen:

NoSQL (Not only SQL) ist eine Bewegung, die eine lose definierte Klasse von nicht-relationalen Datenspeichern fördert, die mit der langen Geschichte der relationalen Datenbanken brechen. Diese Datenspeicher benötigen keine festen Tabellenschemata, vermeiden normalerweise Join-Operationen und skalieren in der Regel horizontal.

Wenden wir diese Definition nun auf Lucene an (zu Solr kommen wir gleich noch):

  1. NoSQL – Überprüfen. Ironischerweise haben viele Leute auch SQL auf Lucene aufgesetzt. Ich denke, wir sollten uns auch für die Aufnahme in die No-NoSQL-Bewegung (wie Coté vorschlägt) einsetzen!
  2. Eine lose definierte Klasse von nicht-relationalen Datenspeichern, die mit der langen Geschichte der relationalen Datenbanken brechen: Prüfen. Und wieder einmal deckt Lucene ironischerweise beide Seiten des Ganges ab.
  3. Keine festen Schemata: Kennen Sie schon, haben Sie schon gemacht und das T-Shirt gekauft. Noch einmal: Lucene unterstützt auch feste Schemata.
  4. Vermeiden Sie Fugen: Prüfen. Denormalisierung macht Ihren Kopf frei. (zumindest in vielen Fällen). Mit etwas Arbeit können Sie Joins in Lucene durchführen.
  5. Horizontal skalieren: Ja und nein. Seien wir ehrlich, Lucene skaliert recht gut, aber Sie müssen schon ein wenig Arbeit investieren, um das zu erreichen. Treten Sie ein in Solr.

Da es sich bei Solr um „Lucene Best Practices“ handelt, die in einem einfach zu bedienenden Server verpackt sind, deckt es die Punkte 1-4 problemlos ab. Außerdem ist er horizontal skalierbar, sowohl was die Datengröße als auch das Abfragevolumen betrifft. Und mit der kürzlich erfolgten Ergänzung von Solr (auch bekannt als Solr Cloud) durch Apache ZooKeeper war die Skalierung noch nie so einfach. Am Ende des Tages erhalten Sie alle Vorteile von NoSQL (unter einem letztendlich konsistenten Modell) plus integrierte Funktionen wie Freitextsuche, Facettierung, Rechtschreibprüfung, Suche nach ähnlichen Objekten, Hervorhebung von Treffern und eine ganze Reihe anderer Funktionen, die sich in Tausenden von Installationen auf der ganzen Welt bewährt haben.

NoSQL sah noch nie so gut aus.

You Might Also Like

KI-Agenten dominieren den Einkauf. Ist Ihre Website auf die KI-gestützte Suche vorbereitet?

Generative KI-Agenten wie ChatGPT definieren die Produktsuche neu. Erfahren Sie, wie Sie...

Read More

Vom Suchunternehmen zum praktischen KI-Pionier: Unsere Vision für 2025 und darüber hinaus

CEO Mike Sinoway gibt Einblicke in die Zukunft der KI und stellt...

Read More

Wenn KI schief geht: Fehlschläge in der realen Welt und wie man sie vermeidet

Lassen Sie nicht zu, dass Ihr KI-Chatbot einen 50.000 Dollar teuren Tahoe...

Read More

Quick Links