我推测的webapp需要横向扩展,并且从一开始就需要一对MySQL服务器(可能在发布后很快就会上升到一个以上)。 由于自动增量主键不合适,我想知道人们使用什么替代品。
带有日期的东西是最有意义的,但是如果你下降到毫秒级别并假设一个三位数的服务器ID,这是一个非常大的数字:
现在 sssyymmddhhmmssmicros
或001110510143622123456
- 加上你可以在开头用另一个数字来简化前导零(或许是数据中心ID)。
纪元时间缩短了它,但只是一点点。
还有什么?
答案 0 :(得分:7)
我认为您正在寻找的是UUID(通用唯一标识符)。在MySQL中,你可以生成UUID函数uuid()。
SELECT uuid();
UUID看起来像这样8cb1764a-7b0d-11e0-aaa7-00270e0f8070 ......我知道!它很长但是有效。
答案 1 :(得分:1)
简短的回答:你不想要多主复制,也许不是mysql(看看cassandra)。但是,您需要包含主ID的序列。您可以使用单独的表来模拟序列。看看PEAR如何模仿它们。例如。
答案 2 :(得分:1)
我认为您正在寻找的是GTID。它们是独一无二的。在MySQL中使用多主复制。 a link for more details!