問題タブ [multi-tenant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - マルチテナンシー - 前もって、または必要に応じてテーブルを作成しますか?
私は現在、SaaS タイプのアプリケーションに取り組んでおり、マルチテナンシーのために、ユーザーごとに 1 つのデータベースに落ち着きました。各データベースには、ユーザーが資格を与えられている (支払った) 機能に必要なすべてのテーブルが含まれています。このアプリケーションは、データを取得して (つまり、Web 分析など)、それをユーザーに提示するように設計されています。設計は、(最終的には)数万のユーザーにスケーリングできる必要があります。
実行可能な解決策は、テーブルが必要であることをアプリケーションが検出したときに「動的に」テーブルを作成することでしょうか? それとも、特定のユーザー データベースに最終的に必要なすべてのテーブルを、それらが必要になる可能性があることがわかったらすぐに作成する必要がありますか (ユーザーのアップグレード、新機能など)。
私の現在のアーキテクチャでは、次のようなことができます。
テーブルを追加するためにすべてのユーザー データベースをループすることなく機能を追加できる柔軟性が欲しいので、上記のようなセットアップがそれを達成するのに役立ちます。しかし、後で決定を後悔するような何かが欠けているかどうかはわかりませんか?
sql-server - マルチテナント データ アーキテクチャで、テナント フィルター ビューを実装する最良の方法は何ですか?
ASP.Net MVC 2 と SQL Server データベースを使用して SaaS アプリケーションを実装しています。共有テナンシー アプローチを使用しています。
データをフィルタリングするには、これまでのところ 2 つのアプローチを見つけました。
オプション 1: http://msdn.microsoft.com/en-us/library/aa479086.aspx#mlttntda_tvf
テナントごとに SQL ログインを使用します。したがって、ビューで SUSER_SID() をフィルターとして使用する
オプション 2: http://blogs.imeta.co.uk/jyoung/archive/2010/03/22/845.aspx
Context_Info にテナント ID を格納します。したがって、ビューのフィルターとして Context_Info からテナント ID を読み取る SQL 関数を使用します。
適切なオプションを選択するのを手伝ってもらえますか?
どうもどうも
.net - SQL 2008 を使用した .NET のマルチテナント、多言語アプリケーションに最適なデータ モデル
SQL 2008 を使用して .NET でマルチテナント アプリケーションを開発しています。各テナントは独自の言語を指定できます。たとえば、中国の会社が私のアプリケーションを使用し、すべてのデータを並べ替えて漢字で検索できるようにする場合があります。また、ドイツの会社が私のアプリケーションを使用し、すべてのデータを並べ替えてドイツ語の文字で検索できるようにする場合があります。
テナント ID でセグメント化されたすべてのデータを格納する 1 つのデータベースが必要です。
テーブルは次のようになります。
メンバー
テナント ID メンバー ID 名
1234 5678 ジョン
1235 5679 ジェーン
データは Unicode 列 (nvarchar) に格納されます。また、フルテキスト インデクサーを使用してデータのインデックスを作成したいと考えています。
すべてのデータが同じデータベースに格納されているマルチテナント環境で照合を処理するにはどうすればよいですか?
クエリ文字列で照合を指定する必要がありますか (つまり、SELECT * FROM Members ORDER By Name Collate (中国語))? 特に列のインデックスが特定の言語でソートされている場合、照合を動的に渡す際にパフォーマンスの問題はありますか?
それとも、言語ごとにデータベースを用意し、実行時に使用する接続文字列を決定する方がよいでしょうか?
また、全文索引をどのように処理するのが最善でしょうか? 1 つの言語でしかインデックスを作成できず、テーブルごとに 1 つのインデックスしか指定できないと思います。
他に考慮すべきことはありますか?
ありがとう!
c# - マルチテナント ユーザー モデル
複数の組織とアプリケーションをホストするマルチテナント システムで、組織がシステムでホストされている複数のアプリケーションを使用する可能性がある場合、ユーザーとロール モデルは、単一のユーザーまたはロールが複数のアプリケーションと組織にまたがって存在できるようにする必要がありますか? それとも、ユーザー エンティティを 1 つの組織とアプリケーションのペアに制限し、それらのユーザー エンティティを結び付ける包括的なモデルを定義する必要がありますか?
あれは:
ジョン・ドウは人です
彼は ApplicationA と ApplicationB を使用したい
彼は、OrganizationA と OrganizationB という 2 つの異なる会社 (ご容赦ください) で働いています。
ユーザーモデルは次のようにする必要があります。
johndoe@someuniquesuffix は、彼の一意のユーザー名です。これにより、彼は両方の組織の両方のアプリケーションにアクセスできるようになります。
johndoe@applicationa@organizationa は、OrganizationA の ApplicationA に対する彼のユーザー名です。johndoe@applicationb@organizationa は、OrganizationA の ApplicationB に対する彼のユーザー名です...そして OrganizationB でも同じです。次に、アプリ/組織の 4 つのユーザー アカウントすべてが同じ実際の「人物」である John Doe に対応していることを示す「マスター」リストがありますか?
上記と同じシナリオが、ロール スキーマの設計方法にも当てはまります。
助けてくれてありがとう!
asp.net-mvc - IIS 7: 存在しないサブドメインからサブフォルダーへのリダイレクト
私は ASP.NET MVC Multi Tenancy アプリに取り組んでいます。
現在、動的サブフォルダーを作成できました。たとえば、ユーザー名「bob」で登録して、次の Web サイトを取得する人がいます。
domain.com/bob
次の目標は、サブフォルダーではなく、サブドメイン bob.domain.com を提供することです。
ASP.NET と DNS WMI を使用して動的サブドメインを作成するのは非常に複雑であることがわかりました。bob.domain.com から domain.com/bob にリダイレクト/書き換える必要があることをサーバーに伝える方法はありますか?
asp.net-mvc-2 - ASP.NET MVC2 と MS SQL Server を使用して共有データベースにテナント ビュー フィルター セキュリティ パターンを実装する方法
ASP.NET MVC2 で SaaS 基幹業務アプリケーションの構築を開始していますが、開始する前に適切なアーキテクチャ基盤を確立したいと考えています。
データ アーキテクチャとビジネス ロジックが非常にシンプルになり、効率性と費用対効果が重要な問題になるため、私は共有データベースと共有スキーマのアプローチに取り組んでいます。
テナント間でデータを適切に分離するために、テナント ビュー フィルター セキュリティ パターンを実装したいと考えています (こちらをご覧ください)。これを行うには、アプリケーションにログインしているユーザーに基づいて、アプリケーションがさまざまなテナント (DB ログイン) を偽装する必要があります。ログイン プロセスはできるだけシンプルにする必要があります (エンタープライズ クラスのソフトウェアにはなりません)。そのため、顧客はユーザー名とパスワードのみを入力する必要があります。
ユーザーは、 http ://tenant1.myapp.comやhttp://tenant2.myapp.comなどの独自のサブドメイン (サブドメイン ルーティングを使用) を介してデータにアクセスします。
このシナリオを満たす最善の方法は何ですか?
java - マルチテナントアーキテクチャでセッション属性を維持する方法は?
同じサーバーが複数のアプリケーションのホストとして機能するSaaSアプリケーションの場合。セッション属性はどのように維持されますか?質問を詳しく説明するために、AppAとAppBは同じマシンでホストされているので、AppA用にUserAを作成し、AppB用にUserBを作成します。AppAとAppBは異なる組織に属しているため、リンクされていません。ユーザーに関する詳細は、httpセッションレベルで保存されます(セッションがタイムアウトするまで)。したがって、異なるタブを使用して同じブラウザからAppAとAppBの両方にログインすると、UserB/AppB画面にUserA/AppAの詳細の一部が表示される場合があります。その逆の場合もあります。このような問題をどのように解決できますか?私が考えることができる1つの解決策は、appa.example.orgやappb.example.orgのようなサブドメインを作成することです。他の/より良い方法はありますか?
asp.net - Windows azure asp.net MVC2 のマルチテナント
Windows Azure で実行する方法で、MVC2 でマルチテナント サイトの開発を開始する方法を知っている人はいますか?
私はこの質問についてよく検索し、理論的な説明を常に見つけます。誰もが簡単に実行できると言いますが、サンプルは見つかりません...
誰かが私にどこから始めればよいか説明できますか?
ありがとう、ジョアン
sql-server - 他のDB名が事前にわからない場合のSQL Serverクロスデータベースクエリ?
テナント データを保持する 1 つのデータベースと、テナントごとに 1 つのデータベースを使用するマルチテナント セットアップの場合、各テナント データベースで同じデータを検索するクエリをどのように作成できますか?
たとえば、テナント マスター データベースには Tenants というテーブルがあります。
また、個々のテナントには Widgets というテーブルがあります。
各テナント DB 内のウィジェットの数を取得する選択クエリを作成することはできますか? それとも、カーソルまたはストア プロシージャが必要ですか? たとえば、出力は次のようになります。
ruby-on-rails - Rails 3 でマルチテナンシーを処理する最良の方法
マルチテナントアプリケーションを構築しています。
すべてのデータ分離は、各テーブルの TenantID 列によって行われます。
すべてのテナント モデルのマルチテナンシーを自動的に処理する最善の方法は何ですか。
例:
現在、特定のユーザーパラメーターのレコードを取得できる CanCan gem でこのようなものを見ています。ただし、挿入および更新操作には何も提供していません。あるいはやり方が分からないのかもしれません。
よろしく、アレクセイ・ザハロフ。