プライマリレコードをSQLデータベースに保持し、それらをnoSQLデータベースに複製することは、非常に一般的なアプローチであると私は信じています。
ElasticSearchには、回復力 に関する継続的なステータスページがあります。 。最新バージョンでも、ElasticSearchはさまざまな異なるデータを失う可能性があります状況 。 ElasticSearchインデックスの構造を大幅に変更する(アナライザーの追加など)には、再インデックス すべてのドキュメント。ドキュメントの別のソースがある場合、このプロセスはより安全です。結局のところ、ElasticSearchはドキュメントを一貫して保存するようには設計されていません。たまにデータが失われることが災害ではない状況でのみ、ElasticSearchをプライマリストアとして使用することを選択します。
ElasticSearchとは異なり、MongoDBは復元力がある ように設計されています。 。 MongoDBにドキュメントを安全に保存できるはずです。 MongoDBで全文検索を実行しようとすると、少なくともElasticSearchと比較して、少し苦痛になる可能性があることがわかりました。私の意見では、テキスト検索の場合、MongoDBがMySQLのフルテキスト 配布されているということです。
現在、ElasticSearchとMySQLを実行しています。このメリットは、追加のインフラストラクチャと2つの間のレプリケーションの煩わしさを大幅に上回ります。以前は、プライマリデータストアとしてnoSQLソリューションを使用しようとしましたが、悲惨な結果になりました。 ESをMySQLと組み合わせて実行すると、SQLでのデータの一貫性と安全性、およびESでのスケーラブルで効果的な全文検索の両方の長所が得られます。