0

私はソーシャルネットワークを構築しており、ElasticSearchを使用してユーザーを検索したいと考えています。 ElasticSearchインデックスの作成とは別に、私はログインするためにデータベースにユーザー情報を格納する必要があります。このようなことは冗長ではありませんか?ElasticSearchのデータをデータベースに保存する必要はありますか?

+0

しかし、問題は次のとおりです。ユーザーをデータベースに格納するたびにインデックスを作成する必要がありますか? – Aliuk

+0

@Aliuk - あなたはelasticsearchで特定のユーザーにインデックスを作成する必要があります。メインストアからデータを追加、更新、削除するたびに、elasticsearchでも同じデータを更新する必要があります。 –

+0

アプリケーションからプロセスを自動化するにはどうすればよいですか?すみません、私はElasticSearchの初心者です。 – Aliuk

答えて

0

まず、データがElasticsearchに既にある場合、データベースが必要な理由について考えてみましょう。それは本当に必要ですか?

第2:複数のシステムにデータが必要な場合は、どちらが先行システムであるかを定義します。常に最新のデータを保持することが保証されます。他のものは遅れるかもしれません。

第3位:検索可能なデータレイクとしてのElasticsearchがすばらしいだけで十分な場合があります。トランザクションロジックが必要な場合を除き、データベースなしでも問題ありません。ただし、特定のデータベースのみで扱われる特別な機能が必要な場合は、その両方が必要です。私の経験で

、それは主に次のいずれかの場合です:

  • データ・レコードを管理する(MySQLやMariaDB、オラクル、...のような)トランザクションデータベースを必要とし、Elasticsearchが速いです

  • ホットデータでより複雑な検索と分析を実行するには、分析データベース(exasolなど)が必要です。一方、Elasticsearchは、暖かい/冷たいデータに使用されます(例:ディレクトリサービス、電話帳)。より簡単な属性駆動検索セマンティクス

  • 大容量データや大規模操作を処理するための高性能データベース(Exasol、Apache Cassandraなど)が必要です。また、Elasticsearchはバックグラウンドの長期データ湖です。あなたは簡単にデータベースとしてElastisearchを乱用することができますとして構造化データと非構造化データが必要とされている

場合は、必ずしもデータベースに対して呼び出すことはありません。

あなたの質問は本当にあまりにも一般的なので、実際にソーシャルネットワークを構築する前に、専門家にこの設定を手伝うことをおすすめします。それ以外の場合は、プラットフォームがビジネス要件を適切に反映していない場合、大きなビジネス上の問題に直面する可能性があります。

関連する問題