称重大容量数据库服务器

时间:2010-10-04 05:14:38

标签: mysql database postgresql storage sqlite

我认为这部分是主观的,因为它可能取决于每个人对“高音量”的解释,但为了讨论,我想以一种假设的方式来解决这个问题。此外,如果这是ServerFault独有的内容,请告诉我,我很乐意转发那里。

显然,有许多着名的数据库服务器 - 其中最受赞誉的可能是MySQL。许多人发誓SQLite,PostgreSQL,甚至MSSQL(我承认只使用MySQL和SQLite)。我已经有很多成功处理MySQL的低中等(<= 1,000,000次点击/月)流量,其中数据库交互是最小的或中等的(例如,没有复杂的子查询,宽连接等),MySQL群集用于中等 - 高流量。也就是说,我想知道基于文件系统的系统对于极高流量的有效性(假设有100,000个并发连接,假设)。

总是采用“构建实体,优化它,然后通过投入更多CPU来扩展它”的方法,这对于云计算来说并非不合理,而且我不一定害怕产生奴隶以保持良好状态分散式。但从极简主义(和效率)的角度来看,对于那些具有多个并发请求的东西,似乎为机器添加更多齿轮只会增加不必要的复杂性。

我知道使用类似MySQL Cluster的东西支持在工作从属服务器上重新分配查询,如果一方失败,但是如果你有一个单一的应用程序,以便逻辑上将使用分成不同的服务器,那么是否有更高效的解决方案而不只是增加CPU?可能在 N 挂载点上使用文件系统存储?我很想得到一些关于利弊的想法。

1 个答案:

答案 0 :(得分:1)

关于C10K问题的主题,请参阅维基百科 - 或者该页面的引用,因为维基百科页面的内容相当简单。可以说,C10K指的是拥有10,000个并发客户端的问题。你问的问题是一个数量级更大的问题 - 这在实践中相应地更难以实现。您正在迅速侵占Google的搜索范围,并且需要使用Google大小的基础架构来应对。