azure - 如何使用 Azure SQL 实现跨多个区域的数据跨度(而非复制)

标签 azure azure-sql-database database-partitioning

我有一个 Azure SQL Server 和一个数据库。我想要一个解决方案来存储该数据库中不同区域的选定表的特定记录。 例如,我有一个用户表,其中包含所有 PII 数据。这些用户可以来自世界任何地方。但我希望存储来自欧盟地区的用户记录仅存储在欧盟地区。 要添加它 - 我希望与特定用户相关的所有其他表记录也存储在该用户的区域中。

从应用程序的角度来看,我将能够查询所有用户和所有相关表,以获得全局用户的仪表板数据。

任何解决这种情况的指示都会对我有帮助。

最佳答案

另一种方法可能是对数据库进行分片。使用水平分片将每个国家/地区的行存储在该国家/地区的单独数据库中。弹性数据库客户端库将使用分片图为您完成大部分分片工作(假设您使用的是 .NET)。您可以使用分片图中的国家/地区代码来分割区域数据。

enter image description here

引用架构: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/

相关文章:

kdb - 我在分区表中的符号列文件大小异常大——为什么会这样?

python - 无法在 Azure Web 应用程序上运行 EXE 文件

azure - Karate API 测试 - 承载错误 ="invalid_token",error_description ="The audience <number> is invalid"

c# - 如何从azure表中获取连续的行集?

azure - 无法从 Visual Studio 2017 部署到 Azure Service Fabric 方群集

Azure 应用服务中的 Azure SQL 身份验证连接字符串?

function - 如何将unix纪元时间转换为hive中的日期字符串

asp.net - 如何向 Azure SQL 的 ASP.NET 成员资格提供程序添加重试逻辑?

azure - Azure 中基于资源的策略

MySQL - 表分区/子分区的澄清