AIモデルとプラットフォーム

ベクトルデータベースにおけるマルチテナンシーとは何か?

mm
Unite.AI を Google の優先ソースに追加

GitHubにデータをアップロードして管理するとき、誰も見ることができないように設定できます。ただし、GitHubはマルチテナシーを使用しています。これは、各ユーザーに別々のデータベースを割り当てるよりもコスト効率が良く、管理も容易だからです。

しかし、すべてのユーザーが同じインフラストラクチャを共有することは、セキュリティ上のリスクとなります。マルチテナシーは、ユーザーのデータを論理的にパーティション化することで、この問題に対処します。つまり、ユーザーは同じリソース上でデータを保存、管理、変更できますが、各ユーザーのデータは他のユーザーから隔離されています。

この記事では、ベクトルデータベースにおけるマルチテナシーの概念、利点、限界、実際のユースケースについて説明します。

ベクトルデータベースにおけるマルチテナシーのしくみ

マルチテナシーは、複数のテナント(ユーザー)が同じデータベースを共有しながら、各テナントのデータを隔離された環境で保存できるようにするアプローチです。

各テナントには、独自の資格情報が割り当てられ、テナントのデータを保護します。結果として、各テナントは、自分の隔離された環境でデータを保存、管理、変更できます。しかし、会社はテナントのリソースと制限を管理および制御するためのアクセス権を持っています。

2つのテナントコレクションのサンプルイラストレーション。各テナントは、同じデータベースにアクセスできますが、隔離された環境でデータを保存します。イメージソース: Qdrant

ベクトルデータベースでは、インデックス作成を検索手法として使用します。インデックス作成は、ベクトルを類似性に基づいて整理します。インデックス戦略は、テナントデータのパーティション化に影響します。現在、ベクトルデータベースでは2つのインデックス戦略が使用されています。

これら2つのインデックス戦略について説明します。

  1. 共有インデックス作成:すべてのテナントが同じインデックスを共有します。各テナントのデータは、独自の資格情報によってパーティション化されます。この方法はメモリ効率が高いですが、テナントデータを保護するための強力なセキュリティとアクセス制御メカニズムが必要です。
  2. テナントごとのインデックス作成:各テナントが独自のインデックスを持つインデックス作成方法です。この方法では、完全なアクセス制御と改善された検索パフォーマンスが可能になります。しかし、この方法はリソースを大量に消費します。

いくつかのベクトルデータベース、たとえばQdrantMilvusは、マルチテナントアーキテクチャを提供し、両方のインデックス戦略でユーザーに追加のカスタマイズとスケーラビリティを提供します。

ベクトルデータベースにおけるマルチテナシーの利点

ベクトルデータベースにおけるマルチテナシーは、複数のユーザーが個別のデータベースインスタンスを必要とする会社にとって、多くの利点を提供します。いくつかの利点は以下のとおりです。

1. コスト削減

複数のユーザーが同じリソースを共有することで、インフラストラクチャのコストが削減されます。

2. スケーラビリティ

マルチテナシーでは、テナントごとに必要なリソースを割り当てることができます。つまり、ストレージ要件の多いテナントには多くのリソースを割り当て、ストレージ要件の少ないテナントには少ないリソースを割り当てることができます。

3. カスタマイズ

各テナントには、独自の環境が割り当てられます。テナントは、データベーススキーマ、プラグイン、メトリクス、ダッシュボードなどを必要に応じて構成できます。構成はテナントごとにプライベートであり、テナントは必要に応じて構成を変更できます。

4. 管理性

すべてのテナントが同じデータベースを共有することで、リソースの集中管理、構成、監視が可能になります。会社はすべてのテナントを一元的に管理できますが、テナントは自分のデータを隔離された環境で管理できます。

ベクトルデータベースにおけるマルチテナシーの限界

マルチテナシーにはいくつかの限界があります。これらの限界を考慮することで、慎重な意思決定が可能になります。最も一般的な限界は以下のとおりです。

1. 追加の複雑さ

複数のテナントを同じリソース上で管理するには、追加の構成が必要です。これには、テナントのオンボーディング、セキュリティ、ユーザーの認証と承認が含まれます。知識とサポートが不足している場合、データの誤った共有やリソースのオーバーヘッドなどの望ましくない結果につながる可能性があります。

