3

I'm implementing a chat system.

What kind of database I should use for logging chat messages?

I need to do some queries to it. For example "give me all the links from user x between these dates"

I've heard some good things about MongoDB for this kind of stuff. How about other NoSQL solutions? Redis? Cassandra?

How about old SQL solutions? Although I'm very interested having experiences with NoSQL-databases, but I'm not going to it just sake of it :)

I need to be able to handle hundreds of active users.

4

7 回答 7

2

好的。所以基本上 NoSQL 不是灵丹妙药。你真的必须知道每个 NoSQL 的最佳位置才能获得最大的好处。

对于您的场景,我会推荐 mongodb。为什么?因为 mongodb 提供了非常丰富的查询,就像您在 SQL 数据库中一样,不像键值存储数据库。MongoDB 的读写速度都比较快。

除非您需要像 facebook 或 twitter 这样的大规模可扩展性,否则 cassandra 不适合您。

于 2010-09-17T02:21:28.130 回答
1

我过去曾将SQLite用于这种类型的日志记录,而且效果很好。

于 2010-09-16T11:20:43.270 回答
0

我建议卡桑德拉。我发现它甚至比 MySQL 更容易开发,尽管有一点学习曲线。在使用 MYSQL、IMO 的生产环境中,处理模式更改是一个真正的痛苦。

于 2010-09-28T16:42:38.577 回答
0

您可以通过以下方式确定:

如果您的数据简单且小,您可以考虑使用SQLite,它很容易与 Web 应用程序、移动应用程序或桌面应用程序集成,并且重量轻。

检查http://www.sqlite.org/

如果数据很大,可以考虑NOSQL数据库,比如

MongoDB http://www.mongodb.org/

或者

HBase https://hbase.apache.org/

如果您熟悉 windows 和 ,请考虑MYSQLMSSQL

于 2014-02-21T17:06:49.277 回答
0

我的票投给了 redis(+node)。我可以轻松处理那个规模。

于 2010-12-07T08:38:12.177 回答
0

我认为您不是 google 或 twitter ;) 只需使用 mysql、sqlite 或任何关系数据库。这对你来说应该完全足够了,但如果它不考虑 nosql 解决方案,现在就不行。

于 2010-09-16T11:26:35.440 回答
0

我推荐像CouchDB这样的文档存储。在这里查看一些 NoSQL 解决方案。

于 2010-09-16T12:09:34.533 回答