Frage

Ich bin bei der Planung einer Web-Anwendung, die in Azure mit ASP.NET für die Website und Silverlight innerhalb der Website für eine reiche Benutzererfahrung gehostet wird. Soll ich Azure Tabellen oder SQL Azure für meine Anwendungsdaten zu speichern?

War es hilfreich?

Lösung

Azure Tabellen Speicher erscheint weniger teuer zu sein als SQL Azure. Es ist auch hoch skalierbar als SQL Azure.

SQL Azure ist einfacher zu arbeiten mit, wenn Sie haben eine Menge von relationaler Datenbank-Arbeit getan. Wenn Sie eine Anwendung wurden die Portierung, die bereits eine SQL-Datenbank wurde mit, dann ist es zu SQL Azure bewegen würde die offensichtliche Wahl sein, aber das ist die einzige Situation, wo ich es empfehlen würde.

Die wichtigste Einschränkung auf Azure Tabellen ist der Mangel an Sekundärindizes. Dies wurde bei PDC '09 angekündigt und wird derzeit als in Kürze aufgeführt, aber es hat keine Zeit-Rahmen Ankündigung gewesen. (Siehe http : //windowsazure.uservoice.com/forums/34192-windows-azure-feature-voting/suggestions/396314-support-secondary-indexes ref = title )

Ich habe die vorgeschlagene Verwendung eines Hybridsystems gesehen, wo man Tisch und Blob Speicher für den Großteil Ihrer Daten verwenden, aber SQL Azure für Indizes verwenden, Suchen und Filtern. Allerdings habe ich noch keine Gelegenheit hatte diese Lösung zu versuchen, noch selbst.

Sobald die Sekundärindizes zu Tabellenspeicher hinzugefügt werden, wird es im Wesentlichen eine Wolke sein basierend NoSQL System und wird viel nützlicher als es jetzt ist.

Andere Tipps

Trotz ähnlicher Namen SQL Azure Tabellen und Tabellen Speicher haben sehr wenig gemeinsam.

Hier sind zwei Links, die Ihnen helfen:

Grundsätzlich sollte die erste Frage fragen, ist über Ist meine App wirklich brauchen maßstabs? Wenn nicht, dann für SQL Azure gehen.

Für diejenigen, die versuchen zwischen den beiden Optionen zu entscheiden, sollten Sie Faktor Berichtsanforderungen in die Gleichung. SQL Azure Reporting- und andere Reporting-Produkte unterstützen SQL Azure aus der Box. Wenn Sie komplexe oder flexible Berichte generieren müssen, werden Sie wahrscheinlich wollen Tabelle Lagerung vermeiden.

