知识大全 如何用SQL Server将数据库横向扩展
Posted 数据库
篇首语:大多数人想要改造这个世界,但却罕有人想改造自己。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何用SQL Server将数据库横向扩展相关的知识,希望对你有一定的参考价值。
如何用SQL Server将数据库横向扩展 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一般人们会选择纵向扩展(scale up)SQL Server数据库 而非横向扩展(scale out) 纵向扩展很容易 增加硬件 处理能力 内存 磁盘和提高网络速度 其原理就是仍然在一台服务器上运行数据库 但是增加了服务器的处理能力和资源 这种方法很昂贵 但是非常简单直接
采用云技术
有时候 最简单的方法就是将问题交由其他人处理 微软的Windows Azure云服务包含一个基于云的SQL Server版本SQL Azure 这在技术上并非真正意义的横向扩展 因为它是一种无限纵向扩展方法 所以 转移到Azure并不需要对您的应用程序进行大改动 实际上 您只需要将应用程序迁移到SQL Azure 然后支付存储 处理和数据传输费用 这些都是收费服务 但是您不需要再担心扩展问题
复制
SQL Server原生复制是一种支持横向扩展的解决方案 与数据库的创建和使用方式有关 您只需要在多台服务器上复制多个数据库副本 然后将不同的用户指向各台服务器 这种方法通常最适合支持地理位置分散的用户 如亚洲办公室的用户使用服务器 而北美办公室的用户则使用服务器 每一台服务器都拥有完整的数据副本 并且会复制伙伴服务器的所有修改
这种方法不支持自动负载均衡 并且最适合用在用户固定只使用一部分数据的情况 换而言之 如果亚洲用户只需要编辑与他们办公室相关的数据 例如 主要是亚洲客户的信息 那么复制能够保证其他数据库副本也包含这些记录的副本 如果所有用户都需要编辑完整的数据集 那么复制就变得有一些复杂 因为SQL Server必须在支持用户的同时 编辑位于不同服务器的同一个数据
SQL Server的合并复制能够处理这种冲突 但是您必须进行一些自定义合并编程 这意味着您的开发人员必须开发一些算法 确定用户并发访问数据时谁获取编辑权限 客户应用程序也需要增加编程;使它们不仅向数据库提交数据修改 也要循环检查这些修改是否被其他并发用户重写 用户也需要重新培训 因为客户端应用程序可能会提示 "您正在编程的数据已经发生变化 您需要重新检查 确定您的编辑是否仍然有效 "
联合数据库
另一个重要的横向扩展方法是联合 通过这种方法 您可以将数据库划分到多台服务器上 垂直分割将同一个表的不同行保存到不同的服务器上 同时 地理分区是最常用的方法 将所有亚洲数据记录保存在一台服务器上 而所有欧洲数据则保存在另一台服务器上 这种方法不同于整体复制 每一个位置的服务器都不具备完整的数据库 而只拥有该位置的数据 通过实现一种SQL Server分布式分区视图而形成完整的表 用户就可以浏览一个"联合"或组合的数据视图 水平分割则将表的字段保存在不同的服务器上 因此各台服务器一起协作构成组合的表
这些数据库的创建并不简单 其中涉及一种整体操作 您需要掌握关于数据访问和使用的详细信息 才能够实现正确的部署 此外 您还需要一位SQL Server数据库架构师 他应该全面理解这些技术 分析您的业务情况 并且能够正确地创建这些组件
在一些情况中 实现这种横向扩展对客户端应用程序的改动很小 对于本身在设计上大量使用视图和存储过程进行数据访问的应用程序 更是如此 因为这些元素只是是在后台抽象 在客户端上不会发生变化 但是 这些应用程序并不常见;通常 实现横向扩展都需要修改客户端程序 使客户端与后台结构分离
横向扩展并不简单
cha138/Article/program/SQLServer/201311/22331相关参考
知识大全 用SQL Storage Compress压缩SQL Server数据库文件
用SQLStorageCompress压缩SQLServer数据库文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶
如何将DBF数据库转换成SQLServer表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言
知识大全 将Access数据库移植到Microsoft SQL Server 7.0
将Access数据库移植到MicrosoftSQLServer7.0 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
用DELPHI编程访问SQLSERVER数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! D
用ADO管理SQLServer数据库及其设备 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 微软
知识大全 用ADO管理SQL Server数据库及其设备[1]
用ADO管理SQLServer数据库及其设备[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
知识大全 用ADO管理SQL Server数据库及其设备[3]
用ADO管理SQLServer数据库及其设备[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
知识大全 用ADO管理SQL Server数据库及其设备[2]
用ADO管理SQLServer数据库及其设备[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
向外扩展SQLServer系统的两个选项 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当我提到
向外扩展SQLServer系统的两个选项[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb