SQL Azure Federation中Transact-SQL(T-SQL)管理碎片处理的最后一步是把联邦根成员表分成五个表,ID值从6到2。要完成这一步,我们将使用基于模版的查询,它是通过菜单选项生成的。要使用SQL Azure Federation的生成模版功能,请点击“工具”菜单,然后点击“选项”打开选项对话框,打开SQL Server对象浏览节点,选择“生成脚本”然后修改脚本的值,把数据库引擎类型修改为SQL Azure数据库(参见图1)。 图1:为SQL Azure的T-SQL语言进行脚本修改,因为T-SQL方言缺少对几个T-SQL关键字的支持。
右键单击“联邦根节点”(例如……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
SQL Azure Federation中Transact-SQL(T-SQL)管理碎片处理的最后一步是把联邦根成员表分成五个表,ID值从6到2。要完成这一步,我们将使用基于模版的查询,它是通过菜单选项生成的。要使用SQL Azure Federation的生成模版功能,请点击“工具”菜单,然后点击“选项”打开选项对话框,打开SQL Server对象浏览节点,选择“生成脚本”然后修改脚本的值,把数据库引擎类型修改为SQL Azure数据库(参见图1)。
图1:为SQL Azure的T-SQL语言进行脚本修改,因为T-SQL方言缺少对几个T-SQL关键字的支持。
右键单击“联邦根节点”(例如:AzureDiagnostics::WADFederation),选择“分割联邦成员”来插入一个“修改联邦”,在模版中分割。在“联邦根节点”上的操作必须在前面加一句“USE FEDERATION ROOT WITH RESET”语句。用下面语句替换第二个模板命令(见图2)。
ALTER FEDERATION WADFederation SPLIT AT (Id = 6)
图2:以最大Id值开始联邦成员分割处理,本例中是6。
同样的方式再重复操作四次,把6替换为“5,4,3,2”,这样就创建了五个新的联邦表。尽管在查询之后几乎立即就会出现“命令成功完成”的提示信息,但你必须等几分钟分割才能完成,时间长短与新表的大小有关。然后再开始下一步分割之前用ID=1重新连接联邦根。当你重新连接时,联邦根的参数将变成“Id=LOW…n”,其中n=吐出的ID值。请注意LOW ID值是包括所有的,而HIGH ID值是除了ID值之外的。
查询联邦表
对联邦成员执行“SELECT”语句需要在执行“SELECT”语句之前的“USE FEDERATION”语句中指定联邦的名称,分发Key值和过滤选项。如以下语句:
USE FEDERATION WADFederation (Id = 1) WITH FILTERING=OFF, RESET GO SELECT COUNT(*) FROM dbo.WADPerfCounters GO |
“FILTERING=OFF”选项可以实现访问数据库中的所有行;而“FILTERING=ON”针对有ID值范围的成员查询指定Id值的可见行。
本例中的数据上传结束时有49万行数据,所以在完成分割之后每个联邦表包含81666或者81667行数据(参见图3)。
图3:处理“SELECT”查询需要“USE FEDERATION”语句带有联邦Id值作为参数,后面跟着“WITH FILTERING={ON|OFF},RESET”修饰符。
SQLAzureFedMW会识别联邦表,并自动根据CounterID值的标定上传新行给合适的表。
运行扇出查询
数据消费应用需要跨许多个或者所有的联邦成员,也包括单一联邦表查询的功能。跨多个联邦表查询需要扇出查询,SQL Azure Federation还没有实现本地化。要填补这个空白,SQL Azure Federation团队的Cihan Biyikoglu提供了一个Windows Azure基础和完整扇出查询功能演示应用,该应用可以从三个微软数据中心区(北美南美,欧洲和亚洲)访问到。
扇出查询与针对Hadoop数据集的MapReduce操作类似,因为它们可以分两部分执行操作:
- 基本成员查询,发送给查询涉及的所有成员。
- 可选的完整汇总查询,执行后续处理操作,把成员查询结果加工成想要的最终结果集。
接下来的基本查询产生图4中部分展示的结果,查询二月份的后三天和三月份的前两天:
SELECT CounterID, CounterName, DATEPART(m, Timestamp) AS Month, DATEPART(d, Timestamp) AS Day, AVG(CounterValue) AS [Average Value] FROM WADPerfCounters GROUP BY CounterID, CounterName, DATEPART(m, Timestamp), DATEPART(d, Timestamp) ORDER BY DATEPART(m, Timestamp), DATEPART(d, Timestamp) |
图4:为SQL Azure使用联邦工具针对SQL Azure Federation执行扇出查询。
第二个查询可以对第一个查询产生的值使用“HAVING”从句,或者应用其它聚合操作,如图5所示。
图5:针对SQL Azure Federation的完整扇出查询可以应用“HAVING”从句或者在汇总查询中针对初始T-SQL成员查询执行聚合函数。
SQL Server Management Studio 2012支持SQL Azure Federation,Federation工具使得基于云的SQL Azure潜在用户验证其新获得的大数据管理横向扩展成为可能。您可以在Windows Azure三个月的免费试用期间,开始测试单个1GB免费SQL Azure数据库,然后利用SQL Azure Federation数据迁移向导降低转移向按需付费大数据的SQL Azure代价,从而进入微软公司数据中心的SQL Azure Federation。
翻译
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
数据库和数据仓库的区别在哪儿?
目前,大部分数据仓库还是用数据库进行管理。数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。
-
如何使用服务来平衡Oracle RAC 数据库工作负载
为不同的应用程序配置不同的服务,DBA可以更有效地平衡集群工作负载,在Oracle RAC数据库环境下实现更好的应用程序性能。