SQL Azure(十) SQL Azure Data Sync数据同步功能(上)

简介:

  首先举个简单的例子:如果某个大型生产企业包含有2个子系统:

-  有一个《产品生产系统》放在企业内部部署,在企业内部办公的员工(生产员工)都可以通过内网来访问该系统。后台的数据库是局域网内的SQL Server 2008 R2。

-  另外有一个《产品库存系统》放在Windows Azure平台上运行。在企业外部的员工,比如销售人员可以通过手机、平板电脑等快速访问,查看库存状况以便及时进行销售行为。后台的数据库采用的是微软的SQL Azure云端数据库。

  那这样就会出现一个问题:如何让SQL Server Database的数据库与SQL Azure云端数据库保持一致性,方便生产人员和销售人员协同的工作?

  SQL Azure Data Sync就能实现这一功能。它的核心是以Sync Framwork为技术,能够进行 "云数据库--云数据库(Cloud to Cloud)"和"云数据库--本地数据库(Cloud to Local)"的同步。

-  如果要实现Cloud to Cloud的功能,必须创建两个不同的SQL Azure Database

-  如果要实现Cloud to Local,必须创建一个SQL Azure DB;本地使用SQL Server DB。

  Data Sync使用过了一个叫"数据中心(Hub Database)"的概念,通过Hub Database的整合,让不同数据库(on premise DB and on cloud DB)的同步能够更加顺畅。这个Hub Database是位于微软的数据中心内的。

  看到这里,可能有些网友会提问:为什么我们要使用Hub Database呢?其实这个Hub Database起到了一个仲裁的作用。我们还是举之前工厂生产的例子:如果因为工厂停电的原因,产品的库存为0,销售人员就不能进行正常的销售。在恢复电力供应的情况下,从流水线上又生产出新一批的产品,总数为1000个,员工在本地SQL Server 2008 R2中将库存数量改为1000;但这是SQL Azure的库存状态为0(没错,因为没人去修改它)。 Hub Database这时候会自动在后台运行,分别查询Local DB和Cloud DB,发现库存状态的值不同。根据Hub Database的策略(可自定义),我们可以设置以Local DB为准,这时候Hub DB会将1000这个值写到Cloud DB同样的表所对应的值里面。这样就让Local DB和Hub DB同步了。

  显而易见,SQL Azure Data Sync为您和您的企业提供了很多好处:

  • 无需编写代码就可创建各种复杂的同步。
    •   Microsoft SQL Azure Data Sync支持一个数据中心或地理位置分散的多个数据中心的多个数据库的同步组。每个同步组都可根据您的业务需求进行定制,从而减少开支。
  • 无需创建和管理您自己的云便可利用Microsoft Windows Azure平台和Microsoft SQL Azure
    •   让Microsoft 处理所有基础结构、安全性和缩放问题,您只需专心管理业务即可。 
分类:  Azure SQL Database

本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/03/26/2417757.html,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
简介:本文整理自阿里云高级技术专家李麟在Flink Forward Asia 2025新加坡站的分享,介绍了Flink 2.1 SQL在实时数据处理与AI融合方面的关键进展,包括AI函数集成、Join优化及未来发展方向,助力构建高效实时AI管道。
1116 43
|
8月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
本文整理自阿里云的高级技术专家、Apache Flink PMC 成员李麟老师在 Flink Forward Asia 2025 新加坡[1]站 —— 实时 AI 专场中的分享。将带来关于 Flink 2.1 版本中 SQL 在实时数据处理和 AI 方面进展的话题。
515 0
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
|
9月前
|
SQL
SQL如何在CTE中使用Order By的功能
SQL Server如何在CTE中使用Order By的功能
|
9月前
|
SQL
SQL如何只让特定列中只显示一行数据
SQL如何只让特定列中只显示一行数据
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
325 5
|
11月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
353 32
|
9月前
|
SQL
SQL中如何删除指定查询出来的数据
SQL中如何删除指定查询出来的数据
|
9月前
|
SQL 关系型数据库 MySQL
SQL如何对不同表的数据进行更新
本文介绍了如何将表A的Col1数据更新到表B的Col1中,分别提供了Microsoft SQL和MySQL的实现方法,并探讨了多表合并后更新的优化方式,如使用MERGE语句提升效率。适用于数据库数据同步与批量更新场景。
|
11月前
|
SQL 数据挖掘 关系型数据库
【SQL 周周练】一千条数据需要做一天,怎么用 SQL 处理电表数据(如何动态构造自然月)
题目来自于某位发帖人在某 Excel 论坛的求助,他需要将电表缴费数据按照缴费区间拆开后再按月份汇总。当时用手工处理数据,自称一千条数据就需要处理一天。我将这个问题转化为 SQL 题目。
418 12
|
11月前
|
SQL 数据采集 资源调度
【SQL 周周练】爬取短视频发现数据缺失,如何用 SQL 填充
爬虫爬取抖音和快手的短视频数据时,如果遇到数据缺失的情况,如何使用 SQL 语句完成数据的补全。
427 5
下一篇
开通oss服务