1、分布式数据库是数据库的一种,是数据库技术和网络技术的结合产物。
2、各有优点和缺点分布式数据库分为逻辑上分部物理上分布及逻辑上分布物理上集中两种。
3、分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
某种程度上看来,数据库作为整个系统的核心,这句话其实并不夸张,数据库的选型关系到上层业务代码实现的方方面面,现在比较流行的架构方案是上层业务逻辑微服务化,并且结合分布式缓存,这套框架已经基本能做到上层业务的d性扩展,但是最底层的数据存储还是很难去中心化(除非整个技术栈中去除关系型数据库(RDBMS), 全部采用 NoSQL)。所以,经常是 RDBMS 成为整个系统的瓶颈。
在长期的斗争中,大家总结出了很多方式来扩展最底层的关系型数据库:
1 主从,一主多从,双写,通过队列暂存请求 这些方案其实并没有解决问题,写入仍然是单点,而且对于 DBA 的挑战比较大,今天我们暂时就不讨论了。
2 通过中间件 Sharding,常见的开源方案有: Cobar, TDDL, Vitess, Kingshard, MyCat 等,这些方案的思路是拦截 SQL 的请求通过 sharding key 和一定规则,将请求转发/广播到不同的 MySQL 实例上,从而实现水平扩展的效果,这个方案基本解决了单点写入的问题,对于业务来说整体的吞吐也上来了,看上去不错,这个方案是大多数业务遇到性能瓶颈的解决方案,但是缺点也是有的:
1)大多中间件都没有解决动态扩容的问题,多采用了静态的路由策略,扩容一般还处于人工 x2 的状态,对 DBA 要求比较高。
2)从一定程度上来说都放弃了事务,这是由于一条语句有可能会涉及到多个数据库实例,实现分布式 事务是一个比较难的事情,我们后面会详细的介绍。
3)对业务不透明,需要指定 sharding key, 心智负担较大
大数据技术的实现离不开很多其他的技术,我们提到最多的就是Hadoop技术,其实就目前而言,Hadoop技术看似是自成一套体系,其实并不是这样的,Hadoop和Spark以及分布式数据库其实也是存在差异的,我们就在这篇文章中给大家介绍一下这些内容。
首先我们说一说大数据分析,现在的大数据分析体系以Hadoop生态为主,而近年来逐渐火热的Spark技术也是主要的生态之一。可以这么说,Hadoop技术只能算是以HDFS+YARN作为基础的分布式文件系统,而不是数据库。我们提到的Hadoop的历史可以向前追溯10年,当年谷歌为了在几万台PC服务器上构建超大数据集合并提供极高性能的并发访问能力,从而发明了一种新的技术,而这个技术,也是Hadoop诞生的理论基础。如果我们从Hadoop的诞生背景可以看出,其主要解决的问题是超大规模集群下如何对非结构化数据进行批处理计算。实际上,在Hadoop架构中,一个分布式任务可以是类似传统结构化数据的关联、排序、聚集 *** 作,也可以是针对非结构化数据的用户自定义程序逻辑。
那么Hadoop的发展道路是什么样的呢。最开始的Hadoop以Big、Hive和MapReduce三种开发接口为代表,分别适用于脚本批处理、SQL批处理以及用户自定义逻辑类型的应用。而Spark的发展更是如此,最开始的SparkRDD几乎完全没有SQL能力,还是套用了Hive发展出的Shark才能对SQL有了一部分的支持。但是,随着企业用户对Hadoop的使用越发广泛,SQL已经渐渐成为大数据平台在传统行业的主要访问方式之一。
下面我们就说一说分布式数据库,分布式数据库有着悠久的历史,从以Oracle RAC为代表的联机交易型分布式数据库,到IBM DB2 DPF统计分析性分布式数据库,分布式数据库覆盖了OLTP与OLAP几乎全部的数据应用场景。而大部分分布式数据库功能集中在结构化计算与在线增删改查上。但是,这些传统的分布式数据库以数仓及分析类OLAP系统为主,其局限性在于,其底层的关系型数据库存储结构在效率上并不能满足大量高并发的数据查询以及大数据数据加工和分析的效率要求。因此,分布式数据库在近几年也有着极大的转型,从单一的数据模型向多模的数据模型转移,将OLTP、联机高并发查询以及支持大数据加工和分析结合起来,不再单独以OLAP作为设计目标。同时,分布式数据库在访问模式上也出现了K/V、文档、宽表、图等分支,支持除了SQL查询语言之外的其他访问模式,大大丰富了传统分布式数据库单一的用途。一般来说,多模数据库的主要目的是为了满足具有高性能要求的 *** 作型需求以及目标明确的数据仓库功能,而不是类似大数据深度学习等数据挖掘场景。这就是分布式数据库的实际情况。
我们在这篇文章中给大家介绍了大数据分析以及分布式数据库的相关知识,通过这些内容相信大家已经理解了其中的具体区别了吧,如果这篇文章能够帮助到大家这就是我们最大的心愿。
分布式表明数据及数据的储存是分开分散的,不在同一个子网络内。分布数据库有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。网络上很多的物流管理,网上银行,网上商城等等都属分布式。
1分布式数据库是数据库的一种,是数据库技术和网络技术的结合产物。
2各有优点和缺点分布式数据库分为逻辑上分部物理上分布及逻辑上分布物理上集中两种。
是的,分布式数据文件便于数据库的管理维护。
分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。
这种组织数据库的方法克服了物理中心数据库组织的弱点。
1、首先,降低了数据传送代价,因为大多数的对数据库的访问 *** 作都是针对局部数据库的,而不是对其他位置的数据库访问;
2、其次,系统的可靠性提高了很多,因为当网络出现故障时,仍然允许对局部数据库的 *** 作,而且一个位置的故障不影响其他位置的处理工作,只有当访问出现故障位置的数据时,在某种程度上才受影响;
3、便于系统的扩充,增加一个新的局部数据库,或在某个位置扩充一台适当的小型计算机,都很容易实现。然而有些功能要付出更高的代价;
例如,为了调配在几个位置上的活动,事务管理的性能比在中心数据库时花费更高,而且甚至抵消许多其他的优点。
分布式数据库系统主要特点:
1多数处理就地完成;
2各地的计算机由数据通信网络相联系。
3克服了中心数据库的弱点:降低了数据传输代价;
4 提高了系统的可靠性,局部系统发生故障,其他部分还可继续工作;
5各个数据库的位置是透明的,方便系统的扩充;
6为了协调整个系统的事务活动,事务管理的性能花费高;
数据分片
类型:
(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。
(3)导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。
(4)混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。
条件:
(1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。
(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并 *** 作重构全局关系;对于垂直分片可用联接 *** 作重构全局关系。
(3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。
数据分配方式
(1)集中式:所有数据片段都安排在同一个场地上。
(2)分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。
(4)全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。
(5)混合式:这是一种介乎于分割式和全复制式之间的分配方式。
目前分布式数据库分配的设计,越来越多的采用寻找最优解的算法,比如遗传算法、退火机制等
分布式文件系统设计主要关注几个方面:
设计特点、分布式能力、性能、容灾、维护和扩展、成本
分布式文件系统主要关键技术:
全局名字空间、缓存一致性、安全性、可用性、可扩展性
以上就是关于分布式数据库有什么特点 分布式数据库有哪些特点全部的内容,包括:分布式数据库有什么特点 分布式数据库有哪些特点、如何编写一个分布式数据库、大数据的分布式数据库技术的对比等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)