还有一个关于选择哪种 NoSQL 的问题。但是,我还没有找到有人要求这种类型的目的,消息存储......
我有一个 Erlang 聊天服务器,我已经在使用 MySQL 来存储朋友列表和“需要加入”信息。
我想存储消息(该用户没有收到,因为他离线......)并检索它们。
我已经预先选择了 NoSQL,由于它是面向 RAM 的范例,我不能使用像 MongoDB 这样的东西,并且无法像其他人一样进行集群。我想我的清单有 3 个选择:
- Hbase
- 里亚克
- 卡桑德拉
我知道他们的模型完全不同,一个使用键/值,另一个使用 SuperColumns 和 co。
直到现在我还是偏爱 Riak,因为它是 Erlang 的稳定客户端库。
我知道我可以将 Cassandra 与 Thrift 一起使用,但 Erlang 似乎不太稳定(我没有得到很好的回报)
我现在对 HBase 一无所知,只知道它存在并且基于像 Cassandra 和 Riak 这样的 Dynamo。
所以这就是我需要做的:
- 每个注册用户存储 1 到 X 条消息。
- 获取每个用户存储的消息数。
- 一次检索来自用户的所有消息。
- 一次删除用户的所有消息。
- 删除所有超过 X 个月的邮件
现在,我对那些 NoSQL DB 真的很陌生,我一直是 MySQL 爱好者,这就是为什么我问你这个问题,作为一个新手,有没有比我有更多经验的人可以帮助我选择哪个更好,并且会让我做我想做的一切而没有太多麻烦......
谢谢 !