我有一个 Azure SQL Server 和一个数据库。我想要一个解决方案来存储该数据库中不同区域的选定表的特定记录。 例如,我有一个用户表,其中包含所有 PII 数据。这些用户可以来自世界任何地方。但我希望存储来自欧盟地区的用户记录仅存储在欧盟地区。 要添加它 - 我希望与特定用户相关的所有其他表记录也存储在该用户的区域中。
从应用程序的角度来看,我将能够查询所有用户和所有相关表,以获得全局用户的仪表板数据。
任何解决这种情况的指示都会对我有帮助。
最佳答案
另一种方法可能是对数据库进行分片。使用水平分片将每个国家/地区的行存储在该国家/地区的单独数据库中。弹性数据库客户端库将使用分片图为您完成大部分分片工作(假设您使用的是 .NET)。您可以使用分片图中的国家/地区代码来分割区域数据。
引用架构:https://learn.microsoft.com/en-us/azure/architecture/patterns/sharding
弹性数据库客户端:https://learn.microsoft.com/en-us/azure/sql-database/sql-database-elastic-database-client-library
关于azure - 如何使用 Azure SQL 实现跨多个区域的数据跨度(而非复制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58087483/