使用单父数据库进行跨数据库UID管理?

时间:2016-10-31 09:22:21

标签: mysql database

我有许多MySQL数据库,它们在某些时候会包含数据记录。

由于与此问题无关的多种原因,数据库保存在不同的服务器上。 显然,MySQL具有自动增量功能,可用于为这些记录分配唯一标识符。

由于数据不存储在单个数据库中,因此需要有一个父母'数据库,为数据库中的所有记录创建并返回UID,从而防止UID重复。

我可以通过使用父母来预见的缺点。数据库是:

- >其他SQL INSERT和SELECT查询,可能会影响查询速度。

- >父母的成本'服务器需要相当高的规格才能处理如此大量的并发连接。

鉴于这些事实,采取这种方法是否还有其他方法?这种系统设计是否常用?

1 个答案:

答案 0 :(得分:0)

我可以想到两个看起来更合适的设计:

1)在每个数据库服务器上单独生成UID,只需基于它,例如机器的MAC或其他机器特定的。

2)如果您不打算进行扩展计划,可以使用自动增量作为您的ID,只需转移即可。像集群方法一样:比如说,你有3台服务器。第一个将获得每第三个ID,第二个ID,每秒ID等等。同样,您可以采用相同的方式根据您的ID获取数据,反之亦然