我正在设计一个新项目的数据库,不确定是否使用UUID或普通的表唯一自增ID。到目前为止,我建立的网站都在单个服务器上运行,非常高的流量从来没有太过担心。然而,这个Web应用程序最终将在多个服务器上并发运行,提供API,并需要处理数千个请求每秒,我想确保我现在选择的设计不会以后瘫痪任何这些可能性。
当然,我有我的怀疑,通过我提出问题的方式应该很清楚,但我想听听那些有更多经验的人,如果我有或没有UUID,我以后可能会遇到什么麻烦,我真正应该根据什么来做出决定。
简而言之:我应该考虑哪些因素来决定是否为所有数据库模型使用UUID,以便任何一个对象可以由一个字符串唯一标识,并且在什么情况下适合将其用作主键,而不是逐表自动增量?
当然,我有我的怀疑,通过我提出问题的方式应该很清楚,但我想听听那些有更多经验的人,如果我有或没有UUID,我以后可能会遇到什么麻烦,我真正应该根据什么来做出决定。
简而言之:我应该考虑哪些因素来决定是否为所有数据库模型使用UUID,以便任何一个对象可以由一个字符串唯一标识,并且在什么情况下适合将其用作主键,而不是逐表自动增量?
注意: 我看过这个问题(何时真正需要将UUID作为设计的一部分?),并阅读了所有答案,但它们大多回答了“UUID很少冲突”,而不是“何时适合使用它们”。