Frage

Hi,

Ich muss meine Anwendung SaaS -konform machen. Für das Erreichen von Mehrmächtigungen war ich die Ding, die Daten aufteilte, und jede Partition wird für einen Mieter sein. Und diese Partitionierung wird dynamisch durchgeführt.

Hat jemand so etwas getan? Was denkst du, ist der bessere Ansatz?

Ich benutze SQL 2005

Grüße Dee

War es hilfreich?

Lösung

Es gibt eine Grenze von 1000 Partitionen pro Partitionsschema, und Sie können sich nur auf einem einzelnen Feld partitionieren. Wenn Sie also beabsichtigen, über 1000 Fälle hinauszugehen, müssen Sie durch viel mehr Reifen springen. Sie können die Grenze erweitern, indem Sie eine partitionierte Ansicht über mehrere partitionierte Tabellen verteilt werden. Dies erhöht jedoch den Verwaltungsaufwand. Sie können die DMVs verwenden und Ihr eigenes automatisiertes System erstellen, das neue Partitionen pro Client / Mieter generiert und das Problem verwaltet, aber es ist spezifisch für Ihre Anwendung und nicht für generische.

Derzeit gibt es in SQL Server keine automatische dynamische Partitionierung, die auf dem PDC09 in Bezug auf die SQL Azure Future Roadmap erwähnt wurde, aber ich habe nicht von dem für SQL Server gehört.

Ihre alternativen Auswahlmöglichkeiten sind eine Datenbank oder eine SQL -Instanz pro Client. Dieser Ansatz gibt es Vorteile, da Sie sich weitaus mehr Möglichkeiten geben, wenn die erforderlichen Erfolge erfolgt. Wenn Sie sich ein größeres Rechenzentrum anfangen, können Sie die Ausgleich des Ausgleichs der Bilanzierung haben. SQL -Instanzen in einer Farm von Servern usw. Wenn Sie automatisch alle Daten in einer einzigen Datenbank haben.

Andere Dinge, die berücksichtigt werden müssen:

Sicherheit: Während Sie die Daten in einer einzelnen Datenbank mit Partitionierung haben, haben Sie keinen Datenschutz. Sie riskieren, die Daten eines Kunden mit einem einzelnen Fehler im Code einem anderen sehr trivial auszusetzen.

Upgrade: Wenn alle Clients auf die gleiche Datenbank zugreifen, werden die Upgrades ein All- oder Nichts -Ansatz sein. Sie können einige Benutzer nicht leicht in eine neue Version migrieren, während Sie die anderen so so wie sie waren.

Backups: Sie können jede Partition eine separate Dateigruppe belegen und versuchen, die Situation zu verwalten. Soz. Wenn ein einzelner Client nach einem Rollback zu einer bestimmten Daten fragt, müssen Sie im Voraus sorgfältig planen, wie dies ausgeführt werden kann, ohne die anderen Benutzer des Systems zu beeinflussen.

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