问题标签 [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 投票
3 回答
78641 浏览

azure - 无法在 SQL Azure 中的数据库之间进行查询

我有一个 SQL Azure 数据库服务器,我需要在数据库之间进行查询,但不知道如何完成。

这是我的数据库的结构:

  • 服务器.X
    • 数据库.A
    • 数据库.B
    • 数据库.C

Database.A我有一个需要从Database.B检索数据的存储过程。通常,我会像这样引用数据库,SELECT * FROM [Database.B].[dbo].[MyTable]但这似乎在 SQL Azure 中是不允许的。

Msg 40515, Level 15, State 1, Line 16 Reference to database and/or server name in 'Database.B.dbo.MyTable' is not supported in this version of SQL Server.

有没有办法在数据库端做到这一点?

在最终版本中,数据库 A 和 C 都需要来自数据库 B 的数据。

0 投票
4 回答
17526 浏览

azure - 自动缩放 Azure SQL 数据库

我们有一个使用 Azure SQL 作为数据库后端的应用程序。在正常负载/条件下,此数据库可以在 Premium 1 计划上成功运行。但是,在凌晨时分,我们运行的作业会增加数据库负载。在这几个小时内,我们需要迁移到 Premium 3 计划。Premium 3 的成本大约是 8 倍,因此显然我们不想支付 24/7 运行此计划的成本。

是否可以向上和向下自动缩放数据库?云服务提供了一种简单的方法来扩展 Azure 门户中的实例数量,但是,Azure SQL 数据库不存在这样的情况。这可以通过 Azure SDK 以编程方式完成吗?我一直无法找到有关此主题的任何文档。

0 投票
1 回答
444 浏览

c# - ElasticScale Preview - MultiShardConnection - 不能在 connectionStringBuilder 中设置 DataSource

查看微软新的 ElasticScale,需要做一个 multiSharedConnection。不幸的是,出现了这个错误:

我的代码很简单:

在调试时 connstring 有这个值:

有任何想法吗 ?

0 投票
1 回答
1170 浏览

c# - 在数据库上下文中执行 Elastic Sc​​ale 多分片查询

我目前正忙于在我正在进行的项目中实施新的 Elastic Sc​​ale 技术。这项技术似乎解决了我们在设计新应用程序基础时遇到的一些复杂问题。

到目前为止,这些示例看起来很棒,我正忙于在我们新创建的 DAL 中实现它。

对于我们的应用程序,我们不能仅依赖 Azure 中的 Elastic Sc​​ale。该应用程序还必须能够在本地的单个实例机器上运行。因此,我创建了以下代码来查询运行良好的数据库,也可以使用 Elastic Sc​​ale。

connectionInstance是通过 IoC 配置的,这将创建一个我们IDbConnection可以在OurDatabaseContext. 一切都非常简单。

我面临的主要问题是做一个MultiShardConnection,由 Elastic Sc​​ale 提供并在示例中实现。

所以我的问题是,是否可以将 aMultiShardConnection与数据库上下文一起使用(例如 LINQ2SQL(我们正在使用)或 EF 的上下文)。

如果不是,是唯一将 与MultiShardConnection结合使用的解决方案MultiShardCommand吗?或者这样的功能何时可用?

0 投票
2 回答
130 浏览

azure - 如何从 Web Microsoft Azure 数据库的当前联合系统迁移到 Basic 数据库中的新 Elastic 横向扩展

我们发现 Microsoft Sql Azure Web 数据库将在 2015 年 9 月停用。我们的应用程序(PHP 应用程序)正在研究联合机制。

如何将我们的联邦转换为新的弹性扩展?是否有一个新的 Sql federation 命令来创建新的联邦并控制它们?

有没有一种简单的方法可以将数据从联合机制顺利移动到新的横向扩展(Web 到 Basic)数据库?

0 投票
1 回答
1188 浏览

c# - 在分片之间迁移数据

对于我正在进行的项目,我们需要客户附近数据库中的客户数据。出于这个原因,我们采用了 Microsoft 的新 Elastic Sc​​ale 解决方案。这消除了分片的复杂性,并且仍然使您能够在全球范围内扩展。

目前我面临一个相当重要的问题。我需要将数据从 1 个分片迁移到另一个分片。有一个示例应用程序(合并/拆分)可以做一些事情,但它适用于范围(1..100、101..400 等)。我正在处理的数据库与 Guids 一起工作,所以我们不能使用示例代码。

我自己创建了一个移动/合并管理工具,但在这里遇到了一个问题。起初我想用 ORM 插入所有对象和依赖项。由于一些圆形键,我无法轻松做到这一点。因此,我现在正在创建一个 SQL 脚本。SQL 脚本大约 130MB,只包含INSERT命令。

所有这些都必须在 1 个事务中完成,因为您不希望迁移完成一半。如果有错误,一切都应该回滚。

运行这个 130MB 的脚本会给我一些错误。我的本地开发机器和 SQL Azure 内存不足。SQL Azure:

缓冲池中可用内存不足

和本地:

资源池“默认”中的系统内存不足,无法运行此查询。

我已经尝试禁用索引,所以这不会在每个INSERT. 这并没有解决任何问题。

关于如何进行的任何建议?我无法真正拆分脚本,因为必须INSERT一次编辑所有数据。我认为 SSIS 包也不是一种选择。

创建我自己的数据库事务系统似乎有点矫枉过正且容易出错。

除了INSERT脚本之外,我还需要DELETE在“旧”分片/数据库上执行一个脚本,所以我猜这个解决方案也必须适用于这个脚本。我很想在 1 个事务中执行INSERTDELETE脚本,但这在 SQL Azure(分布式事务)上(还)不可能。

0 投票
1 回答
251 浏览

c# - 如何在代码中使用 Elastic Sc​​ale 将 shardlet 移动到不同的分片

阅读 Elastic Sc​​ale 的文档时,在移动 shardlet 时通常会使用 Split/Merve/Move 服务。我现在的问题是,如何在代码中触发 shardlet 的移动?我可以触发服务“api”,如Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge -> SplitMerge.psm1中所示。这种扩展性如何,例如,当多个 Shardlet 并行移动、独立移动还是排队移动时?或者还有其他我错过的方式吗?

0 投票
1 回答
239 浏览

c# - 拆分/合并具有“嵌套”外键引用的 shardlet

目前,我正忙于为我的客户的现有数据库使用 Azure Elastic Sc​​ale拆分/合并示例。

我已经定义了一个数据库模式,因此可以进行拆分/合并。但是,有 1 件事给了我错误。这是对 shardlet 的嵌套引用(要拆分的标识符)。

在拆分/合并示例的文档页面上,有以下示例代码用于指定数据库模式:

这段代码可能会起作用,因为它相当简单。但是,如果有另一个表 ,OrderLines它有一个FKto Orders,而它又有一个FKto Customer

在这种情况下应该如何定义模式?

您是否必须指定 和 之间的orderlinesorders?我想这会是有道理的。

我问的原因是因为我正在处理的数据库与 shardlet 有很多“嵌套”关系,我不确定如何指定架构。我已经注意到将它们指定ReferenceTableInfo为不是一个选项,因为这样工具会尝试在满足OrderLines和之间的 FK 关系之前插入记录Orders

0 投票
0 回答
147 浏览

azure-sql-database - 如何清理弹性规模数据库

在测试 Elastic Sc​​ale 时,我想在不删除完整数据库的情况下重新开始几次。由于这可能会为您节省一些时间,但我会分享以下 SQL来清理用于 Elastic Sc​​ale Shards 和 ShardMapsManager 的数据库。

0 投票
1 回答
286 浏览

azure - 使用 Elastic Sc​​ale 移动 shardlet 并强制复制参考表的顺序

我想将 shardlet 从一个分片移动到另一个分片。我正在使用 Azure Elastic Sc​​ale 库和提供的拆分/合并/移动示例。

尝试移动 shardlet 时,我不断收到错误消息,因为该工具正在将(引用)表复制到不同的分片,但顺序错误。该工具正在尝试复制与该Firmware表具有 FK 关系的User表。但是,此User表尚未复制,因此当它尝试执行INSERT命令时,由于不满足 FK 关系而失败。

该网站上的文档说明如下:

引用完整性:拆分/合并服务分析表之间的依赖关系,并使用外键-主键关系来暂存移动引用表和 shardlet 的操作。通常,引用表首先按依赖顺序复制,然后 shardlet 在每个批次中按照它们的依赖顺序复制。这是必要的,以便在新数据到达时遵守目标分片上的 FK-PK 约束。

有没有办法在处理表格时管理订单?

也许通过改变他们注册的顺序?