对于一个新项目,我期待结合MySQL,Sphinx和MongoDB。用于关系数据和搜索数值的MySQL,用于自由文本搜索的Sphinx和用于地理数据的MongoDB。就我的(快速)基准测试而言,MongoDB是最快的地理查询,sphinx用于自由文本搜索,MySQL用于关系数据搜索。所以为了获得最佳性能,我可能必须将它们结合到我的项目中。结合MySQL,Sphinx和MongDB。好主意?
然而,这有三个缺点。失败的
- 三点,即狮身人面像,MySQL和MongoDB的会崩溃 将停止我的网站
- 我需要在三个数据库中的数据,并需要保持他们最新 (所有数据只改变者每天所以它不是最糟糕的问题)。
- 硬件要求和主要内存正在通过屋顶 ,因为所有数据库都希望有大部分内存是 能够执行。
所以问题是我应该把三者结合起来,让一个出来(可能是MongoDB并且使用Sphinx作为地理数据),或者甚至只用一个(MongoDB或MySQL)?
为了给出关于数据的想法,关系数据是aprox 6GB,地理数据大约4GB,而自由文本数据大约16GB。
您的活动数据集是否大于您可以负担的RAM? –
编辑我的问题,也许它不是我能负担得起的,但随着数据的增长,只有1个数据库更有效率? – Nin