高性能、快速且耐用的数据库?

高性能、快速且耐用的数据库?

直到最近,我还在使用 mongo 尝试阻止对系统服务器进行大规模 MySQL 升级,然而,在阅读了以下内容后:

http://www.mikealrogers.com/2010/07/mongodb-performance-durability/

我已经停止生产我的网站的 mongo 版本,直到 mongo 变得更加稳定。

有人建议我使用 couche DB 中的 _change 来创建一个新的 mongo 对象,这将解决 mongo db atm 中的主要问题,但我不确定。

我研究过其他数据库,例如 redis 和 Cassandra,但后来我放弃了 Cassandra,因为你必须为查询进行设计,而这对我的网站来说太过限制(模块化不好)。我并不是真的在寻找连接等,我只是在寻找在一行内搜索的能力,而不仅仅是列系列 id,因为当尝试添加新功能时,它会使编程变得相当困难。这对于搜索引擎或其他东西来说会很棒,但对于像 facebook 这样完整的真实网站来说就不是那么好了(而不仅仅是在其邮件搜索中)。

我想知道这里的人们在尝试找到可行的 SQL 速度问题解决方案时有什么经验。是否有一个万能的数据库可以解决所有问题,或者如果您想要可靠性,就只能使用 MySQL 或其他 SQL 数据库了?

也许是缓存形式和 SQL 之间的交叉(我注意到 Facebook 在他们的墙页等上使用了大量缓存……可能是这个原因)。

谢谢,

答案1

您实际上并没有考虑到您的网站的规模,而这对于采用哪种技术/方法有很大的影响。

无论如何,没有什么是灵丹妙药。您提到的大多数事情都是为了实现大规模扩展,而不是完全避免扩展。

即使在数据库前面使用 memcached 之类的东西,也需要稍微不同的思维方式才能充分利用它。您需要做的第一件事之一(如果您还没有这样做,可以节省大量成本)是查看和优化您正在进行的查询类型。

答案2

Mongo 到底有什么问题?无论如何,您都需要进行备份。它现在支持副本集,因此您实际上不会受到机器故障的困扰。

如果您现在使用 25 台服务器,则可以轻松运行几台服务器的副本集,而不会出现单点故障。

1000-3000 万行确实不多。特别是因为使用 noSQL 解决方案,您可以将几行合并为单个记录。如果您有 200 万用户,那么他们的大多数数据甚至可能都适合单个记录。(4 mb 的限制很多)

相关内容