Zuhause Persönliche Finanzen Hochgeschwindigkeitsschlüsselzugriff mit NoSQL - Dummys

Hochgeschwindigkeitsschlüsselzugriff mit NoSQL - Dummys

Inhaltsverzeichnis:

Anonim

Schlüsselwertspeicher in NoSQL sind alle über Geschwindigkeit. Sie können verschiedene Techniken verwenden, um diese Geschwindigkeit zu maximieren, vom Zwischenspeichern von Daten über das Speichern mehrerer Kopien von Daten bis hin zur Verwendung der am besten geeigneten Speicherstrukturen.

Zwischenspeichern von Daten im Speicher

Da auf Daten im Direktzugriffsspeicher (RAM) leicht zugegriffen werden kann, kann die Auswahl eines Schlüsselwertspeichers, der Daten im RAM zwischenspeichert, den Zugriff auf Daten erheblich beschleunigen, wenn auch zum Preis. höhere Serverkosten.

Oft ist dieser Kompromiss wert. Sie können leicht berechnen, welcher Prozentsatz Ihrer gespeicherten Daten häufig angefordert wird. Wenn Sie wissen, dass im Allgemeinen alle fünf Minuten fünf Prozent angefordert werden, nehmen Sie fünf Prozent Ihrer Datengröße und fügen Sie diese Zahl als freien RAM-Speicher auf Ihren Datenbankservern hinzu.

Beachten Sie, dass das Betriebssystem, andere Anwendungen und der Datenbankserver ebenfalls Speicheranforderungen haben.

Replizieren von Daten auf Slaves

In Schlüsselwertspeichern wird ein bestimmter Schlüssel auf einem der Server im Cluster gespeichert. Dieser Prozess wird als Schlüsselpartitionierung bezeichnet. Dies bedeutet, dass, wenn dieser Schlüssel ständig angefordert wird, dieser Knoten die meisten Anfragen erhält. Dieser Knoten ist daher langsamer als Ihre durchschnittliche Anforderungsgeschwindigkeit und beeinträchtigt möglicherweise die Servicequalität für Ihre Benutzer.

Um dies zu vermeiden, unterstützen einige Schlüsselwertspeicher das Hinzufügen von schreibgeschützten Replikaten, die auch als Slaves bezeichnet werden. Redis, Riak und Aerospike sind gute Beispiele. Durch die Replikation kann der Schlüssel mehrfach auf mehreren Servern gespeichert werden, wodurch die Antwortgeschwindigkeit erhöht wird, jedoch auf Kosten von mehr Hardware.

Einige Schlüsselwertspeicher garantieren, dass die Repliken des Schlüssels immer denselben Wert haben wie der Master. Diese Garantie wird als vollständig konsistent bezeichnet. Wenn auf dem Master-Server, der den Schlüssel enthält, eine Aktualisierung stattfindet, sind alle Repliken garantiert auf dem neuesten Stand.

Nicht alle Schlüsselwert-Geschäfte garantieren diesen Status (z. B. Riak). Wenn es also wichtig ist, millisekundenaktuell zu sein, wählen Sie eine Datenbank, deren Repliken vollständig konsistent sind (z. B. Aerospike).

Datenmodellierung in Schlüsselwert-Speichern

Viele Schlüsselwert-Speicher unterstützen nur grundlegende Strukturen für ihre Werttypen, so dass der Anwendungsprogrammierer die Aufgabe hat, die Daten zu interpretieren. Die einfache Datentypunterstützung umfasst normalerweise Zeichenfolgen, Ganzzahlen, JSON und Binärwerte.

Für viele Anwendungsfälle funktioniert dies gut, aber manchmal ist ein etwas differenzierterer Zugriff auf Daten nützlich.Redis unterstützt zum Beispiel die folgenden Datenwerttypen:

  • String

  • Liste

  • Set

  • Sortiertes Set

  • Hash-Maps

  • Bit-Arrays

  • Hyperlog-Logs

