社交网站的数据库和数据库引擎

时间:2010-09-07 17:29:33

标签: mysql database performance database-engine

对于包含用户个人资料,实时供稿,照片/视频/内容共享等重要用户内容的网站,使用什么数据库,以及什么数据库引擎?当然Oracle / Microsoft sql出局是因为它们不是免费的(或便宜的)。我正在使用MySQL和MyISAM,但这会在社交网站上遇到性能问题。即使使用InnoDB也可能无法提高性能。首先,哪个DB更好用,哪个引擎 - 从免费到付费?

主要关注的是实时Feed效果,还有大量的数据跟踪和挖掘与分析。

由于这是一个创业公司 - 硬件成本有限,因此这里没有硬件农场来支持性能,因此至少在前两年寻找一个不错的替代品。

3 个答案:

答案 0 :(得分:1)

如果您的用户群足够大,需要高性能数据库,那么您的带宽和存储费用就不会便宜;为什么要在数据库上吝啬?

MS SQL具有免费和/或廉价版本,这些版本具有性能抑制功能。我总是从他们开始,如果网站起飞,我升级。可能Oracle提供类似的东西。

编辑:我应该在开始时说过,你不太可能很快就会超过MySQL,并且整个问题可能是过早优化的情况。

答案 1 :(得分:1)

如果你是初创公司,毕竟你可能买得起微软的东西。查看他们的BizSPark程序,它可以免费为您提供软件几年。

我不确定我是否同意MySQL不是你最好的选择。 FaceBook不使用MySQL吗?你期待更大吗?

如果您认为InnoDB对您而言太慢,那么MySQL上还有其他存储引擎选项。例如,您是否调查了TokuDB

您是否考虑过像Linode.com这样的托管服务,而不是您自己的硬件?这可能更适合您的现金流配置文件。如果您真的觉得数据库负载繁重,您可以拥有专用或多个服务器。从专用数据库框开始,然后从那里向上扩展。您也可以使用Amazon EC2等云服务。

编辑:我刚刚意识到Tokutek有一个社交网络案例研究: http://tokutek.com/customers/a-social-networking-case-study/

听起来我觉得你不太可能很快就会超过MySQL。如果你越来越忙,需要像TokuDB这样的东西,你可以用几股来感谢我。 : - )

答案 2 :(得分:0)

我建议为这些文件获取一个云帐户,并且可能是DB(MySQL和MyISAM)的专用服务器。

您可以限制存储文件的云的成本,但可以通过增加处理能力和内存为DB提供专用服务器来提高性能。