mysqlを利用したグッド機能の運用方法について
現在、SNSを製作しており、グッドボタンの機能などを実装しようとしています。
データベースにはmysalを利用しグッド機能を実装する場合
大量のinsertやdelete(グッド取り消し)が発生する(1000万行とか)と思われるのでmysqlでの実装は厳しいのではないか?
と思い、他に何か方法はないかと考えています。
グッドボタンを押す → ユーザーにメッセージボックスに通知、該当投稿のグッドのカウントアップ(グッドは投稿記事が一覧で10件表示されているとした場合 10個表示されます。)
グッドを取り消した場合、通知削除しカウントを減らす。
記事ごとにカウント集計したデータをredis上にkey:記事idで持たせる。
これらを考えた際にこれらグッド機能に関わる全てのデータの保存をRedisを利用するのがいいかと思ったのですがメモリの上限もありますし悩んでいます。
Elasticsearchというのも考えましたがmysqlと比べてデータを安全に取り扱うことができるか?消失する可能性は?といろいろわからないことが多く(実際に長期に渡って運用した経験がなく使ったことがないので)悩んでいます。
インサートやデリート、カウントアップ、集計などが頻繁に行われるものは
一般的にはどのような構成で運用するのでしょうか?
ご教授頂ければと思います。
よろしくお願いします。