我正在寻找解决方案,在没有更改应用程序代码的情况下在mysql中对我的数据进行分片,这个项目在谷歌搜索结果中显示得相当深。
虽然没有太多关于此的文档,但这似乎是一个很有前途的解决方案,可以在多个数据库中分割数据。
这是他们的项目描述spider for mysql
蜘蛛存储引擎可以将不同MySQL实例的表视为同一实例的表。由于支持xa事务和分区,因此可以对同一个表的两个或多个服务器进行分散排列。
新的存储引擎“Spider”确实可以通过其强大的可扩展性来访问MySQL的其他存储引擎,以下是最重要的想法;
1:可伸缩性
2:更快的访问
3:数据同步
4:降低成本
它仍然是一个非常活跃的项目(它目前支持mysql 5.5.14),但我没有在搜索引擎上看到很多结果。你能告诉我为什么吗?
由于我在这个领域没有太多的知识来评估这个,我想问一下使用这种方法时的优缺点。蜘蛛存储是SPOF吗?
我可以拥有多个Spider存储,如果我这样做会影响事务提交吗?
在决定切换到MongoDB之前,我需要考虑这种方法。 我的应用程序是一个写密集型应用程序(社交网络项目)。 它确实需要在未来完美的横向扩展。
答案 0 :(得分:1)
我对spiderdb非常好奇......
我知道你的蜘蛛服务器只是一种“sql路由器”。您必须使用分区注释定义一些分片规则,服务器将转发和汇总来自不同分片的数据。
逻辑上它似乎是一个SPOF ......但是你可以克服你的蜘蛛服务器,因为SPIDER不会存储任何数据。你只需要保持所有蜘蛛实例的同步......
也许你可以通过复制方案来保持蜘蛛协同同步......
正如我已经说过的那样,我从未使用过这个有前途的引擎,但我非常好奇,如果您决定使用它,我希望您能给出反馈意见
此致