Wie wird Azure DocumentDB skaliert? Und muss ich mir darüber Sorgen machen?

Ich habe eine Anwendung, die aus SQL Azure herauswächst - jedenfalls zu dem Preis, den ich bereit bin zu zahlen - und ich bin daran interessiert, Azure DocumentDB zu untersuchen. Die Vorschau hat eindeutig unterschiedliche Skalierbarkeitsgrenzen (wie beschrieben bHie, zum Beispiel), aber ich denke, ich könnte wahrscheinlich mit denen für den Vorschauzeitraum durchkommen, vorausgesetzt, ich verwende sie richtig.

Also hier ist die Frage, die ich habe. Wie muss ich meine Anwendung entwerfen, um die integrierte Skalierbarkeit der Azure DocumentDB zu nutzen? Ich weiß zum Beispiel, dass mit Azure Table Storage - das billig, aberfurchtba stark eingeschränkte Alternative - Sie müssen alle Ihre Daten in einer zweistufigen Hierarchie strukturieren: PartitionKey und RowKey. Vorausgesetzt, Sie tun dies (was in einer realen Anwendung so gut wie unmöglich ist), bewegt ATS (wie ich es verstehe) Partitionen hinter den Kulissen von Maschine zu Maschine, so dass Sie nahezu unbegrenzte Skalierbarkeit erhalten. Genial, und du musst nie darüber nachdenken.

Skalieren mit SQL Server ist offensichtlich viel komplizierter - Sie müssen Ihr eigenes Sharding-System entwerfen, herausfinden, auf welchem Server sich das betreffende Shard befindet, und so weiter. Möglich und richtig gemacht, ziemlich skalierbar, aber komplex und schmerzhaft.

Wie funktioniert Skalierbarkeit mit DocumentDB? Es verspricht willkürliche Skalierbarkeit, aber wie funktioniert die Speicher-Engine hinter den Kulissen? Ich sehe, dass es "Datenbanken" gibt, und jede Datenbank kann eine bestimmte Anzahl von "Sammlungen" haben, und so weiter. Aber wie passt die willkürliche Skalierbarkeit zu diesen anderen Konzepten? Wenn ich eine SQL-Tabelle habe, die Hunderte von Millionen Zeilen enthält, bekomme ich dann die Skalierbarkeit, die ich brauche, wenn ich all diese Daten in einer Sammlung zusammenfasse? Oder muss ich es manuell über mehrere Sammlungen verteilen, irgendwie zerbrochen? Oder über mehrere DBs? Oder ist DocumentDB irgendwie schlau genug, um Abfragen auf performante Weise auf mehreren Computern zusammenzuführen, ohne dass ich darüber nachdenken muss? Oder...

Ich habe mich umgesehen und noch keine Anleitung gefunden, wie ich das angehen soll. Sehr interessiert an dem, was andere Leute gefunden haben oder was MS empfiehlt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage