2017-05-28 2 views
0

Wir entwickeln jetzt eine Anwendung, die GAE Datastore verwendet und versucht, Multitenancy zu implementieren. Unsere Kunden sind Unternehmen, daher werden wir Namespaces unternehmensspezifisch erstellen.GAE Datastore: Multitenancy für Organisation

Meine Frage ist, wie wir Unternehmenszusammenschlüsse und -trennungen behandeln sollten.

Wenn beispielsweise zwei unserer Kunden zusammengeführt werden, sollten Daten unter zwei Namespaces in einen einzigen Namespace migriert werden. Wenn unser Kunde in zwei Unternehmen aufgeteilt wird, sollten einige Daten in einen anderen Namespace migriert werden. Dies erfordert viel Aufwand und wir möchten diese Operationen vermeiden.

Wie können wir diese Fälle reibungslos behandeln? Oder ist Namespace unternehmensspezifisch? Wenn nicht, wie sollten wir unternehmensübergreifende Mandantenfähigkeit implementieren?

Antwort

0

Die allgemeine Vorgehensweise besteht darin, einen Job zu erstellen, der Zusammenführungen als Stapelprozess verarbeitet, indem er die alten bis neuen Schlüssel als Teil einer Transaktion liest, schreibt und löscht. Im Allgemeinen haben Sie eine Reihe von Geschäftsregeln, die Sie im Rahmen der Verarbeitung sowie der grundlegenden Rekeying einwerfen. Zum Beispiel, wie werden Sie mit 2 Benutzern mit demselben Benutzernamen umgehen?

Mit Cloud Dataflow (Java & Python-Anschlüsse verfügbar) ist ein gutes Werkzeug, dies zu tun.

Fusionen sind in den meisten Fällen unordentlich, wenn es um Daten geht, daher sind es nicht wirklich Namespaces, die eine einfachere Lösung verhindern.