在多个客户端和服务器环境中拥有分布式、非始终连接的数据库的最佳方式是什么?
我正在构建一个多租户 Web 应用程序,它也有一个分离的 Windows 客户端。系统中的实体包括联系人、任务、活动等。这些实体中有很多是在客户端创建的,而与服务器断开连接。如果客户端以独立模式(当前版本)运行,它可能永远不会连接到服务器。
现在我想确保在客户端创建实体时,它不会在服务器端产生冲突。这似乎是使用 GUID 作为主键的完美工作,虽然在实体数量可能很少的客户端不是问题,但我担心这可能会成为服务器端的问题GUID 的随机性会使查找效率非常低。
此外,在什么时候(即哪个表)您不再需要在主键上使用 GUID - 例如说一个任务有一系列注释(1:N) - 注释没有什么特别特别的,它们只需要可访问 - 是否有一种有效的方法来键入这些实体?