【发布时间】:2013-10-19 02:31:46
【问题描述】:
我知道水平分区...你可以创建很多表。
我seen 表示,在基于应用程序的分片中,您将在多个数据库服务器上拥有相同的数据库结构。但它不会包含相同的数据。
例如:
Users 1 - 10000: server A
Users 10001 - 20000: server B
用于分片的技术是 MySQL-Proxy,例如一些工具(基于 MySQL Proxy)是 SpockProxy。我们也可以手动分片。必需是主表,例如:
-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
但上述这些技术在应用程序级别处理..我想在数据库服务器级别解决它..
我们可以透明地使用多个服务器吗?这将允许 Mysql 表扩展。
在X个服务器上创建X个表,最终用户通过对单个DB服务器的简单查询获取数据?
简而言之,我想在单个表中插入 16 TB 的数据,但我在单机上没有这么大的空间,所以我想安装两台容量为 8 TB 的服务器。但是用户查询单个数据库并在后端获取结果可能会使用分片。
我还为其他一些好的解决方案打开此讨论,例如MYSQL Clustering。
有没有人愿意解释一下,或者有一个很好的初学者教程(循序渐进)教你如何跨多个服务器进行分区?
【问题讨论】:
-
据我所知,所有分片都是在应用程序级别完成的。 MySQL 不会透明地这样做。
-
@Namphibian 是否有任何其他解决方案可以解决此问题,例如mysql集群等..
-
今天会看一下,但我上次使用集群时速度很慢,真的不值得。
-
@Namphibian :谢谢,我很期待。
标签: mysql database bigdata sharding