これに対処するために、慎重な計画とデータベースのサポートが必要です。

2. セキュリティ上の懸念

悪意のあるアクセス、誤った構成、または基盤となるインフラストラクチャの脆弱性により、テナント間でデータが共有される可能性があります。設計の注意、定期的な監査、多層のセキュリティ対策の実施により、全体的なセキュリティを強化できます。

3. パフォーマンスのボトルネック

テナントによってリソースの使用量が増加すると、他のテナントのパフォーマンスが低下する可能性があります。特に、共有インデックス作成では、アクセスリストを一致させるためのランタイムのアクセス許可チェックにより、検索パフォーマンスが影響を受ける可能性があります。リソース管理と制御、定期的な更新、テナントへの教育が重要です。

4. システムの停止

スケジュールされたメンテナンス、ハードウェアの故障、ソフトウェアのバグにより、すべてのテナントが影響を受ける可能性があります。これにより、データ、評判、財務の損失が発生します。定期的なリスク評価、インフラストラクチャの品質保証、タイムリーなバックアップにより、システムの停止の悪影響を最小限に抑えることができます。

マルチテナシーのユースケース

マルチテナシーは、電子商取引のレコメンデーションシステムから、大規模な機械学習モデルを会社でトレーニングするまで、さまざまなアプリケーションで有用です。いくつかの一般的なユースケースは以下のとおりです。

1. レコメンデーションシステム

ユーザーがサインアップしてショッピングの好みを保存できる電子商取引プラットフォームを想像してください。マルチテナントの設定により、各ユーザーにパーソナライズされた製品のレコメンデーションを提供できます。

電子商取引プラットフォームでは、すべてのテナントが自分の基準を設定できます。レコメンデーションシステムは、エンドユーザーにパーソナライズされた製品のレコメンデーションを送信します。

2. エンタープライズアプリケーション

大規模なソフトウェアアプリケーションは、複数の従業員と顧客にサービスを提供しますが、すべてのユーザーが同じデータベースを共有します。すべてのユーザーはデータをアップロードして管理できますが、他のユーザーからデータを保護できます。たとえば、DropboxとHubSpot (HUBS ) は、すべてのユーザーが同じリソースを共有しながら、データを相互に保護します。

3. 異常検出と不正検出

マルチテナシーにより、個々のデータを保護しながら、強力な不正検出システムを開発できます。会社は、匿名化されたデータで不正検出モデルをトレーニングし、トレーニング済みモデルを中央のデータベースに送信します。これにより、データを保護しながら、不正検出システムの開発に貢献できます。

たとえば、クレジットカードの不正検出システムでは、機械学習を使用してプライバシーと効率を向上させます。

マルチテナシーを使用するタイミングと使用しないタイミング

マルチテナシーを使用するかどうかを決定するには、テナントのパフォーマンス、分離要件、セキュリティ上の懸念など、複数の要素を考慮する必要があります。以下に、マルチテナシーを使用するタイミングと使用しないタイミングについて詳しく説明します。

マルチテナシーを使用する場合

以下の指標は、マルチテナシーが適していることを示しています。

  1. 複数のテナントが個別の環境を必要とします。
  2. テナントはパフォーマンスのトレードオフを受け入れることができます。
  3. コスト削減が優先事項です。
  4. 集中管理により、運用が改善されます。

マルチテナシーを使用しない場合

マルチテナシーの限界により、すべての状況に適しているわけではありません。マルチテナントベクトルデータベースは、以下の要件がある場合は適していません。

  1. テナントが機密性の高いデータを所有しており、厳格なセキュリティ要件があります。
  2. テナントの数が限られており、成長が遅いです。
  3. テナントが専用の環境を必要とし、パフォーマンスの低下を許容できません。
  4. マルチテナントの専門知識と能力が不足しており、複雑さの増大に対応できません。

マルチテナシーは、ベクトルデータベースに追加のスケーラビリティと管理性をもたらします。正しく設定された場合、マルチテナシーは組織にとって、コストとリソースを大幅に削減できます。

AI関連のコンテンツについてもっと知りたい場合は、unite.aiにご連絡ください。

Haziqaは、AIおよびSaaS企業向けの技術コンテンツの作成における豊富な経験を持つデータサイエンティストです。