

追記  
take88さんから指摘がありましたので内容をもっと限定的にしたいと思います。  
１、elサーチのデータバックアップはmysqlと同等で安全に不具合や問題なく使えるかどうか  
２、全文検索以外の用途で使うのはよくあることか

例  
記事のgood数を保存でのelの利用  
mysqlのでgood数を保存しユーザーごとにgoodの状態(good済かどうか)を保存しておくとしたら

[code]

    post_id / count
    1 / 123
    2 / 12
    3 / 22
    
    post_id / voted_user_id / voted_date 
    1 / 2 / 2018-11-02 00:00:00
    2 / 2 / 2018-11-02 00:00:01
    2 / 3 / 2018-11-02 00:00:02
    
[/code]

といった感じになると思いますがこのテーブルにデータの追加、削除、更新、確認を行う場合  
Redis等に比べると速度的に遅くなり何千万件とかの大量のデータを扱ったときに問題になってくるのではないかと考えています。  
ただ、Redisの場合、永続性の問題でaofに設定した場合通常のredis運用に比べて100倍ほど遅くなるとあり、であればelで同じことをしたらどうなのか？mysqlよりは速度的な問題は解消されRedisと同等のパフォーマンスが出せるのではないか？と考えました。  
こういった使い方をelで行うことは問題ない？いい方法？なのでしょうか。

以上、2点についてご教授頂ければと思います。よろしくお願い致します。

> **はじめの質問**  
>  最近、Elasticsearchを触りはじめたのですが これまで全文検索をgroongaやmysqlの全文検索で実装していました。  
>  データストアとして安全性や使いやすさ管理のしやすさを考えるとmysqlの方がいいのかなと何となく思っていて  
>  通常のデータは一度mysqlの方に保存していき、そこからElasticsearchに流し込むのがベストなのかと考えています。  
>  この認識が正しいのかどうか知りたいです。  
>  Elasticseachだけでも全く問題ないよというのであれば、バックアップや運用などmysqlの場合と比較してどのように変わるのか？  
>  また、たとえば集計を行うならredisのsorted  
>  setを利用したりElasticseachのアグリゲーションを利用した方が速いかと思いますが、データの消失は大丈夫なのかなど不安で。  
>  この運用がベストプラクティスじゃないかと思うよというのがあればご教授頂ければと思います。 よろしくお願い致します。


CC BY-SA 4.0
2018-11-01T07:56:12.597
49851
2018-11-05T11:25:34.967
2018-11-02T08:33:34.877
30596
30596
question
elasticsearch
Elasticsearchの使い方について（利用方法やバックアップなどについて）


伝聞ですが、 Elasticsearch の永続化の能力は、その他の永続化ストレージに比べてそこまで強くなかった、と聞いたことがあります。

また少なくとも、アプリケーションの正規データについては、 mysql
などのデータベースに永続化しておくことをおすすめします。ベストプラクティス、というより、 Elasticsearch
のみに存在する永続化データで運用している、という話を聞いたことがありません。 (自分が無知なだけかもしれませんが。。)


CC BY-SA 4.0
2018-11-02T09:55:25.883
49896
2018-11-02T09:55:25.883
754
49851
answer


> １、elサーチのデータバックアップはmysqlと同等で安全に不具合や問題なく使えるかどうか

不具合については保障はできませんが、正しい状態で 正しく取得したバックアップであれば問題なく復元できます。バックアップは 複数のソースで、できれば
OSバックアップ、インデックスのスナップショット、操作ログ の３種類とっておくのが理想ですね。

操作ログについては
登録、更新、削除の履歴情報を残しておいて、何かあったら履歴から戻せるようにするのが重要だと思います。（Mysqlで言うところのバイナリログから復元するイメージです）

あとは、ステータスの監視、クラスタとレプリカの導入なんかも要件に応じて考えると良いと思います。

> ２、全文検索以外の用途で使うのはよくあることか

ダッシュボード画面などで グラフにプロットするデータを Elasticsearch で検索することはあります。それ以外の 検索や 集計処理
等で使えると思います。

ただ、Redisと同等以上か どうかは分かりませんので 検証は必須かなと。

応用範囲も広いですし、構成も多岐に渡りますので、まずはElasticsearchで何が出来るのか 色々試してみることをおすすめします。


CC BY-SA 4.0
2018-11-05T11:25:34.967
49984
2018-11-05T11:25:34.967
5008
49851
answer