gpt4 book ai didi

sql-server - Azure 联合已弃用。我有什么选择?

转载 作者:行者123 更新时间:2023-12-03 17:11:07 24 4
gpt4 key购买 nike

背景:

我们有一个应用程序,其中主要实体是客户。该应用程序中的所有信息均从客户开始。我们认为如果我们可以将其用于某种分区,那就太好了。我们设计的服务以 Azure SQL 数据库作为后端。

我们的表格如下所示(为简洁起见,仅保留相关部分):

TABLE dbo.Orders
(
CustomerId INT NOT NULL DEFAULT( FEDERATION_FILTERING_VALUE( 'FEDERATION_BY_CUSTOMER' ) ),
OrderId INT NOT NULL,
....,
CONSTRAINT PK_Orders PRIMARY KEY CLUSTERED ( CustomerId, OrderId )
) FEDERATED ON ( FEDERATION_BY_CUSTOMER = CustomerId );

现在这让我们可以做一些疯狂的事情。我们对所有 SQL 相关内容的入口点始终首先包含以下命令:

USE FEDERATION GroupFederation( FEDERATION_BY_CUSTOMER = 1 ) WITH RESET, FILTERING = ON

在本例中,此语句:

SELECT * FROM Orders

INSERT INTO Orders ( OrderId ) VALUES ( 10 );

将毫无问题地工作,仅处理给定客户的数据。 CustomerId COLUMN 将始终从系统函数 FEDERATION_FILTERING_VALUE 推断出来;

现在我们可以毫无问题地将所有客户放在一个数据库中,并且他们将彼此隔离。如果将来的某个时候,其中一个变得太大,我们可以在该特定客户 ID 处拆分联合,并且我们不必更改代码中的任何内容来支持它。

哎呀,我们可以将每个客户放在单独的联合数据库中,而使用它的服务对此一无所知。

我们对我们的解决方案非常满意,我认为我的想法非常聪明。直到最近,微软宣布他们将在即将推出的新 Azure 数据库版本中弃用 Azure 联邦功能。了解更多相关信息herehere .

我希望你能看到我的问题。你认为我的选择是什么?您是否使用 Azure Federations?您将如何过渡?

谢谢。

最佳答案

我们发现,与联合相比,自定义分片解决方案通常会在可扩展性、灵 active 和性能方面带来更好的结果。您可以在此处找到有关联合和自定义分片的更多信息:http://msdn.microsoft.com/en-us/library/dn495641.aspx 。这是宣布停用 Windows Azure SQL 数据库中的联合以及 Web 版和商业版的部分原因。

我鼓励您研究 self 分片作为替代方案。 CAT 团队去年就自分片模式发布了很好的指南,网址为 http://social.technet.microsoft.com/wiki/contents/articles/17987.cloud-service-fundamentals.aspx ,更多类似的 Material 很快就会推出。

请随时与我联系,讨论迁移现有联合应用程序的替代方案。我是 Azure DB 产品团队的一员,您可以通过 torsteng(at)microsoft.com 与我联系

谢谢

托斯顿

关于sql-server - Azure 联合已弃用。我有什么选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23339150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com