史上最全分布式数据库概述
墨墨导读:在集中式数据库系统不能完全符合实际需要的形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式的分布式数据库体系结构两个方面。
DTC 2019 之数据库技术实战线上峰会明日开始,本期请到中国银联团队主管周家晶来分享“中国银联自研分布式数据库实践”
详情:中国银联自研分布式数据库实践 - DTC数据库技术实战线上峰会
报名链接:https://cs.enmotech.com/event/32
一、前言
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。
二、分布式数据库系统概述
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司(CCA)于1979年在DEC计算机上实现。20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机/服务器模式发展。
三、DDBS(Distributed Database System)的分类
(1)同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。
(2)同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。
(3)异构型DDBS:各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。
四、DDBS的特点和优缺点
DDBS的基本特点:
(1)物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。
(2)逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。
(3)场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。
(4)场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。
DDBS的其他特点
(1)数据独立性
(2)集中与自治相结合的控制机制
(3)适当增加数据冗余度
(4)事务管理的分布性
DDBS的优点
(1)具有灵活的体系结构
(2)适应分布式的管理和控制机构
(3)经济性能优越
(4)系统的可靠性高、可用性好
(5)局部应用的响应速度快
(5)可扩展性好,易于集成现有的系统
DDBS的缺点
(1)系统开销较大,主要花在通信部分 。
(2)复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。
(3)数据的安全性和保密性较难处理。
五、数据分片
类型:
(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。
(3)导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。
(4)混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。
条件:
(1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。
(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。
(3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。
六、数据分配方式
(1)集中式:所有数据片段都安排在同一个场地上。
(2)分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。
(4)全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。
(5)混合式:这是一种介乎于分割式和全复制式之间的分配方式。
七、体系结构
数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。
数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。
局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。
八、分布式数据库管理系统
接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。
访问网络数据字典,了解如何请求和使用其中的信息。
如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。
通信接口功能。在用户、局部DBMS和其他计算机的DBMS之间进行协调。
在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在着差别。
九、小结
(1)“分布计算”概念突破了集中式DBS的框架,数据分布使系统走上分布式DB的道路,功能分布使系统走上C/S道路。这是DBS的两个发展。
(2)C/S系统包括一个计算机网络,通常用一个局域网连结。几乎在所有情况下,客户机都是微机;服务器有时用小型机或大型机,但多数情况下也使用微机或高档微机。应用程序在客户机上处理,DBMS和OS的数据管理分放在服务器上。
(3)C/S结构经历了从两层、三层到多层的演变过程。总的趋势是使客户机越来越“瘦”,变成浏览器;而服务器的种类越来越多,容易实现系统的组装。
(4)C/S系统使应用与用户更加贴近,为用户提供较好的性能和更复杂的界面。
(5)分布式系统是在集中式系统的基础上发展而来的。DDB是数据库技术与网络技术结合的产物。随着计算机网络技术的飞速发展,DDBS日趋成为数据库领域的主流方向。
(6)DDB具有数据分布性和逻辑整体性的特点。DDBS能够支持涉及多个场地的全局应用。DDB的数据存储有数据分片和数据分配两种策略。
(7)DDB的模式结构为理解DDBS提供了一种通用的概念结构。分布透明性是DDBS追求的目标。DDBMS是负责管理分布环境下,逻辑集成数据的存取、一致性、有效性和完备性的软件系统。
(8)DDBS中数据分布在各个场地,系统中压倒一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半联接的优化策略是常用的技术。
(9)对于并发控制和恢复,DDBMS环境中会出现大量在集中式DBMS环境中碰不到的问题。分布式的并发控制有主场地方法和主拷贝方法,再辅之于备份场地技术。
精彩推荐
史上最全MySQL锁机制
史上最全Oracle体系结构整理
MySQL史上最全性能优化方式
史上最全近百条Oracle DBA日常维护SQL脚本指令
史上最全的OGG基础知识整理
出处: http://blog.jobbole.com/98523/
编辑:尹文敏
公司简介 | 招聘 | DTCC | 数据技术嘉年华 | 免费课程 | 入驻华为严选商城
zCloud | SQM | Bethune Pro2 | zData一体机 | MyData一体机 | ZDBM 备份一体机
Oracle技术架构 | 免费课程 | 数据库排行榜 | DBASK问题集萃 | 技术通讯
升级迁移 | 性能优化 | 智能整合 | 安全保障 | 架构设计 | SQL审核 | 分布式架构 | 高可用容灾 | 运维代维
云和恩墨大讲堂 | 一个分享交流的地方
长按,识别二维码,加入万人交流社群
请备注:云和恩墨大讲堂
史上最全分布式数据库概述相关推荐
- oracle完整的练习,2021史上最全Oracle数据库基本操作练习题(含答案).docx
Oracle基本操作练习题 使用表: 员工表(emP): (empndNUMBEER) notnull ,--员工编号,表示唯一 enameZARCHAR20),--员工姓名 VARCHAR9),-- ...
- Redis分布式锁(图解 - 秒懂 - 史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- 肿瘤/非肿瘤/单基因/单细胞/非编码:史上最全生信分析攻略!!!
解读生信之美,探讨每篇文献背后的逻辑 非肿瘤专栏:条条大路通罗马 1.4+非肿瘤生信分析+铁死亡/焦亡/自噬/代谢/免疫的万能钥匙 短评:适合一些热门机制如铁死亡/焦亡/自噬等在非肿瘤疾病中的研究 2 ...
- 史上最全数据库中间件详解
导读:本文详细介绍了中间件,主要从数据库拆分过程及挑战.主流数据库中间件设计方案.读写分离核心要点.分库分表核心要点展开说明. 1. 数据库拆分过程及挑战 垂直拆分.读写分离.分库分表(水平拆分).每 ...
- 分布式事务 (含面试题)- 图解 - 秒懂 - 史上最全
文章很长,而且持续更新,建议收藏起来,慢慢读! Java 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 免费赠送 经典图书 : 极致经典 + 社群大片好评 < Java 高 ...
- 史上最全异常检测算法概述
史上最全异常检测算法概述 参考文章: (1)史上最全异常检测算法概述 (2)https://www.cnblogs.com/Bang-cansee/p/4954129.html 备忘一下.
- 史上最全MySQL 大表优化方案(长文)
转载自 史上最全MySQL 大表优化方案(长文) 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 一.单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑 ...
- 史上最全Redis面试题(2020最新版)
导读:2020 年最新版 68 道Redis面试题,两万字干货,整理分享至此,希望对大家有帮助!文末有PDF文档下载方式,可按需下载. 概述 1. 什么是Redis? Redis(Remote Dic ...
- Netflix如何在上万台机器中管理微服务?(史上最全)
疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 < Java 高并发 三部曲 > 面试必备 + 大厂必备 + 涨薪必备 疯狂创客圈 经典图书 : <N ...
最新文章
- Oracle计划将ZGC项目提交给OpenJDK
- ICA处理脑电资料汇总
- mybatis实战教程(mybatis in action),mybatis入门到精通
- Pandas图表自定义数据格式
- 用实力给自己正名,YOLOv5:道路损伤检测我最强!GRDDC'2020大赛报告
- (转)linux下vi编辑器编写C语言的配置
- C语言门禁系统单片机,基于单片机的可视对讲门禁系统通信设计
- 页面自适应纯CSS,使用rem单位
- java虚拟机 什么语言_Java虚拟机是用什么语言写的?
- MySQL数据库数据类型
- SWAT模型 建模方法、实例应用、高级进阶
- grads之平均气温场与距平
- 服务器和桌面操作系统有什么区别,服务器和桌面操作系统的区别
- 爱普生发票打印机 每次连续打印发票,都跳页,中间一张空白
- python汇率转换代码_python 实现一个图形界面的汇率计算器
- BAT、华为、头条等各大互联网公司职级、薪资、股权大揭秘
- 2022最新软件测试面试题
- 图形变换核心原理(平移、缩放、旋转,拉伸)
- 两个例子讲清Thread的setDaemon的作用
- matlab偏微分图像修复,图像修复 Region filling and object removal by exemplar-based image inpainting matlab实现...
热门文章
- fedora 初始化系统_用Fedora数字化VHS
- 比dropout更好的方法_经营公司有更好的方法
- CSS属性值之百分数
- Path(1)vrep中的贝塞尔点、控制点的简单区分
- 视觉SLAM笔记(13) 空间变换
- linux比较10个文件是否一致,Linux中文件管理--cmp--比较两个文件是否有差异
- mysql变量赋值加冒号_C语言变量声明加冒号的用法(占位符)
- 江小白包装设计原型_江小白果立方系列包装设计 获奖作品欣赏【工业设计作品集】...
- linux制作chroot环境,Linux构造chroot环境
- php分布式缓存系统 Memcached 入门