我在一家公司工作,我们总是访问外部网站获取信息.该网站由一家过时的软件开发公司开发,该公司甚至没有网站.由于数据库的内容提供商仅使用这个极其功能失调的网站来上传他们的数据,因此他们几乎在我的州拥有垄断权.这个网站的问题是它很慢,甚至没有功能.
控制连接速度和浏览器类型之类的东西很明显,问题在于网站本身.因此,我正在考虑重做网站,然后将其提供给内容提供商,作为上传数据的方法.基本上,这个项目需要一个非常大的数据库来存储数十万个名称,地址和其他类型的数据.
我对数据库的唯一体验是MySql,而我对动态内容的唯一体验就是PHP.所以,是的,我正在试图弄清楚旧的PHP + MySQL组合是否适合存储和表示大量数据.我只在小项目上做过这个,但我认为带有动态内容占位符的整个HTML模板都可以正常工作.
当然,我真的不知道为什么这个网站这么慢.也许它根本不是数据库.也许是服务器或其他东西.但我想要完成的关键是改善这个网站的速度和功能.我没有其他类型的数据库的经验,所以你可以提供任何提供这样的项目的提示/建议将非常感谢.此外,关于如何通常建立一个需要代表来自极大数据库的动态数据的快速且功能性站点的任何提示也会有所帮助.
*编辑:我正在学习python,所以如果你认为这将是一个更好的副脚本语言,那么我当然可以尝试实现与上面的初始计划不同的东西.
如果你做了一个好的设计,你可以在MySQL中拥有非常大的数据库(这个问题可能对你有所帮助).正确定义键和索引,优化您的查询(这EXPLAIN
是您的朋友).选择一个好的数据库引擎.
要从MySQL中获得最佳效果,还有很多工作要做.
编辑:一些更多的想法......
构建数据和表格的方式也非常重要,以便于编写,恢复或在两者之间找到折衷方案(取决于用例).
此外,如果它增长,你可以使用集群,在几台机器中的几个MySQL数据库之间划分数据(例如使用主从模式),这是另一种选择.
为了提高性能,您还应该考虑使用某种缓存来进行重复查询.
还有像Vitess这样的工具,它们以与NoSQL数据库类似的方式帮助扩展MySQL数据库.
如果PHP/MySQL可以扩展到Facebook的使用,它可以扩展到你的.它不一定是适用于所有情况的最佳解决方案,也不一定是一个简单的任务.