私はdjango-tenantスキーマを使用して基本的なERP webappを作成しました。今、私の問題は、新しいユーザーがサインアップするたびに、そのダウンタイムが(各ユーザーの新しいスキーマを作成するのに役立つ移行のため)です。したがって、これは必ずしもスケーラブルではありません。私はデータベース、apache、DOとしてpsotgresqlを使用しています。Djangoテナントスキーマのスケーラビリティ
この悲惨なことに対して可能な答えはありますか?
私が直面している問題は、このERPシステムを複数のSMEに使用することです。現在、これらの中小企業のそれぞれは、10-15人の従業員を配置しています。これらの従業員のすべては、必要な許可を得て雇用主によって作成されたアカウントを持ちます。さて、スキーマなしで可能ですか?それに加えて毎回超大型のテーブルをスキャンするという問題があります。
私が間違っていない場合、グレッグは、同じスキーマを持つマルチテナントでした。これは私が最初に考えたものです。しかし、これは私のユースケースではうまくいかない。問題がどこにあるのですか。私の場合は、各テナントが複数のユーザーを作成できるように複雑さが増しています。たとえば、ある人が自分のERPを使用している場合、ERPの異なるモジュール用のサブユーザを作成する必要があります(アカウント用、SCM用など)。したがって、スキーマが使用されていないと複雑さが増します。 – SG2791
私は同じ問題がありました。また、ユーザーは異なるテナントに属している可能性があります。それは動作します。あなたが見逃している部分は、同じスキーマを共有していても、別々のスキーマと同じように分離されているということです。ログインを使用して区切りを作成します。あなたはtenant_idを覚えていて、あなたのアプリケーションはビューを介してdbにアクセスし、正しいtenant_idですべてを選択します。たぶんそれはあなたのために適切ではない、ちょうど私がそこにそれを投げると思った。 – Greg
ありがとうグレッグ!!確かに私はある程度あなたのラインで考える必要があります。私はまた、新しいテナントのためにのみ移行スキーマを行うことを考えています。 1つのスキーマのみの移行(migrate-schema - パブリックはパブリック・スキーマのみを移行する方法)と同様です。私がdjangoとd-t-sのソースコードを掘り起こし、私の指が交差しないようにしましょう – SG2791