Zuhause Persönliche Finanzen Verwaltung von Daten in NoSQL - Dummies

Verwaltung von Daten in NoSQL - Dummies

Inhaltsverzeichnis:

Video: NoSQL auf Apple Systemen - Andreas Gerlach - Macoun 2012 2024

Video: NoSQL auf Apple Systemen - Andreas Gerlach - Macoun 2012 2024
Anonim

Sobald Sie die Schlüssel entsprechend verwalten, können Sie Daten mit NoSQL speichern und sicherstellen, dass sie sicher und für die Arbeit immer zugänglich sind. du musst es tun.

Datentypen in Schlüsselwert-Speichern

Schlüsselwertspeicher fungieren typischerweise als & ldquo; Eimer & rdquo; für binäre Daten. Einige Datenbanken bieten eine starke interne Datentypisierung und sogar eine Schemabestückung. Andere stellen einfach bequeme Hilfsfunktionen in ihren Client-Treibern bereit, um allgemeine Anwendungsdatenstrukturen zu einem Schlüsselwertspeicher zu serialisieren. Beispiele sind Karten, Listen und sortierte Mengen.

Oracle NoSQL kann in zwei Modi arbeiten:

  • Einfacher Binärspeicher

  • Hochstrukturierte Avro-Schema-Unterstützung

Ein Avro-Schema ähnelt einem relationalen Datenbankschema - wodurch ein sehr strenges Set erzwungen wird von Formatregeln für JSON-Daten, die in der Datenbank gespeichert sind, wie hier dargestellt:

{username: & ldquo; afowler & rdquo;, sessionid: 13452673, seit: 1408318745, Thema: & ldquo; bluesky & rdquo;}

Sie definieren ein Avro-Schema mit einem JSON-Dokument. Dies ist ein Beispiel für das Avro-Schema für die zuvor gezeigten gespeicherten Daten:

