问题标签 [azure-elastic-scale]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
727 浏览

c# - Azure Elastic Sc​​ale:拆分合并教程 - 无法拆分分片

我按照这里的教程创建了所有提到的东西并部署了服务。我也可以正常运行。

我的弹性数据库当前包含一个范围分片,MinValue设置为0,并MaxValue设置为Infinity (NULL)

然后将这个分片实际分成两个。我做了以下工作:

  1. 创建了一个与分片 1 具有相同架构的新数据库
  2. 运行服务,它说目标数据库必须是分片映射的一部分。失败的 !!!
  3. 现在要将新数据库添加为分Shard Map Manager Database片,我下载了 Nuget中可用的 .Net API ,修改了设置等,但它不会添加新分片,因为第一个分片范围(0 - INFINITY)不允许它。再次失败:(
  4. 现在我动手修改了[__ShardManagement].[ShardMappingsGlobal]包含这些范围映射的实际表本身Shard Map Manager Database。我去那里并将唯一分片的 MaxValue 列设置为,比如说,20。虽然这个分片包含,比如说,最多 30 个分片键。
  5. 现在再次运行下载的 .Net API,将新的分片起始值指定为 20 - INFINITY。它起作用了,新的分片已在 SMM DB 中注册。

(我认为该服务现在将拆分 shard 1,获取所有具有 sharding key 21 的数据,并将插入到 shard TWO 中,因为它的 MinValue 为 21。)

  1. 再次运行服务,它抛出了以下错误:

    源和目标映射都指向同一个分片“new_shard”。

嗯......可能是因为第MaxValue一个碎片和MinValue新碎片是相同的。

  1. 现在我去更新了MaxValue = NULL (INFINITY)我想要拆分的第一个分片。再次运行服务,并收到以下错误:

    源和目标映射都指向同一个分片“new_shard”。

这到底是怎么回事?为什么这么难?合适的文档在哪里?

这对我来说非常重要,如果能在拆分该死的碎片方面提供任何帮助,我将不胜感激。

谢谢。

0 投票
3 回答
14824 浏览

sql-server - 超时已过。在 Azure sql 上完成操作之前经过的超时时间

我需要在 global.asax 应用程序启动事件上的 windows azure 上创建一个 sql 数据库,但是我收到了这个错误:

我的代码如下:

如何增加超时时间>?由于 sql 没有响应,是 sql 超时还是 Web 请求超时?

0 投票
1 回答
2856 浏览

c# - 如何以编程方式将 sql 数据库添加到弹性池?

我有以下控制台应用程序,它创建一个 ShardManagerDB 并在主数据库上为每个公司创建一个数据库。我可以在 Azure 上看到在服务器上创建的数据库,但它们不在弹性池中。

问题: 1. 使用当前 API 是否可行?2. 如果不是,还有哪些其他推荐的方法?

sharding.css

0 投票
1 回答
1032 浏览

c# - 如何以编程方式在基本版中创建 sql 数据库?在 Windows Azure 中

此处解释了此语法:

如何首先通过 Enity Framework 代码以编程方式创建基本/标准版类型的 Sql Azure 数据库

但是,我的代码是这样实现的:

我应该把基本字符串放在哪里,因为我不确定放在哪里。

0 投票
2 回答
2561 浏览

sql-server - 如何使用 SQL Server 中的内容保持 Redis 数据的准确性

我没有横向扩展 SQL 后端的经验,但从我目前所读的内容来看,写入分片和读取缓存似乎是两种最常见的做法。我正在尝试了解如何使用正确的缓存策略来最小化最终的一致性。

我想使用 Azure SQL 数据库、Entity Framework & Elastic Sc​​ale 中间件和 Redis 进行测试。

有没有办法同时向 SQL Server 和 Redis 提交分布式事务?

如果不是,那么在发生数据库更改时确保读取新鲜度的有效方法是什么?

我可以在同一个 API 中写入 SQL 并更新缓存,但写入缓存可能会因任何原因而失败。我可以实现重试逻辑,但假设所有尝试都失败,我可以尝试回滚 SQL 事务或简单地将旧缓存数据提供给客户端并定期重建缓存以赶上数据库。当然,后者意味着数据读取在一段时间内不一致。驱逐数据并从 SQL 集群读取是另一种选择,但跨分片查询可能非常昂贵,尤其是当它们涉及复杂的连接并且您在商品硬件上拥有数百个(如果不是数千个)数据库时。

0 投票
1 回答
188 浏览

azure - 添加新分片 - Azure Elastics Scale

我在为我们的系统创建新分片时遇到了麻烦。我有一个已经分片的数据库,有两个分片。

0-280000
280000-inf

我正在使用微软提供的这个应用程序。

使用上面的应用程序,我选择添加分片,当我尝试添加新分片并输入 400000 作为新的高键时,执行操作,最后当它尝试添加范围映射时,我收到以下错误。

错误

{"无法添加分片映射'UserID'中引用分片'[DataSource=xxxxxxxxxxxxxx Database=xxxxxx]'的映射,因为它所覆盖的范围已被另一个映射映射。执行存储过程'__ShardManagement.spBulkOperationShardMappingsGlobalBegin'进行操作时出错'AddRangeMapping'。如果另一个并发用户已经添加了覆盖给定范围的映射,则可能会发生这种情况。"}

在这方面的任何帮助将不胜感激。

0 投票
3 回答
17563 浏览

entity-framework - Enable-Migrations“对象引用未设置为对象的实例”

我刚刚创建了一个新的服务结构服务,它将定期尝试使用实体框架和弹性客户端数据库库将一些模型保存到 SQL Azure。我正在尝试尽可能将其建模为 SQL Azure Elastic Sc​​ale Client Library EF 示例(Elastic DB Tools EF 示例)。我正处于需要启用迁移的地步,但是当我运行 Enable-Migrations 时,我收到以下错误消息。我正在使用 ContextTypeName 参数,因为如果我最终要针对具有不同模型的同一数据库提供不同的服务结构服务,这听起来像是必需的。有什么建议么?

0 投票
1 回答
193 浏览

azure-sql-database - What is the difference between ReferenceTableInfo to ShardedTableInfo in Azure Elastic DB?

I downloaded the sample code -> "ElasticScaleStarterKit" (in visual studio -> file -> new -> project -> online -> Elastic DB Tools for Azure SQL - getting Started).

the schema defined as follows:

What is the difference between ReferenceTableInfo to ShardedTableInfo?

I understand that the simple difference is between "dry" information that is true for all databases (like status table etc...), and personal information - for a specific customer.

But, what would happen if all the tables was set to be References?? What's the downside to this kind of setting:

hope for any help :)

thank you!

0 投票
1 回答
564 浏览

dapper - 如何将 Dapper 与 Elastic Sc​​ale MultiShardConnection 和 MultiShardDataReader 一起使用?

我正在尝试解析从 Azure Elastic Sc​​ale MultiShardConnection 返回的查询结果。它看起来不像是从 SqlConnection 或 DbConnection 继承的,因此 Dapper 方法不可用。当您认为它正在执行联合在一起的扇出查询时,这是有道理的。我希望做的是使用现有的 Dapper 功能将读取器结果解析为类型。

如果我不使用 Dapper 进行原始连接,这些映射功能是否可用?

以下是我正在使用的类型:

这是我尝试使用 Dapper 映射器的示例查询。

更新

我最终需要使用sp_execute_fanout

0 投票
1 回答
458 浏览

sql-server - 使用 SQL Azure 的哈希分片映射

我一直在阅读有关使用 Azure Elastic Sc​​ale 对 SQL Azure 数据库进行分片的文章。本文讨论了两种类型的分片映射:ListRange哈希分片映射呢?我的应用程序要求是跨分片均匀分布数据,这似乎需要对分片键进行哈希处理。SQL Azure 和 Azure Elastic Sc​​ale 可以做到这一点吗?