Sortierte Sets können Sie werden nach übereinstimmenden Wertebereichen gefragt - ähnlich wie bei der Abfrage eines Wertindexes, der nach Datum sortiert ist, was sehr nützlich ist, um nach einer Teilmenge von typisierten Daten zu suchen.

Betrieb auf Daten

Redis enthält Operationen, um Schlüsselwerte direkt zu inkrementieren und zu dekrementieren, ohne eine Reihe von Schritten zum Lesen, Modifizieren und Aktualisieren (RMU) ausführen zu müssen. Sie können dies innerhalb einer einzigen Transaktion tun, um sicherzustellen, dass keine andere Anwendung den Wert während einer Aktualisierung ändert. Diese datentypspezifischen Operationen umfassen das Hinzufügen und Entfernen von Elementen zu Listen und Sets.

Sie können sogar die Funktion zur automatischen Vervollständigung in der Benutzeroberfläche einer Anwendung bereitstellen, indem Sie den Befehl Redis ZRANGEBYLEX verwenden. Dieser Befehl ruft einen Schlüsselsatz ab, der teilweise mit einer Zeichenfolge übereinstimmt. Wenn Sie also "NoSQL for" in der Suchleiste einer Anwendung eingeben, die auf Redis basiert, würden Sie den Vorschlag "NoSQL for Dummies" sehen. "

Evaluierung von Redis

Redis ist stolz darauf, ein sehr leichter, aber extrem schneller Schlüsselwert-Speicher zu sein. Ursprünglich wurde es als In-Memory-Key-Value-Store konzipiert, verfügt aber jetzt über datenträgerbasierte Datenspeicherung.

Sie können Redis zum Schutz von Daten verwenden, indem Sie den AOF-Modus (Append only file) aktivieren und Redis anweisen, Daten bei jeder Abfrage auf die Festplatte zu zwingen (bekannt als fsync flushing ). AOF verlangsamt natürlich die Schreibvorgänge, bietet jedoch eine höhere Haltbarkeit für Daten. Beachten Sie jedoch, dass Sie noch bis zu einer Sekunde Befehle verlieren können.

Außerdem hat Redis erst kürzlich Unterstützung für das Clustering hinzugefügt. In der Tat, zum Zeitpunkt dieses Schreibens, ist Redis Clustering-Unterstützung in der Beta-Testphase. Glücklicherweise verwendet Redis ein Shared-Nothing-Clustermodell mit Mastern für bestimmte Schlüssel und Slaves, die niemals direkt von einem Client geschrieben werden. nur der Meister tut es. Die Bereitstellung von Shared-Nothing-Clustern sollte es Redis erleichtern, zuverlässiges Clustering zu implementieren, als für Datenbanken, die Schreibvorgänge für alle Replikate ermöglichen.

Wenn Sie eine Caching-Schicht mit sehr hoher Geschwindigkeit im Arbeitsspeicher vor einer anderen Datenbank verwenden möchten - normalerweise werden MongoDB oder Riak zusammen mit Redis verwendet -, dann bewerten Sie Redis als Option. Da sich die Unterstützung für Clustering und die Datenhaltbarkeit weiterentwickelt, kann Redis möglicherweise andere Backend-Datenbanken überholen.

Hochgeschwindigkeitsschlüsselzugriff mit NoSQL - Dummys

Die Wahl des Herausgebers

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Eine der besten Möglichkeiten, um Zusätzliche Meilenzahl von Ihren Sozialmedieninhalt ist, sie umzupacken und sie auf verschiedenen Kanälen freizugeben. Wenn Sie einen Blogbeitrag haben und den Beitrag direkt über Social Sharing bewerben, können Sie diesen Blogpost in eine herunterladbare PDF-Datei umwandeln. Wenn die ...

Social-Media-Optimierung: SMART Marketing - Dummies

Social-Media-Optimierung: SMART Marketing - Dummies

