对于一个100,000个用户的项目,我应该使用Cassandra吗?在MySQL 5中,我支持全文搜索和表分区。我正在启动一个类似于CodeIgniter的问答系统。这是从vBulletin到新系统的转变。在旧的vBulletin系统中,我有100,000个用户,总发帖数约为80,000个。在接下来的3到4年里,我预计会有越来越多的用户和帖子。那么,我应该使用Cassandra而不是MySQL 5吗?
如果我使用Cassandra,我需要从Grid-Service更改为Media Temple的专用虚拟主机。因为Cassandra不是作为托管系统的一部分提供的,所以我需要使用VPS或DV服务器解决方案。如果我使用MySQL,托管不是问题,但是性能和搜索速度又如何呢?
顺便问一下,Stack Overflow使用的是什么数据库?
发布于 2010-04-09 18:39:54
你说有100,000个用户--但是有多少并发用户呢?
Cassandra不是内置在主机系统中
在单个服务器上使用托管服务会导致规模非常小的操作--而且您显然会受到预算的限制。在单个服务器节点上运行Cassandra肯定没有优势。
MySQL5中的
支持全文搜索
这不是一个可伸缩的解决方案--你绝对应该考虑使用规范化搜索(我相信如果你无论如何都要迁移到Cassandra,你就必须这么做)。
考虑到您甚至在考虑完全集群解决方案之前就可以使用复制轻松地将MySQL解决方案扩展到多个数据库,而且您显然没有预算来进行自己的托管,迁移到Cassandra似乎是一种巨大的夸张。
发布于 2010-04-09 18:21:11
从您提供的信息来看,我建议坚持使用MySQL。
顺便说一句,Facebook一开始使用的是MySQL,直到它为超过1亿用户存储了超过7TB的收件箱数据后,才最终转向了Cassandra。
来源:Lakshman, Malik: Cassandra - A Decentralized Structured Storage System.
维基百科也用MySQL对文本数据进行handles hundreds of Gigabytes。
发布于 2010-04-11 01:54:22
我不建议您在您的案例中使用cassandra,原因如下:
关于mysql全文索引,我可以说它是无用的。我的意思是,它工作得太差了,不能用于高负载的项目。看看sphinxsearch.com,它是为sql数据库设计的一个很好的全文搜索实现。
但是,如果您期望您的系统快速增长并将为数百万用户提供服务,那么您应该从一开始就考虑cassandra。
https://stackoverflow.com/questions/2605981
复制相似问题