首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mysql的数据集群

问使用mysql的数据集群
EN

Stack Overflow用户
提问于 2011-01-04 20:21:36
回答 2查看 71关注 0票数 0

我想创建多个数据库,并在其中的每个维护一个表的数量(即100个数据库,每个包含60个表)。我的应用程序将拥有知道要访问哪个DB和Table来查找所需数据的基础结构。每个表的内容不会超过200条记录,但我希望能够将数据分散到多台机器上,以实现可伸缩性。

在开发像使用mysql这样的分布式系统时,需要记住的重要问题是什么?我可以在哪里阅读以了解有关设置此类系统的更多信息?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-04 22:21:24

这是一本很棒的书:

http://www.amazon.com/High-Performance-MySQL-Optimization-Replication/dp/0596101716/ref=sr_1_1?ie=UTF8&qid=1294150323&sr=8-1

通常情况下,最弱的数据库才是最强大的。如果其中一个的性能下降,那么它通常会锁定web请求。确保对您的数据库运行状况和webapp运行状况进行良好的监控

每个表200条记录(取决于字段和索引的数量)是一个非常小的表大小。这表明你应该回到设计的绘图板上。

要跟上100个数据库太多了。如果你走这条路,一切都是自动化的!也就是说,除非你有数十亿条记录,否则你不需要这个。

基于你提供的信息,我建议放弃你的设计,寻找更简单的东西。如果他们的外部限制需要这样做,那么请雇用一个具有mysql dba技能的运营人员;您所描述的是每周10 - 20小时的承诺。

票数 2
EN

Stack Overflow用户

发布于 2011-01-04 23:12:59

根据表和记录的数量,我还建议重新考虑您的方法。考虑到水平可伸缩性的设计是值得称赞的,但考虑到数据数量,您最好只有一台DB服务器,优化后将整个数据集保存在RAM中(外加另一个节点,使用主从复制进行故障转移),并且您将能够跟上大量的流量。

除此之外,基于我对您的应用程序的一些了解,我不建议将您的数据拆分到那么多数据库和表中。当然,您可以在应用程序中编写您想要的任何逻辑,以确保它知道在哪里查找内容,但您将失去SQL的大量功能,因为您将无法直接使用纯SQL组合来自不同数据库的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4593495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档