Wenn Sie Ihre Social Media-Ziele definiert haben, haben Sie Ihr Ziel identifiziert Zielgruppe und fand heraus, wo sie auf Social-Media-Kanälen zu finden sind, nutzte die Daten aus Analyse-Programmen, um die optimale Zeit zu bestimmen, um in sozialen Medien aktiv zu sein, und eine umfassende Social-Media-Verhaltenspolitik setzen Sie sind bereit, zu bewegen ...

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Wenn Sie möchten Um mit Ihrer Social-Media-Optimierungsstrategie wirklich erfolgreich zu sein, müssen Sie etwas über semantisches Markup wissen. Einfach gesagt ist semantisches Markup ein standardisierter Weg, um Code zu schreiben, der eine Webseite für dumme Maschinen wie Suchmaschinen leicht verständlich macht. Es ist eine Möglichkeit, den Inhalt einer Webseite mit Anmerkungen zu versehen ...

Die Wahl des Herausgebers

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Haben Sie keine Angst, etwas Neues zu lernen. Dies kann bedeuten, dass Sie Artikel über Ihre Branche, die Marke und das Online-Community-Management lesen. Dies kann bedeuten, dass Sie nach Bildung suchen, die es Ihnen ermöglicht, Ihre Community besser zu betreiben. Es schadet nie, grundlegendes Web- oder Blog-Design zu kennen und auf dem neuesten Stand der Technik zu bleiben. Außerdem ...

Online-Community-Manager sollten mit Beispiel führen - Dummies

Online-Community-Manager sollten mit Beispiel führen - Dummies

Ihre Community orientiert sich an Ihnen. Wenn du schwörst und nistest, werden die Mitglieder wissen, dass dieses Verhalten in Ordnung ist. Wenn Sie aber jeden Morgen fröhlich grüßen, folgen sie Ihrem Beispiel. Sogar Leute, die von Drama und Negativität angezogen werden, werden sich entweder an der guten Miene beteiligen, oder sie werden so müde ...

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Ob es sich um Ihre Online-Community handelt oder nicht müssen Sie sich der Marktentwicklung bewusst sein. Was kaufen Leute? Wie kommunizieren sie online? Geben sie mehr oder weniger Geld aus? Welche Lebensmittel, Gadgets oder Moden sind rein oder raus? Um auf dem neuesten Stand der Trends zu bleiben, sollten Sie wissen, was und was so ist.

Die Wahl des Herausgebers

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Ausblick 2007 eine neue Funktion namens To-Do-Leiste, die alle Dinge, die Sie tun müssen, zusammenfasst und sie in einem Bereich auf der rechten Seite des Outlook-Bildschirms anzeigt. Das Ziel der To-Do-Leiste ist es, Ihnen mitzuteilen, was Sie auf einen Blick tun müssen, anstatt ...

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

In Outlook 2013 befolgen alle Regeln dass andere Windows-Boxen folgen, also wenn Sie ein alter Hase beim Verschieben und Ändern der Größe von Boxen in Windows sind, werden Sie in Ordnung sein. Wenn Sie mit Windows und Dialogfeldern noch nicht vertraut sind, machen Sie sich keine Sorgen - Notizen lassen sich genauso einfach in der Größe ändern wie zum Schreiben und Lesen. Ändern ...

Kennenlernen von Ansichten in Outlook 2007 - Dummys

Kennenlernen von Ansichten in Outlook 2007 - Dummys

In Outlook 2007 verfügt jedes Outlook-Modul über eine eigene Auswahl von Ansichten. Jede Art von Ansicht ist so organisiert, dass ein bestimmtes Merkmal Ihrer Informationen auf den ersten Blick sichtbar wird. Sie können die Art ändern, wie Sie eine Ansicht anzeigen, indem Sie sie sortieren, filtern oder gruppieren. Sie können mit Ansichten nicht falsch gehen, weil Sie ...