Azure SQL Federation(联合)

说Federation(联合)之前,先说下,表的垂直分割 和 水平分割
-------------------------------------------------------------------水平分割-----------------------------------------------------
具个例子吧:比如,每个人都有身份证号上面有你的信息,那么肯定有个一张表存放这些信息,中国13亿人的身份证信息,不可能全部放在一张表中,

如果放在一张表中,查询会比较慢,现在怎么办了????

我们可以把表分成9张,分别为 table1 ,table2,table3,table4,table5......
如果增加一条数据,可以根据ID不同,而插入不同的表,
例如: ID%10:表示ID取10的余数= 0~9,插入的时候 insert into 表名+ID%10的值()
如果ID%10=2,那么插入: insert into  table2()

查询也是样的:

如果传过来一个ID,获取ID后 ,ID%10=2
select* from tabl2 where id=id

-------------------------------------------------------------------垂直分割-----------------------------------------------------
   
 有些表的数据并是很多,单字段却很长,表占用空间很大,执行检索时需要大量的I/0,可能会影响性能。
这个时候就需要把大的字段放在另一张表中,并且和原表是一对一的关系。
这个就不画图了,相信聪明的你一定懂的。

现在再介绍一下数据库:可扩展性模型,有两种扩展模型:向上扩展  和 向外扩展
向上扩展:就是一个数据库位于一台服务器,这种情况下很难处理较大的负载,如果你需要向上扩展你就要加  CPU  RAM,当服务容量不够时你就需要引入跟好的机器,
但是机器种有一个灵界点。应此向上扩展很难处理较大的负载。

向外扩展:选择跟多数据库,跨多个独立节点分散那些数据库,这种模式跟经济,向外扩展典型就是水平分区了,即多个独立节点分割数据库,
这就是Azure SQL Federation 发挥优势的地方。
举例:

比如你在网上卖月饼,中秋来了,这意味这你需要买跟好的硬件,才能应对,但是中秋过来怎么办,就出现,过度供应了,

比如: Azure SQL Federation 就不会出现这些情况,应为他是弹性的,按需扩展,收缩,根据使用付费,这是联合的基本原理。

------------------------------------------怎么创建联合了----------------------------------------------------------------------------

这些是联合理论:

Federation
我们熟悉的 Table View Proc 这些对象都包含在一个数据库界限之内。
联合与任何其他对象一样使用Create Federation 语句 Federation_Name
但区别在于 一个联合是一个特殊对象,该对象扩展到数据库界限以外,因为随着扩展,他

需要知道我们
要扩展到不同联合成员。

Federation Root
联合跟是一个中央存储库 用于存储与向外扩展数据分布有关的信息
他只是一个数据库,
联合跟包括联合对象,我们可以创建联合对象

Federation Member(联合成员)
联合成员是存放数据部分的物理容器,联合成员是实际物理数据库,他们由
Sql Server管理,但他们不再Sql Server Management Studio 中数据库列表中

Federation Key
联合键用于定义数据分发
是客户ID,产品ID,订单ID
联合键定义如何分发和分割数据
现在联合键是 int bigint guid varbinary

Atomic Unit
原子单元代表一个联合的单一实例
例如:客户会有相关的记录:比如
客服地址,客服电话,客服订单
因此一个联合表具有同一联合键值对所有行代表一个原子单元
例如:如果我有一个客户ID是10 所有相关记录:比如
客户电话,客户地址,客户订单,都在一个原子单元中,因为
他们与客户表中的值为10的客户的ID相关,所用这些相关的记录
构成一个原子单元

Architecture Cont.(联合表和引用表)
联合表是我们要在其上进行分区的表
例如:客户电话,客户地址.........
我们要调用这些联合表

引用表是不进行分区的表
我们不会分割其中的数据 但引用表是静态的表
其中的数据不会有太大改变:比如状态 或 邮编
他们是非联合的表
担当我们分割数据并创建跟多联合成员时,
这些表复制到每个联合成员中,
他们不是联合的,因此我们不分割其数据,
但整个表复制到每个联合成员中

》1.创建数据库服务器

》2.用本数据库连接:连接字符串在这里

》3.创建一个数据库

注意;在master下面创建

3》在“可用数据库”中,选择你在上一过程中创建的联合根

cid :表示联合分发键
由于时间关系:今天先说到这里吗,下篇将更加详细的说一下。

