SQL Azure 联合和原子单元标识

标签 sql entity-framework azure cloud federation

我已经开始开发我的第一个 Azure 应用程序,并且在这个过程中我学到了很多东西。我最近发现的功能之一是 SQL Azure 中的联合,本质上是 SQL Azure 分片实现,因此我们可以水平扩展。

我的项目开始使用 SQL Server,并且已经主要按用户配置文件进行分组,因此我认为联合是最有意义的。我已经创建了联合,包括所有子表,但有一个问题 - 不支持身份。我明白为什么它不受支持,我不确定用什么最好替换它。这似乎是一个大问题,其他人一定已经解决了,但我还没有找到太多。

我可以只使用 UniqueIdentifier,但我读到这可能会很痛苦。我也不太确定使用 GUID 作为联合表的主键可能会遇到哪些其他性能问题。

我正在将其与 Entity Framework 一起使用,但尚未达到使联合友好的程度。据我所知,这并不比在编写 LINQ 查询之前执行一些代码来选择联合要复杂多少,但当我到达它时我会跨过那座桥。

目前,我不知道如何最好地向我的联盟添加项目,因为没有好的解决方案来生成身份。

如有任何建议,我们将不胜感激。

最佳答案

我在使用SQL Azure Federation时使用GUID,它几乎是数据分片时的最佳选择。假设您在许多联盟成员中使用身份,这将导致您的主要值重复。当您需要将数据合并回来,或者归档时,您如何处理这些记录。

人们认为 GUID 在数据插入时性能很低,尤其是当我们将它用作聚集索引时。但我从来没有遇到过这个问题。或者我应该说,除了这个之外,还有很多我们可以做的调整。

关于SQL Azure 联合和原子单元标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9426630/

相关文章:

php - 如何在一个查询中组合 2 个选择?

c# - 使用 WPF 验证命令

sql - 通过连接字符串在 Entity Framework 中启用多个事件结果集(MARS)

azure - Azure "Kudu"内的.SVC 文件为空

azure - 如何对azure函数blob存储触发选项进行单元测试?

sql - 数据库 "key/ID"设计思路、代理键、主键等

MySQL,如何以这种格式获取日期范围 : YYYY-MM-DD HH

sql - 如何使用 `select` 的结果作为 `insert into` 的参数

c# - 使用 Code First EF6 的 Multi-Tenancy

pandas - 将 Pandas 或 Pyspark 数据帧从 Databricks 保存到 Azure Blob 存储