【发布时间】:2012-10-11 13:57:14
【问题描述】:
在多个客户端和服务器环境中拥有分布式、非始终连接的数据库的最佳方式是什么?
我正在构建一个多租户 Web 应用程序,该应用程序还有一个独立的 Windows 客户端。系统中的实体包括联系人、任务、活动等。这些实体中有很多是在客户端创建的,而与服务器断开连接。如果客户端在独立模式下运行(这是当前版本),它可能永远不会连接到服务器。
现在我想确保在客户端创建实体时,它不会在服务器端产生冲突。这似乎是使用 GUID 作为主键的完美工作,虽然在实体数量可能很少的客户端不是问题,但我担心这可能会成为服务器端的问题GUID 的随机性会使查找效率非常低。
此外,在什么时候(即哪个表)您不再需要在主键上使用 GUID - 例如说一个任务有一系列注释 (1:N) - 注释没有什么特别之处,它们只是需要可访问 - 是否有一种有效的方法来键入这些实体?
【问题讨论】:
-
您使用的是哪种多租户架构?用户是否共享表?也就是说,这些表是否存储来自多个用户的行?
-
嗨 Catcall - 这就是意图。即每张表存储所有客户的数据
-
也想知道为什么投反对票...
标签: database-design primary-key distributed-computing