wake-up-neo.com

Azure-Speichertabellen vs. SQL

Ich lerne gerade erst Azure und ich kann nicht zu viele Szenarien sehen, in denen Sie etwas in eine Azure-Speichertabelle im Gegensatz zu SQL einfügen möchten. Vielleicht bin ich daran gewöhnt, in Umgebungen zu arbeiten, in denen ich verwandte Daten benötige?

Wann ist es besser, etwas in eine Azure-Speichertabelle und nicht in eine Tabelle in einer Azure SQL-Datenbank einzufügen?

53
TheWommies

SQL Azure ist hervorragend geeignet, wenn Sie mit strukturierten Daten arbeiten möchten, indem Sie Beziehungen, Indizes, Einschränkungen usw. verwenden.

Die Azure-Speichertabelle ist ideal, wenn Sie mit zentralisierten strukturierten Daten ohne Beziehungen und in der Regel mit großen Volumina arbeiten müssen.

Der Preis: SQL Azure: 25,98 $/Monat für 5 GB

Speichertabelle: 21,88 $/m für 175 GB (ohne Transaktionen oder Bandbreite) Wenn Sie große Datenmengen speichern, ist die Speichertabelle viel billiger. Denken Sie beispielsweise an die Protokollierung.

Die Zentralisierung: Windows Azure ist eine verteilte Umgebung für Server. Wenn Sie also auf einem Computer etwas speichern, wissen andere Benutzer nichts davon. Daher ist die Speichertabelle eine gute Lösung für zentralisierte Loggins, Sitzungshandhabung, Einstellungen oder was auch immer Bedenken Sie, dass es selbst in einem Rechenzentrum Latenzzeiten gibt.)

Die Geschwindigkeit: Wenn Sie es richtig entwerfen, sollte die Speichertabelle in vielen Fällen schneller als SQL Azure sein. Dies hängt jedoch wahrscheinlich von den Anwendungsfällen ab und ich habe das nicht wirklich getestet.

59
Ragnar

Während ich diesen Beitrag erst spät hinzufüge, wollte ich etwas erwähnen, das offenbar nicht behandelt wurde. Azure SQL hat Datenlimits (ich gehe bald davon aus). 5 GB für die Web Edition und 150 GB für die Business Edition. Für einige Lösungen ist dies völlig ausreichend. Aber für andere ist es vielleicht nicht so und ich habe das persönlich gesehen.

Die oberen Festplattengrenzen der Azure-Tabellen sind wesentlich höher. Ich glaube es ist 100 TB.

Auch wenn NoSQL von Natur aus nicht relational ist, ist dies nicht unbedingt eine schlechte Sache. Wir denken oft, dass wir Beziehungen brauchen, wenn wir unsere Probleme anders denken als wir. Sie können Beziehungen innerhalb des Codes selbst erzwingen - was ich vermute, die meisten Entwickler tun viel mehr als sie wirklich denken.

28

Ich würde immer Azure-Tabellen als VIEL preiswertere Lösung verwenden, wenn:

  • Ich führe NUR von PK Tabellen aus (Auswahl auf Eigenschaft ist langsam wegen der gesamten Deserialisierung)
  • Ich kann mit einem begrenzten Linq-Set leben ( Abfrageoperatoren (Table Service Support)
  • Ich muss keine Tabellen verknüpfen und komplexe Abfragen auf dem Server ausführen. 
  • Ich brauche das "Sharding" meiner Daten zum horizontalen Aufteilen (Sql Azure Federations ist ein Schritt in diese Richtung). Tabellen haben PartionKey ab Tag 0
10
Nikola Malovic

Sie sollten die Vorteile von 'NoSQL' http://en.wikipedia.org/wiki/NoSQL lesen.

Nicht relationale DBs, kein Schema, Big Data, skalieren, um nur einige zu nennen! 

0
user728584