SQL azure 上的分片概念是克服 50Gb 数据库大小限制的最受推荐的选项之一,它目前拥有。分片的一个关键策略是将称为原子单元的相关记录组合在一个分片中,这样应用程序只需查询一个 SQL azure 实例即可检索数据。
然而,在社交网络应用程序等应用程序中,由于实体和记录的相互连接,将原子单元分组到单个分片中并非易事。基于这种情况的推荐方法是什么?
同样在分片数据库中,表应该使用哪些主键?大整数或 GUID。我目前使用 BIGINT 标识列,但如果由于某种原因要合并数据,这将是一个问题,因为不同分片中的值之间存在冲突。我听说有人推荐 GUID(UniqueIdentifier),但我担心这会如何影响性能。使用 UniqueIdentifier 列索引本地 SQL 服务器是不可能的,我想知道如果我要使用 UniqueIdentifier 列,SQL azure 如何实现类似的策略。