希望你从中获得收益!

Azure SQL Federation(联合)

时间: 2024-11-26 19:57:19

Azure SQL Federation(联合)的相关文章

[转]Azure 表存储和 Windows Azure SQL Database - 比较与对照

本文转自:https://msdn.microsoft.com/library/azure/jj553018 更新时间: 2014年10月 作者:Valery Mizonov 和 Seth Manheim 审阅者:Brad Calder.Jai Haridas.Paolo Salvatori.Silvano Coriani.Prem Mehra.Rick Negrin.Stuart Ozer.Michael Thomassy.Ewan Fairweather 本主题比较  支持的两种结构化存储类

Azure sql database 监控存储过程的传参情况

背景 实施开发的同事找到我,反馈说项目中使用Azure sql database 之后,无法使用Profiler来监控自己开发的存储过程的参数传参情况.确实profiler这些实例级别的工具在Azure sql database下是不支持的,那我们有没有办法,变相实现监控参数情况,特写一篇博客记录一下. 测试环境 Microsoft SQL Azure (RTM) - 12.0.2000.8 Mar 30 2017 01:30:03 Copyright (C) 2016 Microsoft Co

Azure SQL Database (22) Azure SQL Database支持中文值

<Windows Azure Platform 系列文章目录> 在笔者之前的文章里,已经介绍了如何使Azure SQL Database支持中文: SQL Azure(七) 在SQL Azure Database中执行的T-SQL 其中的关键步骤是: 1.使用默认的字符集:SQL_LATIN1_GENERAL_CP1_CI_AS 2.显示中文的字段列,类型必须为NVARCHAR 3.插入中文字符时,在字符串前面加上一个大写字母N 但是在有些时候,把所有的T-SQL语句在字符串前面加上一个大写字

Azure SQL Database (1) 用户手册

<Windows Azure Platform 系列文章目录> 下载地址:Azure SQL Database用户手册

Global Azure SQL Server Database 导出和导入配置介绍

我们前一篇文章介绍了Global Azure SQL Server Database的备份和还原配置介绍,今天我们就说说Global Azure SQL Server Database的导出和导入功能介绍,其实说到导出和导入,我们大家都会想到,其实就是将数据导出成一种格式,然后在另外一个环境中导入即可,该功能有点类似备份和还原的功能,也可以理解为迁移的功能,但是按照官网的字段定义就是导出和导入,在Global Azure SQL Server Database的导出原理就是将数据库整个架构导出到

Global Azure SQL Server副本功能配置介绍

我们前面几篇文章介绍了Global Azure SQL Server Database的Backup.Recovery.Export.Import等相关功能 ,今天我们介绍一下Global Azure SQL Server Database的副本功能,其实说到副本两个字,言外之意就是备份,在Global Azure SQL Server Database的副本配置其实就跟Backup及Export.Import的工作原理一样,副本就是将正在运行的Global Azure SQL Server D

PowerShell 操作 Azure SQL Active Geo-Replication

前文中我们比较全面的介绍了 Azure SQL Database Active Geo-Replication 的主要特点和优势.接下来我们将从自动化的角度介绍如何通过 PowerShell 在项目中实现 Active Geo-Replication 的操作. 从 Azure PowerShell 开始 MS 专门为管理 Azure 写了一套 PowerShell 组件称为 Azure PowerShell.我们就是要使用这套组件中提供的接口来操作 Active Geo-Replication.

Java连接Azure SQL Database

Azure SQL Database是Azure上的数据库PAAS服务,让用户可以快速的创建和使用SQL数据库而不用担心底层的备份,安全,运维,恢复等繁琐的工作,本文简单介绍如何使用Java程序连接到SQL Azure数据库. 首先登录到你的Azure管理界面,选择创建新的SQL数据库,选择自定义创建: 输入数据库的名称,运维是第一次创建,所以选择新建SQL数据库服务器,对于不同的服务级别,请参照相关文档: 输入你的数据库登录名,密码,选择数据库区域,当然你的数据库应该和你的应用程序在一个于以获

How to Use Lucene.NET with Windows Azure SQL Database

http://social.technet.microsoft.com/wiki/contents/articles/2367.how-to-use-lucene-net-with-windows-azure-sql-database.aspx How to Use Lucene.NET with Windows Azure SQL Database Table of Contents Summary Lucene.NET The Azure Library for Lucene.NET Usi