Microsoft Azure DocumentDB und Azure Table Storage
Seit mehreren letzten Jahren, bietet Microsoft eine "NoSQL" Schlüssel/Wert-Speicher, genannt "Table Storage" (http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/)
Tabelle Speicher bietet eine hohe performance, Skalierbarkeit (über Partitionierung) und relativ niedrigen Kosten. Ein Hauptnachteil der Tabellen, dass nur die Partition und Zeilen-Schlüssel indiziert werden kann - so können Abfragen auf Werte ist sehr ineffizient.
Vor kurzem kündigte Microsoft eine neue "NoSQL" - Dienst namens "DocumentDB" (http://azure.microsoft.com/en-us/documentation/services/documentdb/)
Statt der Speicherung einer Liste von Eigenschaften (wie Tabellen), DocumentDB speichert JSON-Objekte. Das gesamte Objekt wird indiziert - so effizient Abfragen können erstellt werden, basierend auf jede Eigenschaft und jede verschachtelte Eigenschaft von gespeicherten Objekten.
Microsoft sagt, dass DocumentDB bietet eine hohe Leistung und Skalierbarkeit sowie.
Wenn das so ist - warum würde jemand verwenden, Table-Speicher über DocumentDB? Es klingt wie DocumentDB bietet die gleichen Funktionen wie Tabellen, aber mit zusätzlichen Funktionen wie die Fähigkeit zum index nichts.
Ich werde froh, wenn jemand könnte einen Vergleich machen zwischen DocumentDB-und Table-Storage, die Hervorhebung der Nachteile und Vorteile der einzelnen.
InformationsquelleAutor der Frage Illidan | 2015-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beide sind NoSQL-Technologien, aber Sie sind Massiv unterschiedlich. Azure-Tabellen ist eine einfache Schlüssel - /Wert-Speicher und unterstützt keine komplexen Funktionen, wie komplexe Abfragen (die meisten von Ihnen erfordern eine vollständige partition/table scan sowieso, das töten, Ihre Leistung und Ihre Kosten-Einsparungen), benutzerdefinierte Indizierung (Indexierung basiert auf PartitionKey und RowKey nur, Sie kann derzeit keine index auf eine andere Einheit, Eigenschaft und Suche für etwas anderes als PartitionKey/RowKey Kombination erfordert eine partition/table scan) oder gespeicherte Prozeduren. Sie kann auch keine batch-Lesen Sie Anfragen für mehrere Personen (durch batch-schreib-Anforderungen unterstützt, wenn alle Elemente gehören zu der gleichen partition). Für eine real-life-Anwendung von Azure-Tabellen, siehe HIER.
Wenn Ihr Daten braucht (besonders um Abfragen) sind einfach (wie im Beispiel oben), dann Azure-Tabellen liefern, was Sie benötigen, können Sie am Ende mit, dass zu Gunsten der DocDB-durch Preisgestaltung, Leistung und Speicherkapazität. Zum Beispiel das Azure-Tabellen Erfolgsziel ist 20.000 Operationen pro Sekunde. Versucht man das gleiche Maß an Leistung auf DocDB haben eine deutlich höhere service-Kosten für Sie. Auch das Azure-Tabellen sind begrenzt durch die Kapazität des Azure storage-Konto (500TB), in der Erwägung, dass das DocDB-Speicher ist begrenzt durch die Kapazität der Einheiten, die Sie kaufen.
InformationsquelleAutor der Antwort Luis Delgado
Table Services ist vor allem ein Schlüssel-Wert NOSQL-Typ und DocumentDB ist (wie der name schon sagt) ein Dokument Art NoSQL-store. Was Sie fordern, ist im wesentlichen der Unterschied zwischen diesen beiden Arten von NOSQL-Ansätze. Wenn Sie die Form Ihrer recherche nach dieser sollten Sie in der Lage sein, um ein besseres Verständnis für sicher.
Nur um Dinge einfach zu halten schlage ich vor, Sie betrachten die Unterschiede zwischen dem, wie DocumentDB und Table Services sind kostenpflichtig. Nicht nur die Kosten für diese Dienstleistungen variieren stark voneinander, sondern die Tatsache, dass DocumentDB arbeitet an einem "erste Bestimmung" - Modell und Table Services angeboten werden, auf einer reinen Konsum-basierte Preisgestaltung könnte dir einige Hinweise geben, auf Ihre vergleichen/Kontrast.
Lassen Sie mich diese Frage; warum würde ich DocumentDB verwenden wenn die Funktionen in der Tabelle Dienste auch dazu dienen, die meinen Bedürfnissen entsprechen? 😉 Ich schlage vor, Sie nehmen einen Blick an, wie das aktuelle Azure-Diagnose-Werkzeuge verwenden Sie Azure-Storage-Services, wie Storage-Metriken verwenden Sie Azure Storage auf sich, um einen Eindruck zu bekommen, wie nützlich Table Services werden würde, und wie overkill DocumentDB könnte in einigen Situationen.
Hoffe, das hilft.
InformationsquelleAutor der Antwort daronyondem
Ein Beispiel aus der Praxis:
Habe ich, um zu speichern einige tokens, diese abzurufen, zu löschen. Nur die Abfrage überhaupt ausgeführt wird, werden basierend auf Benutzer-ID.
Also ich benutze Table-Speicher, wie Sie erfüllen meine Anforderung perfekt. Ich Speichere die Tokens gegen die Benutzer-ID.
Dokument-DB-Schienen zu viel des guten für diese.
InformationsquelleAutor der Antwort Bhavjot
Ich denke, dass der Vergleich alle über den Handel Preis für die Leistung. Table Services sind nur Storage-Services, die scheinen gap bei 20.000 ops/Sekunde, aber die Zahlung für diese Art von Durchsatz die ganze Zeit (weil Speicher gibt es für uns alle die Zeit), ist $1,200/Monat. Verrückt Geld.
Table services mit einfachen Indizes, so dass Abfragen sind sehr begrenzt. Gut für alles, was geschrieben und gelesen wird per IDs. DocumentDB indiziert das gesamte Dokument, also eine Abfrage gemacht werden kann über jede Eigenschaft.
Und schließlich, Tisch-Dienste gebunden sind, die durch die Lagerung Einschränkung der Storage-Konto auf (das könnte verrückt hoch, die Verhandlungen mit Microsoft direkt), wo DocumentDB-Speicher scheint unbegrenzt.
Es ist also ein Gleichgewicht. Sie haben eine MENGE von Daten (Hunderte von gigs, oder Terabyte), die Sie brauchen, in einem Ort? DocumentDB. Brauchen Sie Unterstützung bei komplexen Abfragen? DocumentDB. Sie haben Daten, auf die kommen und gehen schnell, aber basierend auf einer 1-zu-2-Eigenschaft lookup? Table services. Würde Sie den Handel mit code um einen einfachen index, um zu vermeiden, die Zahlung durch die Nase für den Durchsatz? Table services.
Und Redis, jemand erwähnt, dass... Mann, ich weiß nicht. Sogar die Existenz von Persistenz in einer caching-framework (die Redis bietet) nicht schalten Sie es in einen tech der Wahl... Es gibt einen riesigen Unterschied zwischen einem permanenten Speicher hält Daten, die "Häufig verwendet, aber möglicherweise fehlt, oder die Zeit im Ruhestand", wie ein cache, und einem permanenten Speicher, der garantiert, dass Ihre Daten dort zu sein.
InformationsquelleAutor der Antwort Craig Brunetti
Hier ist die Antwort von
microsoft ' s offizielle docs
Allgemeine Attribute von Kosmos DB, Azure Table Storage, Azure SQL-Datenbank:
99.99 Verfügbarkeit SLA
Vollständig verwalteter Datenbank-services
ISO 27001, HIPAA und die EU-Standardvertragsklauseln-Konform
Die folgende Tabelle zeigt die ungewöhnlichen Attribute von Azure Kosmos DB,
Azure Table Storage
InformationsquelleAutor der Antwort Sajeetharan