Azure-Tabellen sind billiger, einfacher und besser als Maßstab SQL Azure. SQL Azure ist eine verwaltete SQL-Umgebung, Multi-Tenant in der Natur, so dass Sie analysieren sollten, wenn Ihre Leistungsanforderungen fit für SQL Azure sind. Eine Premium-Version von SQL Azure wurde zum Zeitpunkt des Schreibens in der Vorschau angekündigt und ist (siehe HIER anfänglicher Führung.

Eine andere Überlegung ist, Latenz. Früher gab es eine Website sein, dass Microsoft mit Microbenchmarks auf Durchsatz und Latenz verschiedener Objektgrößen mit Tabelle speichern und SQL Azure lief. Da diese Website ist nicht mehr verfügbar, werde ich Ihnen nur eine grobe Annäherung von dem, was ich mich erinnere. Tabelle Speicher neigt viel höheren Durchsatz als SQL Azure zu haben. SQL Azure neigt niedrigere Latenz zu haben (um so viel wie 1/5).

Es ist bereits erwähnt worden, dass Tabellenspeicher ist einfach maßstäblich. SQL Azure können jedoch skaliert als auch mit Verbände . Beachten Sie, dass Verbände (effektiv sharding ) fügt eine Menge von Komplexität auf Ihre Bewerbung. Ich bin auch nicht sicher, wie viele Federations Leistung beeinflusst, aber ich glaube, es gibt einige Overhead.

Wenn Business Continuity eine Priorität ist, die Ansicht, dass mit Azure Storage Sie billige Geo-Replikation standardmäßig erhalten. Mit SQL Azure können Sie etwas ähnliches, aber mit mehr Aufwand mit SQL-Daten-Synchronisierungs erreichen . Beachten Sie, dass SQL-Daten-Synchronisierungs auch erleidet und Performance-Overhead, da es Trigger für alle Ihre Tabellen für Datenänderungen zu beobachten erfordert.

Ich weiß, das eine alte Frage, aber immer noch einen sehr gültigen, so dass ich meine Antwort ihn hinzufügen.

CoderDennis und andere haben einige der Fakten hingewiesen - Azure Tabellen ist billiger, und Azure Tabellen können viel größer, effizienter usw. sein, wenn Sie 100% sicher sind, haften Sie mit Azure, mit Tabellen gehen.

Doch dies voraus, dass Sie bereits auf Azure entschieden haben. Durch Azure Tabellen verwenden, werden Sie sich in die Azure-Plattform zu verriegeln. Es bedeutet Code sehr spezifisch für Azure Tabellen zu schreiben, die nicht nur über Amazon zum Hafen gehen, werden Sie jene Bereiche des Codes neu zu schreiben. Auf der anderen Seite Programmierung für eine SQL-Datenbank mit LINQ Willen Port über viele leichter zu einem anderen Cloud-Service.

Das kann nicht ein Problem sein, wenn Sie bereits auf Ihrer Cloud-Plattform entschieden haben.

Ich schlage vor, Blick auf Azure Cache in Kombination mit Azure Table. Tabelle allein hat 200-300ms Latenzen, mit gelegentlichen Spitzen höher, was können erheblich verlangsamen Reaktionszeiten / UI Interaktivität. Cache + Tabelle scheint eine Gewinnkombination zu sein, für mich.

Für Ihre Frage, ich möchte darüber reden, wie mit Logik zu entscheiden, wählen Sie SQL Tabelle und die brauchen Azure Table zu verwenden.

Wie wir wissen SQL Tabelle ist ein relationaler Datenbank-Engine. aber wenn Sie ein großen Daten in einer Tabelle haben die SQL-Tabelle ist nicht anwendbar, da SQL-Abfrage erhält große Daten langsam ist.

Zu diesem Zeitpunkt Sie Azure Table wählen können, die Azure Table-Abfrage ist so schnell, dann SQL-Tabelle für große Datenmengen, zum Beispiel in unserer Website, jemand viele Artikel abonniert hat, machen wir den Artikel als Feed Benutzer, jeder Benutzer hat eine Kopie des Artikel Titel und eine Beschreibung, so in dem Artikeltisch gibt es viele Daten, wenn wir SQL Tabelle verwenden, vielleicht jede Abfrage-Ausführung mehr als 30 Sekunden dauern. Aber in Azure Table erhalten Anwender Artikel-Feed von PartitionKey und RowKey so schnell ist.

Aus diesem Beispiel können Sie wissen, wie zwischen in SQL Tabelle und Azure Tabelle wählen.

Ich frage mich, ob wir mit einigen „unabhängigen Herstellern“ Cloud API-Bibliotheken, um am Ende zu gegebener Zeit werden?

Ich denke, dass Sie zuerst definieren müssen, was Ihre Anwendungsnutzung Trichter sind. Wird Ihr Datenmodell zu häufigen Änderungen unterworfen werden, oder es ist ein stabiler? Sie müssen in der Lage, extrem schnell Einsätze auszuführen und liest sind nicht so kompliziert? Sie benötigen google wie Suche vorrücken? Speichern BLOBS?

Das sind die Fragen (und nicht nur), dass Sie zu stellen und beantworten Sie sich, um zu entscheiden, ob Sie eher in die Speicherung Ihrer Daten verwenden NoSQL oder SQL Ansatz geht.

Bitte beachten Sie, dass beiden Ansätze leicht koexistieren können und können auch mit BLOB-Speicher erweitert werden.

Beide Azure Tabellen und SQL Azure sind zwei verschiedene beasts.Both sind für verschiedene Szenarien gemeint, man con zu Azure Tabelle ist, dass Sie nicht von azur zu jeder anderen Plattform bewegen kann, es sei denn, Sie Anbieter in Ihrem Code schreiben, die solche Verschiebungen verarbeiten kann .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top