分布式数据库的优越性

从图12-1中可以看到,用户可以通过任何一个数据库访问所有3个数据库中的数据,而不必同时去连接3个数据库。

分布式数据库和数据复制型数据库有一些关系,就是数据库之间有关联和相互数据访问,但是它们的功能和目的是不同的,区别也确实显而易见。

就像前面说的那样,分布式数据库强调数据的分布存储,在一个纯粹的分布式数据库中,在所有的数据库上,一种数据可能只有一份。

而数据复制型数据库强调的是数据复制,通常是把一些数据库的数据向一个中心数据库中汇集。一般来说,数据复制型数据库的目的是提高本地数据的性能,因为将数据存储在一个数据库中就不会出现网络阻塞或者不稳定导致的性能问题。

在海量数据的数据库设计中,将数据库设计为分布式的架构是非常常见的,它主要有以下几个原因。

(1)不再受限于单数据库容量

尽管现在SAN结构已经非常流行,但是在有的时候,如果考虑成本问题,也可以使用分布式数据库来解决磁盘容量的不足。

比如有100TB的数据,我们可以使用10台数据库来进行分布式数据存储,每台数据库上只需要10TB的空间。

(2)分布式存储,提高I/O速度

如果海量数据存储在一台数据库中,而这台数据库上又经常运行着很大的SQL查询,I/O问题无疑是一个数据访问瓶颈,通过将数据分布在10台数据库上,这样I/O能力就提高了10倍!这是一个非常重要的性能提升。

(3)分布式存储,提高数据处理速度

比如一个大的查询,它需要消耗很多CPU、内存和磁盘I/O,如果业务比较多,主机必然会出现资源不足的时候,通过使用分布式数据库架构,将这种资源分布到各个数据库中处理,可以有效地提升业务数据库的处理能力和速度。

(4)分布式存储,可以有效地进行业务分割

这个功能和前面我们谈到的RAC的业务分割比较相似。

但和RAC相比,分布式数据库的业务分割更加彻底。在RAC里面,通过业务分割,可以让不同的业务运行在不通的实例上,但是RAC毕竟是一个整体,实例之间由内存的数据交换,实例之间I/O的争用,都会使处理能力受限。

而在分布式数据库中,每个数据库是一个独立的数据库,除非用户使用分布式操作,否则数据库之间相对独立,没有动态的资源共享问题。

在分布式数据库中,数据库之间的数据访问是通过数据库链(DB Link)来完成的。

凡是使用DBLink进行的业务操作,我们都称做分布式事务,这种分布式事务是由Oracle来协调处理的,对用户来说是透明的。

本文节选自《让Oracle跑得更快2—基于海量数据的数据库设计与优化》一书。

图书详细信息:http://blog.csdn.net/broadview2006/article/details/6650914

分布式数据库的优越性相关推荐

  1. 开源分布式数据库中间件

    转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性 ...

  2. tp3分布式session mysql_分布式数据库支持

    ThinkPHP内置了分布式数据库的支持,包括主从式数据库的读写分离,但是分布式数据库必须是相同的数据库类型. 配置`DB_DEPLOY_TYPE` 为1 可以采用分布式数据库支持.如果采用分布式数据 ...

  3. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

  4. 区块链技术的本质是分布式数据库

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链技术是基于比特币应用提出的一个概念,他是一个融合了多种技术的一个集成式创新.目前区块链的应用早已不仅仅局限在比特币 ...

  5. 重磅!分布式数据库解决方案Apache ShardingSphere毕业成为顶级项目

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 全球最大的开源软件基金会 Apache 软件基金会(以下简称 Ap ...

  6. 网易分布式数据库多活架构的演进与实践

    本文根据周劲松老师在[deeplus直播第228期]线上分享演讲内容整理而成. 周劲松 网易杭州研究院资深研发工程师 来自网易数据科学中心,目前是网易分布式数据库DDB及网易数据运河NDC项目负责人. ...

  7. 【CSTC白皮书】分布式数据库发展路径研究(附下载)

    来源:中国软件测评中心本文多图,建议阅读5分钟本文探讨分布式数据库发展路径研究. 公众号(DatapiTHU)后台回复"20210304"获取完整版PDF文件 分布式数据库是传统数 ...

  8. 从分布式数据库的CAP特性说起

    在传统RDBM系统中,对于事务处理必须保证为一个完整的逻辑处理过程,具备ACID四个特性,A Atonomy 事务处理的原子性,要么成功,要么失败 ,C Consistency 一致性,数据库必须保持 ...

  9. 79期:Faceu的分布式数据库实战访谈

    云周刊 本周要点 查看更多 [大会回顾]2016云栖大会南京峰会 2016云栖大会南京将于4月27日举行.本届大会"大数据"."云安全"."云市场&q ...

  10. 一款低延迟的分布式数据库同步系统--databus

    每次看到马路对面摩托罗拉的大牌子,都想起谷歌125亿美元收购摩托罗拉移动,后来又以29亿美元卖给联想的事情.谷歌所做的决策都比较考虑长远利益,在这串交易中,谷歌获得了摩托罗拉最有价值的几千项专利,稳健 ...

最新文章

  1. 把java当爱好_(观点)如果把爱好做成职业 把职业做成事业
  2. redux异步action_redux-thunk 和 redux-saga 的区别?
  3. ARM平台YUV转RGB888(转)
  4. 每日程序C语言16-找出比赛对手名单
  5. 超好用的input模糊搜索 jq模糊搜索,
  6. CodeForces - 246E Blood Cousins Return(树上启发式合并)
  7. 【BZOJ】2655: calc 动态规划+拉格朗日插值
  8. REVERSE-PRACTICE-BUUCTF-24
  9. win7卸载python2.7_win7重装系统后设置Python2.7环境
  10. Python—实现ssh客户端(连接远程服务器)
  11. keras + tensorflow —— 使用预训练模型
  12. matlab 神经网络工具箱的实用
  13. 校赛第二轮 —— 国产电影保护月是国产电影之福 / 祸
  14. Ubuntu(21.04)下UHD(4.1)与Gnuradio安装配置--USRP X410软件无线电平台开发
  15. linuxptp分析
  16. python画钢铁侠标志图片_python可视化之matplotlib绘图--蜘蛛侠钢铁侠(组合分区绘图)...
  17. 盘点HTML转义字符集合
  18. C#远程主机强迫关闭一个现有链接问题简述
  19. Maven概念,项目目录结构
  20. PB函数大全(超全,解析很全面)

热门文章

  1. 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
  2. 删除数据所有的表和存储过程
  3. Dll中的方法向外返回dynamic类型可能会失败
  4. 【转】如何在eclipse下配置Heritrix
  5. 解决datalist中单选按钮可以多选的问题(Asp.Net)
  6. CentOS和Ubuntu哪个好?
  7. [福大软工] Z班 软件工程实践总结 作业成绩
  8. iOS学习之Object-C语言继承和初始化方法
  9. 探索WebKit内核(一)------ 菜鸟起步
  10. 时间序列的归一化方法