Heim  >  Artikel  >  Datenbank  >  Der Unterschied zwischen Elasticsearch und Redis

Der Unterschied zwischen Elasticsearch und Redis

(*-*)浩
(*-*)浩Original
2019-06-18 09:13:5710858Durchsuche

Der Unterschied zwischen Elasticsearch und Redis

Elasticsearch (ES)

Im Vergleich zu MongoDB und Redis ist ES, das ein Jahr später veröffentlicht wurde, möglicherweise weniger gut -bekannt. Aber der Ruf von ES im Suchmaschinenbereich ist auf jeden Fall überwältigend.

Kursempfehlung →: "Elasticsearch Full Text Search Practical Combat" (Praxisvideo)

Aus dem Kurs " Zehn-Millionen-Ebenen-Datenparallelitätslösung (theoretisch + praktisch)》

Im Vergleich zu anderen High-End-Datenbankprodukten hat ES einen viel älteren Hintergrund.

Der Schöpfer von ES, Shay Banon, war einst ein arbeitsloser Programmierer. Als er nichts zu tun hatte, gründete er ES, um seiner Frau die Suche nach Rezepten zu erleichtern (damals hieß es natürlich noch nicht ES). . Unerwarteterweise wurde durch unbeabsichtigtes Eingreifen die heute beliebteste Suchmaschinendatenbank erstellt. Es stellt sich heraus, dass Mädchen die größte Motivation für die Arbeit von Programmierern sind!

ES hat auch ein eigenes Elastic-Unternehmen gegründet und Hunderte Millionen Dollar an Finanzmitteln erhalten. Shay Banon, der damalige Verlierer-Programmierer, hat bereits den Gegenangriff zum CEO unternommen und den Höhepunkt seines Lebens erreicht. Programmierer, nachdem Sie diese Geschichte gelesen haben, haben Sie sich schon einmal den Tag vorgestellt, an dem Sie CEO werden und Bai Fumei heiraten?

Die Funktion von ES ist, wie der Name schon sagt, die Suche. Streng genommen ist ES keine Datenbank, sondern eine Suchmaschine, und alle Aspekte von ES sind auf die Suche ausgerichtet.

ES unterstützt die Volltextsuche. Hier finden Sie eine kurze Erklärung, was Volltextsuche ist: Für Daten wie „Ich arbeite für ein Internetunternehmen in Peking“, wenn Sie nach „Peking“ suchen „, „Internet“, „Wenn Schlüsselwörter wie „Arbeit“ auf diese Daten treffen können, handelt es sich um eine Volltextsuche bei Baidu und bei Google, die Sie täglich verwenden.

Es ist erwähnenswert, dass die Volltextsuche von ES auch Chinesisch gut unterstützt (es gibt allein viele chinesische Wortsegmentierer), was definitiv die Volltextsuchbedürfnisse der meisten Menschen in China erfüllen kann.

Zusätzlich zur Suche indiziert ES automatisch alle Felder, damit Sie komplexe Aggregationsabfragen mit hoher Leistung durchführen können. Daher gilt, dass die Daten unabhängig von der Komplexität der Aggregationsabfrage in ES gespeichert sind Sie können eine gute Leistung erzielen und müssen sich keine Gedanken mehr darüber machen, wie Sie verschiedene komplexe Indizes erstellen.

Redis

Redis ist derzeit die beliebteste Schlüsselwertdatenbank. Es wurde 2009 gleichzeitig mit MongoDB veröffentlicht und ist ebenfalls ein Datenbank-Meisterwerk in der frühen Big-Data-Ära.

Das größte Merkmal von Redis ist natürlich die Einfachheit und hohe Leistung, die die Schlüsselwertspeicherung mit sich bringt. (Empfohlenes Lernen: Redis-Video-Tutorial)

Die sogenannte Schlüsselwertspeicherung bedeutet, dass jeder Datensatz nur einen Schlüssel zum Abfragen von Daten und den entsprechenden Wert zum Speichern von Daten enthält Wie Hausnummern und Einwohner im wirklichen Leben gibt es keine komplexen Konzepte wie Tabellen und Felder, die in herkömmlichen Datenbanken erforderlich sind. Alle Abfragen basieren nur auf Schlüsselwerten.

Daher kann man sagen, dass die Schlüsselwertdatenbank die einfachste Datenstruktur in der Datenbank ist. Sie profitiert auch von dieser einfachen Struktur, außerdem lädt Redis alle Daten in den Speicher, Redis kann die Lese- und Schreibleistung verbessern ist viel höher als bei herkömmlichen Datenbanken wie MongoDB.

Natürlich ist die Funktion von Redis nicht nur so einfach wie die Schlüsselwertspeicherung. Im Vergleich zu seinem Schlüsselwert-Vorgänger Memcached unterstützt Redis auch Datenpersistenz, Listen-, Satz- und andere Datenstrukturen sowie Master-Slave Replikation und Sicherung sowie eine Reihe von Funktionen, sodass Redis definitiv als das umfassendste und am einfachsten zu verwendende Modell unter den Schlüsselwertdatenbanken angesehen werden kann.

Der Schlüsselwertspeicher von Redis bringt Leistungsvorteile, bringt aber auch viele Einschränkungen bei komplexen Abfragen mit sich. Da wichtige Funktionen wie Datentabellen und -felder entfallen und alle Abfragen auf Schlüsseln basieren, kann Redis keine komplexen Abfragefunktionen wie mehrspaltige Abfragen und Abschnittsabfragen bereitstellen, über die herkömmliche Datenbanken verfügen. Da Redis Daten im Speicher speichern muss, schränkt dies gleichzeitig auch die Datenmenge, die Redis speichern kann, erheblich ein, was auch dazu führt, dass Redis in Anwendungsszenarien mit großem Datenumfang schwierig zu verwenden ist.

Unterschiede

Wenn Sie extrem hohe Anforderungen an das Lesen und Schreiben von Daten haben und Ihre Daten nicht groß sind und nicht lange dauern -Terminspeicher, wählen Sie Redis;

Wenn Sie eine Suchmaschine erstellen müssen oder eine High-End-Datenvisualisierungsplattform erstellen möchten und Ihre Daten einen bestimmten analytischen Wert haben oder Ihr Chef eine wohlhabende Person ist, wählen Sie ElasticSearch;

Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Einführungs-Tutorial zur Verwendung der Redis-Datenbank, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Elasticsearch und Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn