优化大型且逐步增加的数据库

时间:2013-10-09 10:07:54

标签: php mysql database database-optimization

我即将创建一个由大型数据库组成的PHP Web项目。该数据库将是MYSQL,每天将存储超过30000条记录。为了优化数据库,我想用它来使用MEMCACHED库。我是否采用正确的方法或其他替代方案可用于克服数据优化问题。我只想提供更快的检索和插入。有人可以告诉我应该使用哪种工具以及如何使用,因为数据将以更高的速率逐渐增加?我也应该使用对象关系映射概念吗?

2 个答案:

答案 0 :(得分:1)

你可以使用Master&为此目的的奴隶技术。基本上,它将首先用于读取操作的2 db和用于写入操作的其他组合。

答案 1 :(得分:0)

我支持@halfer说他对测试数据是正确的。至少你会知道你并没有尝试优化那些不需要优化的东西。

除了测试数据之外,您还需要一些测试场景来模拟生产环境的流量模式,这是困难的部分,并且实际上取决于确切的应用程序模式:读取与写入的次数与每秒的更新次数。

鉴于您的数量(30k),您平均每次约3次插入,我认为即使是最便宜的机器也能轻松处理。至于阅读,一年多的数据将低于1100万条记录。如果查找速度变慢,您可能希望对数据进行分区(mysql级别或应用程序级别),但我怀疑您需要使用如此相对较小的卷。真正的差异制造者是如果读取数量比插入数量多1000倍,那么你可以查看@ram sharma建议的内容并设置一个复制的主从模型,其中主设备接受所有写入,而从设备是只读的。

如果使用正确,Memcached是一个功能强大的野兽,可以将慢速DB磁盘读取变为快速内存读取。如果数据库速度太慢,我仍然建议您调查一下。将移动部件添加到任何应用程序还会增加潜在的故障点并增加整体复杂性。

编辑:对于ORM的使用,这是你的选择,并且实际上不会改变有关DB速度的事情,尽管它可能会给最终用户增加几分之一毫秒......通常值得我根据自己的经验。

干杯 -

相关问题