我即将完成一个WEB应用程序(PHP + mysql网站门户),它将缓慢地开始,比如上传少量图片和在主数据库表中插入几行,但不久之后,在几年内,我期望它在某一时刻稳步增长,甚至逻辑上增长。
根据我的Excel计算,在某个时候,数据库表数据+索引(innoDB)将使托管图片的大小增长10倍,但在开始时则相反。
因此,基本上,我的门户托管图片(比如说,中等大小的jpegs ),并使用MySql InnoDB数据库表。
我对各位管理员和专业人士的问题是关于我的MySql数据库的。
我事先在想,这样我就不会措手不及了:
当我的数据库将增长更多,甚至得到1.2TB、2TB或more....how时,我能处理吗?我可以说是在2台或更多的专用机器上分割它吗,这样搜索仍将是快速的,并从这个大型数据库获取数据吗?或者我应该做一个服务器,用很多便宜的7200 rpm sata把它抽出来吗?或者是什么可以解决一个不断增长的数据库。
这个web应用程序的第一个配置是一个VPS主机,它有一个4 4ghz处理器,3GB的ram和2x60 GB的SSD 1。
谢谢你的回答,
发布于 2013-02-27 21:01:24
以下是一些一般性建议..。
希望这能帮上忙
发布于 2013-02-28 06:34:06
有句谚语说,过早优化是万恶之源。我的建议是关注新出现的问题,但不要担心长期影响。集中精力保持你的数据库尽可能好,让未来照顾自己。
至于在数据库中存储图像,这里有很多优点和缺点。我在MySQL中做了很多这方面的工作,但是在PostgreSQL上有一些非常好的方面(原子备份ftw!)这一点和一些真正令人讨厌的陷阱(啊,内存使用把基础64-表示的字节重新变成二进制!)所以要小心,注意权衡,并且愿意重新考虑这两种方式。
接下来的一点是,几年后,您的应用程序可能会与现在有所不同。使用模式可能也会有所不同。试图解决你认为有一天你可能会看到的问题是增加复杂性的一个好方法,它将使你明天遇到的实际问题更难解决。
一旦你开始挣扎,对你的选择有一个好的想法是一个好主意。其中包括:
这是你的主要选择。然而,每一个都增加了很大的复杂性,现在不可能知道哪些用例对您的用例有最佳的权衡。
如果你担心短期到中期的扩张,你能做的最重要的一件事就是学习各种选择和工具,并在一个安全和理智的环境中与那些你能做到的东西一起玩。
https://dba.stackexchange.com/questions/35583
复制相似问题