我知道水平分区可以创建许多表。
我已经看到,在基于应用程序的分片中,您将在多个数据库服务器上拥有相同的数据库结构。但它不会包含相同的数据。
所以例如:
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服务器的简单查询获取数据?
简而言之,我想在单个表中插入16TB的数据,但我没有单个机器上如此大的空间,因此我想安装两个容量为8TB的服务器。但用户查询单个数据库并获得结果,而在后台可能使用了分片。
我也开放这个讨论,以寻找其他好的解决方案,例如MYSQL集群。
有人可以解释一下,或者有一个好的初学者教程(逐步)教你如何跨多个服务器进行分区吗?