どの NoSQL を選択するかについてのさらに別の質問です。ただし、この種の目的、メッセージの保存を求めている人はまだ見つかりません...
私は Erlang チャット サーバーを作成しました。既に MySQL を使用して、フレンド リストと "JOIN が必要" な情報を保存しています。
私はメッセージを保存したいと思います(そのユーザーはオフラインだったので受信していません...)、それらを取得します。
私は NoSQL を事前に選択しました。MongoDB のようなものは RAM 指向のパラダイムであるため使用できず、他のようにクラスター化できません。リストを 3 つの選択肢に絞りました。
- Hbase
- リヤク
- カサンドラ
私は彼らのモデルがまったく異なっていることを知っています.1つはキー/値を使用し、もう1つはSuperColumnsとcoを使用しています.
これまでは、Erlang 用の安定したクライアント ライブラリである Riak を好んで使用していました。
Cassandra を Thrift で使用できることはわかっていますが、Erlang ではあまり安定していないようです (これについてはあまり良い結果が得られていません)。
私は今のところ HBase について何も知りません。HBase が存在し、Cassandra や Riak のような Dynamo をベースにしていることだけは知っています。
だからここに私がする必要があるものがあります:
- 登録ユーザーごとに 1 ~ X 件のメッセージを保存します。
- ユーザーごとに保存されたメッセージの数を取得します。
- ユーザーからのすべてのメッセージを一度に取得します。
- ユーザーからのすべてのメッセージを一度に削除します。
- X か月より前のすべてのメッセージを削除する
今のところ、私はこれらの NoSQL DB にまったく慣れていません。私は常に MySQL の愛好家でした。これが、初心者としてこの質問をする理由です。私よりも多くの経験を持っている人が、どちらが優れているかを選択するのを手伝ってくれませんか? 、そして、面倒なことをせずにやりたいことをすべてやらせてくれます...
ありがとう !