我知道水平分区......你可以创建很多表.
你怎么能用多台服务器做到这一点?这将允许Mysql扩展.
在X服务器上创建X表?
有没有人愿意解释,或者有一个好的初学者教程(循序渐进)教你如何跨多个服务器进行分区?
使用MySQL,人们通常会执行所谓的基于应用程序的分片.
简而言之,您将在多个数据库服务器上拥有相同的数据库结构.但它不会包含相同的数据.
例如:
Users 1 - 10000: server A Users 10001 - 20000: server B
Sharding(当然)不是备份技术,它意味着在集群中分发读写.
例如,用于分片的技术是MySQL-Proxy.这不是HScale发明的,它或多或少是一个简单的LUA脚本,它将读写分配给不同的后端服务器.MySQL forge应该有很多例子.
另一个工具(基于MySQL代理)是SpockProxy.完全针对分片量身定制.他们也摆脱了Lua,他们处理各种事情,使其比代理更快.到目前为止,我只测试了SpockProxy,但从未在生产中运行过.
现在除了那些代理之外,你也可以给自己留下深刻的印象.必需的是主表,例如:
------------------- | userA | server1 | | userB | server2 | | userC | server1 | -------------------
然后构建对服务器的读写操作.不是很漂亮但是有效.下一个障碍是让它变得更加严格.因此,例如,server1
,server2
和server3
每个人都应该是一小簇.
最后但并非最不重要的是,Digg的IDDB是另一种在服务器之间划分数据和索引的有趣方法.我不确定他们是否曾发布过代码,但他们的博客文章提供了有关它的功能的详细信息.
如果这有帮助,请告诉我!