web-dev-qa-db-ja.com

Elastic Searchのマルチテナンシー

マルチテナンシーアプリケーションにElastic search(AWS)を導入する予定です。以下のオプションがあります。

  1. テナントごとに1つのインデックスを使用する
  2. テナントごとに1つのタイプを使用する
  3. すべてのテナントがカスタムルーティングで1つのインデックスを共有

このブログによると https://www.elastic.co/blog/found-multi-tenancy 最初のオプションではメモリの問題が発生します。しかし、他のオプションについては明確ではありません。

3番目のオプションを使用している場合、データの分離はないようです。セキュリティについてはわかりません。

データが分離されるため、2番目のオプションの方が優れたオプションになると思います。

Multi tenancyでエラスティック検索を実行するための最適なオプションを特定するのに役立ちます。

AWSインフラストラクチャを活用することに注意してください。

17

私たちは今、同じ質問を検討していますが、Elasticsearchによる次の一連の記事は非常に役に立ちました。

ここから開始: https://www.elastic.co/guide/en/elasticsearch/guide/current/scale.html

そして、この記事が見つかるまで、以降の各記事を読んでください: https://www.elastic.co/guide/en/elasticsearch/guide/current/finite-scale.html

次の2つは私にとって非常に目を見張るものでした。

https://www.elastic.co/guide/en/elasticsearch/guide/current/faking-it.htmlhttps://www.elastic.co/guide/en/ elasticsearch/guide/current/one-big-user.html

基本的なポイント:

  • 顧客ごとのエイリアス
  • シャードルーティング
  • これで、大規模な顧客向けのインデックス、小規模な顧客向けの共有インデックスを作成でき、それらはすべて別個のインデックスのように見えます
18
jzheaux

これはあまり重要なリンクなので、ここでは言及しません: http://www.bigeng.io/elasticsearch-scaling-multitenant/

優れたアーキテクチャのジレンマ、優れたパフォーマンス分析/推論。

tldr;クラスター内のノード間で負荷を分離するために、シャード割り当てフィルターを中心に構築されたインデックスグループがありました

3
Froyke