- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要设置一个 MySQL 环境,以支持随着时间的推移添加许多唯一的数据库(实际上是数千个)。我假设在某个时候我将需要开始添加 MySQL 服务器,并希望我的环境事先为这种情况做好准备,以便轻松过渡到第 2、3、100 个服务器。
为了让它变得有趣,如果解决方案被建模,那么查询数据库的应用程序将所有查询发送到一个地址并接收结果,这将非常方便。它应该不知道服务器的数量和位置。数据库名称是唯一的,可用于确定哪个服务器拥有该数据库。
我已经做了一些研究,MySQL Proxy 作为主要候选者脱颖而出,但我还没有找到任何关于使其按上述方式执行的具体内容。
有人吗?
最佳答案
好问题。我知道有几家公司已经这样做了(Facebook 是最大的)。没有人高兴,但其他选择也很糟糕。
您需要考虑更多的事情——当其中一些数据库或服务器出现故障时会发生什么?当您需要执行跨数据库查询时会发生什么(即使您现在不这么认为,您也会这样做)。
这是 FriendFeed 解决方案:http://bret.appspot.com/entry/how-friendfeed-uses-mysql
这有点“落后”,因为他们基本上将 MySQL 用作美化的键值存储。我不确定他们为什么不直接切断中间人并使用 BerkeleyDB 之类的东西来存储他们的对象。连接管理,也许?似乎 MySQL 的开销太高了,无法支付可以很容易添加的东西(著名的遗言)。
您真正需要的(我认为)是分布式无共享数据库。其中一些是建立在开源技术之上的,例如 MySQL 和 PostgreSQL,但没有一个是免费提供的。如果您有购买心情,请查看这些公司:Greenplum , AsterData , Netezza , Vertica .
还有大量各种分布式键值存储解决方案。由于缺乏更好的引用,这里是一个起点:http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/ .
关于mysql - 使用可伸缩性选项设置多个 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/791000/
我是一名优秀的程序员,十分优秀!