2016-11-02 9 views
3

Alle anderen Dinge gleich sind (in Bezug auf Funktionsanforderungen, Datenanforderungen, etc.), die in den folgenden Funktionen schneller ist:Azure-Tabellenspeicher und Azure Document DB - Leistungsvergleich?

  • Einsätze
  • Updates
  • Liest
  • Löscht

Bitte, ich bin auf der Suche nach einem direkten Vergleich dieser rohen Funktionen in einem Szenario, in dem beide in Bezug auf Feature-Anforderungen gleichermaßen effektiv verwendet werden könnten.

Antwort

16

Sie vergleichen Äpfel und Orangen, und es gibt keine richtige Antwort auf Szenarien, die Sie einander wählen sollten. Aber objektiv, gibt es einige diskrete Unterschiede:

  • Tabellenspeicher unterstützt bis zu 2.000 Transaktionen/sec, pro Partition (diktiert von dem gewählten Partition Schlüssel) und 20.000 Transaktionen/s für eine ganze Speicherkonto. Die Anzahl der Transaktionen ist nicht garantiert und hängt von der Größe des Unternehmens ab.
  • DocumentDB liefert keine "Transaktionen" pro Sekunde, sondern garantiert eine garantierte Anzahl von "Anfrageeinheiten" pro Sekunde. Indem Sie Ihre verschiedenen Abfragen messen, können Sie Ihre Datenbank skalieren, um eine äquivalente Anzahl an Transaktionen pro Sekunde bereitzustellen, die Ihre App benötigt. DocumentDB ermöglicht es Ihnen, RU für eine bestimmte Sammlung anzupassen, und ermöglicht Ihnen somit eine größere Transaktionsrate als mit Tabellenspeicher möglich (Sie können mehrere Speicherkonten verwenden, um Ihre effektive Tabellenspeichertransaktionsrate zu erhöhen). DocumentDB bietet bis zu 10K RU/s pro Sammlung (Standardsammlung) oder 250K RU/s (partitionierte Sammlung), und die Limits können bei Bedarf je Support erhöht werden.
  • Tabellenspeicher unterstützt Entitätsgruppentransaktionen, mit denen Operationen von bis zu 100 Entitäten (und bis zu 4 MB Nutzlast) in einer einzigen atomaren Transaktion zusammengefasst werden können. Transaktionen sind an eine einzelne Partition gebunden.
  • DocumentDB ermöglicht Transaktionen innerhalb der Grenzen einer Sammlung. Wenn mehrere Datenbankoperationen innerhalb einer gespeicherten Prozedur ausgeführt werden, werden diese Operationen erfolgreich ausgeführt oder fehlgeschlagen.
  • Tabellenspeicher ist ein Schlüssel-/Wertespeicher, und Nachschlagevorgänge auf Partitionsschlüssel + Zeilenschlüssel ergeben sehr effiziente Point-Lookups. Sobald Sie mit der Untersuchung anderer Eigenschaften als PK/RK begonnen haben, geben Sie den Bereich für die Partitionssuche oder den Tabellenscan ein.
  • DocumentDB ist ein Dokumentenspeicher, und Sie können alle/alle Eigenschaften in einem Dokument indizieren.

  • Tabellenspeicher skaliert auf 500 TB pro Konto.

  • DocumentDB skaliert auf 250 GB pro Sammlung, mehr, wenn Sie zusätzlichen Speicher (z. B. 500 TB) anfordern.
  • Tabellenspeicher bietet Sicherheit über Speicherzugriffsschlüssel. Es gibt einen Hauptspeicherkontoschlüssel sowie die Möglichkeit, Shared Access-Signaturen zu generieren, um bestimmte Zugriffsrechte für bestimmte Tabellen bereitzustellen.
  • DocumentDB hat sowohl Lese-/Schreibzugriff und schreibgeschützten Admin-Tasten, zusammen mit Zugriff auf Benutzerebene zu Sammlungen/Dokumente

  • Tabelle Lagerung und DocumentDB haben sehr unterschiedliche Preismodelle (wo Tabelle Storage ist einfach ein per- GB pro Monat Kosten, zusammen mit einem nominalen Kosten für Transaktionen).Aber zurück zu meinem Punkt Äpfel vs Orangen: DocumentDB ist eine Datenbank-Engine - Abfragesprache, serverseitige Prozeduren, Triggern, Indizes etc.

Ich bin sicher, einige objektive Vergleiche gibt, die ich verpasst, aber das sollte dir einen guten Startpunkt geben, um deine Entscheidung zu treffen, eins, das andere oder beides zu verwenden. Und wie Sie sich entscheiden, diese auf Ihre Apps anzuwenden, liegt ganz bei Ihnen und Ihren Prioritäten (Skalieren? Abfragen? Kosten? Etc ...).

+0

David, danke für diese großartige Antwort. Das sagt mir ziemlich viel, was ich wissen muss und gibt mir einen guten Startpunkt, um mehr zu entdecken, wenn ich es brauche. Ich weiß, dass ich Äpfel und Orangen vergleiche, deshalb sagte ich "alle anderen Dinge sind gleich". :-) – richard

Verwandte Themen