{& ldquo; Typ & rdquo;: & ldquo; Rekord & rdquo;, & ldquo; Namensraum & rdquo;: & ldquo; com. Beispiel & rdquo;, & ldquo; Name & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; Felder & rdquo;: [{& ldquo; Name & rdquo;: & ldquo; Benutzername & rdquo;, & ldquo; Typ & rdquo;: [& ldquo; String & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; Name & rdquo;: & ldquo; Sitzungsid & rdquo;, & ldquo; Typ & rdquo;: & ldquo; int & rdquo;}, {& ldquo; Name & rdquo;: & ldquo; seit & rdquo;, & ldquo; Typ & rdquo;: & ldquo; lang & rdquo;, {& ldquo; Name & rdquo;: & ldquo; Thema & rdquo;, & ldquo; Typ & rdquo;: [& ldquo; String & rdquo;, & rdquo; null & rdquo;]}]}

Ein Avro-Schema bietet eine sehr starke Typisierung in der Datenbank, wenn das Schema wichtig ist. Im vorherigen Beispiel sehen Sie Zeichenfolgedaten, eine numerische Sitzungs-ID, ein Datum (Millisekunden seit der Unix-Zeit-Epoche, als eine lange Ganzzahl) und eine Personalisierungseinstellung für das Thema, das auf der Website verwendet werden soll.

Beachten Sie auch, dass der Typ des Benutzernamens und des Themas zwei Optionen hat - string und null. So weisen Sie Oracle NoSQL an, dass Nullwerte zulässig sind. Sie hätten theme als String hinterlassen und einen zusätzlichen Konfigurationsparameter von & ldquo; Standard & rdquo;: & ldquo; bluesky & rdquo;..

Andere NoSQL-Datenbanken stellen sekundäre Indizes für jede beliebige Eigenschaft eines Werts bereit, der JSON-Inhalt hat. Riak zum Beispiel stellt sekundäre Indizes bereit, die auf Dokumentpartitionierung basieren - im Grunde wird eine bekannte Eigenschaft innerhalb eines JSON-Dokuments mit einem Typ indiziert.Dies ermöglicht Bereichsabfragen (kleiner oder größer als) zusätzlich zu einfachen Gleich- und Nicht-Gleich-Vergleichen. Riak schafft es, Bereichsabfragen ohne ein stringentes Schema zu liefern - einfach nur eine einfache Indexdefinition. Wenn die Daten vorhanden sind, werden sie dem Index hinzugefügt.

Replizieren von Daten

Das Speichern mehrerer Kopien derselben Daten in anderen Servern oder sogar in Racks von Servern trägt dazu bei, die Verfügbarkeit von Daten sicherzustellen, wenn ein Server ausfällt. Serverfehler treten hauptsächlich in demselben Cluster auf.

Sie können Repliken auf zwei Arten betreiben:

  • Master-Slave: Alle Lese- und Schreibvorgänge werden vom Master ausgeführt. Slaves übernehmen und empfangen Anfragen nur, wenn der Master ausfällt.

Die Master-Slave-Replikation wird normalerweise bei ACID-kompatiblen Schlüsselwertspeichern verwendet. Um maximale Konsistenz zu gewährleisten, wird in den primären Speicher geschrieben und alle Repliken werden aktualisiert, bevor die Transaktion abgeschlossen ist. Dieser Mechanismus wird als Zweiphasen-Commit bezeichnet und schafft zusätzliche Netzwerk- und Verarbeitungszeit auf den Replikaten.

  • Master-Master: Lese- und Schreibvorgänge können auf allen Knoten stattfinden, die einen Schlüssel verwalten. Es gibt kein Konzept von & ldquo; primäre & rdquo; Partitionsbesitzer.

Master-Master-Replikate sind in der Regel konsistent, wobei der Cluster eine automatische Operation durchführt, um den neuesten Wert für einen Schlüssel zu bestimmen und ältere veraltete Werte zu entfernen.

In den meisten Schlüsselwert-Speichern geschieht dies langsam - zur Lesezeit. Riak ist hier die Ausnahme, weil es einen Anti-Entropie-Dienst hat, der im normalen Betrieb auf Konsistenz prüft.

Versionierungsdaten

Um die automatische Konfliktlösung zu aktivieren, benötigen Sie einen Mechanismus, um die neueste Version der Daten anzugeben. Schließlich konsistente Schlüsselwert-Speicher erreichen Konfliktlösung auf unterschiedliche Weise.

Riak verwendet einen Vektor-Uhr-Mechanismus, um vorherzusagen, welche Kopie die neueste ist. Andere Schlüsselwertspeicher verwenden einfache Zeitstempel, um die Veralten anzuzeigen. Wenn Konflikte nicht automatisch gelöst werden können, werden beide Datenkopien an den Client gesendet. In der folgenden Situation können widersprüchliche Daten an den Client gesendet werden:

  1. Client 1 schreibt in das Replikat A 'Adam: {like: Cheese}'.

  2. Replikat A kopiert Daten in Replikat B.

  3. Client 1 aktualisiert Daten auf Replikat A nach 'Adam: {mag: Käse, hasst: Sonnenlicht}'.

    An diesem Punkt hat Replikat A nicht genügend Zeit, um die neuesten Daten in Replikat B zu kopieren.

  4. Client 2 aktualisiert Daten auf Replikat B zu 'Adam: {mag: Hunde, hasst: Kängurus}'.

    An diesem Punkt stehen Replikat A und Replikat B in Konflikt, und der Datenbankcluster kann die Unterschiede nicht automatisch auflösen.

Ein alternativer Mechanismus besteht darin, Zeitstempel zu verwenden und ihnen zu vertrauen, um die neuesten Daten anzugeben. In einer solchen Situation ist es für die Anwendung vernünftig, zu überprüfen, ob die Zeitstempel den neuesten Wert lesen, bevor der Wert aktualisiert wird.

Sie prüfen auf die Prüfung und stellen Mechanismus, ein, was im Grunde bedeutet 'Wenn die neueste Version immer noch Version 2 ist, dann speichere meine Version 3'.. Dieser Mechanismus wird manchmal als Read Match Update (RMU) oder Read Match Write (RMW) bezeichnet. Dieser Mechanismus ist der Standardmechanismus, der von Oracle NoSQL, Redis, Riak und Voldemort verwendet wird.

Verwaltung von Daten in NoSQL - Dummies

Die Wahl des Herausgebers

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Netzwerkgrundlagen: IPv6-Adresse Vereinfachte Notation - Dummies

Bei der Arbeit mit IPv6-Adressen kann es viel Zeit in Anspruch nehmen. schreibe deine Adressen - immerhin sind sie 128 Bit lang. Um das Leben einfacher zu machen, gibt es einige Regeln, die Sie verwenden können, um diese Schreibweise zu verdichten: Führende Nullen in der Adresse sind optional. Für einen Adressblock wäre also 0A45 gleich A45, ...

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkgrundlagen: IP-Netzwerkklassen - Dummies

Netzwerkadressierungsarchitektur unterteilt den Adressraum für Internet Protocol Version 4 (IPv4 ) in fünf Adressklassen. Jede Klasse, die in den ersten vier Bits der Adresse codiert ist, definiert entweder eine andere Netzwerkgröße, d.h. e. Anzahl der Hosts für Unicast-Adressen (Klassen A, B, C) oder Multicast-Netzwerk (Klasse D). Die fünfte Klasse (E) address ...

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

Netzwerkgrundlagen: Netzwerkport Übersicht - Dummys

In TCP / IP- und UDP-Netzwerken ist ein Port ein Endpunkt eine logische Verbindung. Die Portnummer gibt an, um welchen Port es sich handelt. Port 80 wird beispielsweise für HTTP-Datenverkehr verwendet. Wenn Sie einen Befehl wie netstat -n unter Microsoft Windows oder Linux verwenden, sehen Sie eine Auflistung der lokalen Adressen ...

Die Wahl des Herausgebers

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Excel-Dashboards: Wie Sie Ihr erstes Makro aufzeichnen - Dummies

Wenn Sie ein Anfänger auf dem Dashboard sind Automatisierung in Excel ist es unwahrscheinlich, dass Sie den VBA-Code (Visual Basic für Applikationen) von Hand schreiben können, um Makros zu erstellen. Ohne vollständige Kenntnis des Objektmodells und der Syntax von Excel wäre das Schreiben des benötigten Codes für die meisten Anfänger unmöglich. Hier können Sie ein Makro aufzeichnen ...

Excel-Formelberechnungsmodi - Dummys

Excel-Formelberechnungsmodi - Dummys

Standardmäßig ist Excel so eingestellt, dass es automatisch neu berechnet wird. Wenn Sie eine der Zellen ändern, auf die in einer bestimmten Formel verwiesen wird, berechnet Excel diese Formel automatisch neu, sodass ein korrektes Ergebnis basierend auf den Änderungen in den Zellbezügen zurückgegeben wird. Wenn die Formel, die neu berechnet wird, auch als Zellenreferenz in anderen verwendet wird ...

Excel Formelfehler - Dummies

Excel Formelfehler - Dummies

Es ist nicht immer glatt, wenn Sie mit Excel-Formeln arbeiten. Manchmal gibt eine Formel einen Fehlerwert anstelle des erwarteten Werts zurück. Excel hilft Ihnen, das Problem zu identifizieren, indem Sie einen von sieben Fehlerwerten zurückgeben: # DIV / 0! , # N / A, #NAME? , #NULL! , #NUM! , #REF! und #WERT! , erklärt in der folgenden Liste: # DIV / 0! : ...

Die Wahl des Herausgebers

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

Teilen, Weiterverbreiten und Kommentieren von Google+ Posts - Dummies

, Wenn Sie mit der Verwendung und Veröffentlichung beginnen Bei Google+ möchten Sie gelegentlich Links und Bilder teilen, die Beiträge anderer freigeben, ihre Beiträge kommentieren und andere in Ihren eigenen Google+ Beiträgen erwähnen. Vielleicht fragen Sie sich auch, wie Sie andere dazu bringen, Ihre eigenen Beiträge öfter zu kommentieren. Teilen von Links und Bildern in Google+ So geben Sie ein ...

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Teilen Ihrer Google+ Posts mit bestimmten Personen - Dummies

Beiträge auf Google+ sind ganz einfach und können posten Text, Links, Fotos, Videos und sogar Ihren aktuellen Standort. Der schwierigste Teil des Beitrags auf Google+ besteht darin, auszuwählen, wen Sie Ihren Beitrag sehen möchten. Google+ verwendet Ihre Kreise, um festzulegen, wer Ihre Beiträge sehen kann. Kreise sind etwas einfacher als Listen, weil ...

Taggen von Personen in Google+ Fotos - Dummies

Taggen von Personen in Google+ Fotos - Dummies

Sie können Personen in Ihren Kreisen auf jedem Foto auf Google+ markieren. Wenn Sie eine Person in einem Foto taggen, wird diese Person über ihre Google+ Benachrichtigungen benachrichtigt. Sie können dann das Tag entfernen oder genehmigen, und das Foto wird mit dem Tag des Namens dieser Person darin angezeigt. Um jemanden zu markieren, ...