分布式数据库 到底分布在哪里了,优缺点在哪里

公司技术分为浓重,在众多的兴趣小组里面有一个分布式数据库的小组,本周五需要进分享,是在是惭愧,作为这个小组的 specialist, 啥都没有做,所以赶紧弄弄,要不说啥。

分布式式数据库到底分布在哪里了,大多数的定义中大家确认分布式数据库是通过网络方式,两个以上的节点,基于分布式协议通过文件系统组成的数据存储和处理单元的统称叫分布式数据库。

下面画了四种数据库类型,或者说四种分布式数据库系统成型的状态

1  存储分布式,但计算单元没有分布式,首要要说的,在数据库内部进行分区表的,可不是分布式,因为定义中提出,通过网络。所以下方的分布式系统是通过将数据打散后,形成分布式存储,而上面的计算单元并不是分布式。但通过定义来说,这样的设计本身也不能说明,他不是一个分布式数据库系统。

这样设计的数据库系统优点在于,数据库本身的形成简单,基本上没有太大脱离单体数据库原理,只是扩展了数据存储部分,提高了数据的存储容量,以及在大量数据提取中的速度。

d69d2c4296ff872774d6536493dc7de9.png

第二种方式和上面的方式,不同。是将计算单元进行了分布式处理,通过计算单元的分布式方式,提高了数据的计算能力,并且每个计算单元本身也是弱耦合的。终究限制计算单元之间的性能问题是,网络,数据存储速度等,同时限制在存储层面容量的问题也必须考虑在内。

8075a21ababc844300dd522ff5cf6e73.png

第三种方式存储单元和计算单元通过网络连接的方式分割开来,之间的访问逻辑关系复杂,但对外来说看上去是一个数据库。但这样的设计中存储单元和计算单元沟通的成本大,锁设计需要更多的巧妙心思,才能达到实际中的性能设想。

7a44ce389bacd7ee4ee83bd9e69a11be.png

最后一种本身和第三种类似,但是这个设计中本身存储单元和计算单元并没有分割开来,并且需要协调单元来进行数据的访问路由等事情,这个设计中的问题,一部分与上面图中的设计类似,同时还需要接受存储单元和计算单元在性能问题出现后的更多问题的存在。

e730a7a3b73d6b369015afe51562ed7c.png

基于我浅薄的分布式系统的知识,简单的将分布式数据库到底哪里分布进行了一个总结

1  存储分布式

2  计算节点分布式

3  计算节点 ,存储节点,分布式

4  计算单元分布式

关于题目中的第一个部分关于分布式的问题,分布式到底哪里分布了,进行了说明。第二个问题,各种分布式的方式中,优缺点又在哪里???

先说第一种方式,第一种方式中的数据库系统,其实在我们日常的数据库系统中,非常的常见,如我们的MOGNODB SHARDING,  REDIS CLUSTER , ES 等系统都属于,存储方面的分布式成型,或者通过中间件DBLE 对MYSQL 数据库进行的存储节点的分布式本身也都属于这一个属性,但实际上这里这些实体的成型的分布式存储式数据库,又多多少少在计算节点和存储节点上也有部分联系和功能。

第二种方式,第二种方式本身基于存储本身并没有进行分布式,所以这个部分的分布式产品本身的存储系统需要强悍的能力,才能完成众多计算节点对其数据的索取需求。但这样设计的分布式数据库系统有点也很明显,本身不必要考虑数据的不一致性在存储层面,而内存中的基于多版本信息的一致性倒是被提上需要考虑的问题,否则节点之间在同一个时间由于数据的延迟不一致等问题,给出的计算结果不一致,这就不可以了。

第三种方式,本身的联合第四种方式说,或者说第三种方式是,第四种方式的变种,而第四种方式才是目前不少分布式数据库的形成。第四种的分布式每个节点本身至少带有两种属性,计算节点和存储节点的功能,甚至一个节点还带有,数据迁移和数据访问路由的功能,也有部分分布式数据库本身不带有这样的功能。

具体分布式数据库有那些特性可总结一下,不是每种数据库都具备以下所有的特性

1  存储的独立性

2  查询语句的分布式处理

3  分布式事务的管理系统

4   硬件的独立性

5  操作系统的独立性

6  网络独立性

7  节点之间的协调交互能力,与数据的在分配和迁移的能力。

而分布式数据库本身的性能本身也与,不同的架构设计,导致的分布式数据库系统在满足原由单体数据库中对于事务,以及多版本控制的要求的情况下,越发的复杂。同时分布式数据库本身,节点的增加和性能的提高本身也不一定是一个线性递增的过程,很可能是一个抛物线的状态,节点越多,维护和基于数据一致性导致的节点之间的沟通成本越发的高昂,导致分布式数据库系统性能降低。等等问题。同时分布式数据库系统,对于硬件的本身的依赖,尤其在磁盘系统,网络系统等都与单节点系统有很大的不同。

所以一个分布式数据库系统本身,在数据同步状态,节点之间的数据状态交互,与数据路由等部分都还是一个需要继续研究的状态。同时分布式系统本身也需要针对相关的应用来进行匹配,有些应用的性质对于分布式数据库本身并不适合,成本的原因等等也是需要考虑的部分。

但不可以否认的,分布式数据库系统,在容灾的程度,以及在硬件存储系统成为瓶颈的状态下,是一个解决问题的方法。

e0608879ef2c3870150406b7cf24c587.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分布式数据库系统的优缺点 分布式数据库系统的优点   分布式数据库系统是在冀中是数据库系统的基础上发展来的,比较分 布式数据库系统与集中式数据库系统,可以发现分布数据库系统具有下列 优点:   (1)更适合分布式的管理与控制。分布式数据库系统的结构更适合 具有地理分布特性的组织或机构使用,允许分布在不同区域、不同级别的各 个部门对其自身的数据实行局部控制。例如:实现全局数据在本地录入、查 询、维护,这时由于计算机资源靠近用户,可以降低通信代价,提高响应速 度,而涉及其他场地数据库中的数据只是少量的,从而可以大大减少网络上 的信息传输量;同时,局部数据的安全性也可以做得更好。   (2)具有灵活的体系结构。集中式数据库系统强调的是集中式控 制,物理数据库是存放在一个场地上的,由一个 DBMS 集中管理。多个用户 只可以通过近程或远程终端在多用户操作系统支持下运行该 DBMS 来共享集 中是数据库中的数据。而分布式数据库系统的场地局部 DBMS 的自治性,使 得大部分的局部事务管理和控制都能就地解决,只有在涉及其他场地的数据 时才需要通过网络作为全局事务来管理。分布式 DBMS 可以设计成具有不同 程度的自治性,从具有充分的场地自治到几乎是完全集中式的控制。   (3)系统经济,可靠性高,可用性好。与一个大型计算机支持一个 大型的冀中是数据库在加一些进程和远程终端相比,由超级微型计算机或超 级小型计算机支持的分布式数据库系统往往具有更高的性价比和实施灵活 性。分布式系统比集中式系统具有更高的可靠性和更好的可用性。如由于数 据分布在多个场地并有许多复制数据,在个别场地或个别通信链路发生故障 时,不致于导致整个系统的崩溃,而且系统的局部故障不会引起全局失控。   (4)在一定条件下响应速度加快。如果存取的数据在本地数据库 中,那末就可以由用户所在的计算机来执行,速度就快。   (5)可扩展性好,易于集成现有系统,也易于扩充。   对于一个企业或组织,可以采用分布式数据库技术在以建立的若干数 据库的基础上开发全局应用,对原有的局部数据库系统作某些改动,形成一 个分布式系统。这比重建一个大型数据库系统要简单,既省时间,又省财 力、物力。也可以通过增加场地数的办法,迅速扩充已有的分布式数据库系 统。   分布式数据库系统的缺点   (1)通信开销较大,故障率高。例如,在网络通信传输速度不高 时,系统的响应速度慢,与通信县官的因素往往导致系统故障,同时系统本 身的复杂性也容易导致较高的故障率。当故障发生后系统恢复也比较复杂, 可靠性有待提高。   (2)数据的存取结构复杂。一般来说,在分布数据库中存取数 据,比在集中时数据库中存取数据更复杂,开销更大。   (3)数据的安全性和保密性较难控制。在具有高度场地自治的分布数据库中,不同场地的局部数据库管理员可以采用不同的安全措施,但是 无法保证全局数据都是安全的。安全性问题式分布式系统固有的问题。因为 分布式系统式通过通信网络来实现分布控制的,而通信网络本身却在保护数 据的安全性和保密性方面存在弱点,数据很容易被窃取。   分布式数据库的设计、场地划分及数据在不同场地的分配比较复杂。 数据的划分及分配对系统的性能、响应速度及可用性等具有极大的影响。不 同场地的通信速度与局部数据库系统的存取部件的存取速度相比,是非常慢 的。通信系统有较高的延迟,在 CPU 上处理通信信息的代价很高。分布式数 据库系统中要注意解决分布式数据库的设计、查询处理和优化、事务管理及 并发控制和目录管理等问题。
关系数据库分布式数据库都是常见的数据库类型,它们在不同的场景下具有不同的使用场景和优缺点。 关系数据库(RDBMS)是基于关系模型的数据库,使用表格来组织和管理数据。它适用于需要保持数据一致性和完整性的应用场景,例如银行系统、人力资源管理系统等。以下是关系数据库优缺点: 优点: 1. 数据一致性:关系数据库使用事务处理来确保数据的一致性,可以保证数据的完整性和准确性。 2. 查询灵活性:关系数据库使用结构化查询语言(SQL)进行数据查询和操作,具有强大的查询功能。 3. 数据完整性:关系数据库支持主键、外键等约束,可以保证数据的完整性。 4. 数据安全性:关系数据库具备较好的安全性能,可以进行用户认证、权限控制等操作。 缺点: 1. 扩展性局限:关系数据库对于大规模数据的扩展性有限,当数据量增大时,性能可能下降。 2. 单点故障:关系数据库通常部署在单个服务器上,存在单点故障的风险。 3. 高成本:商业关系数据库通常需要付费,成本较高。 分布式数据库是将数据分散存储在多个节点上的数据库系统,可以提供更高的性能和可扩展性。以下是分布式数据库优缺点: 优点: 1. 高性能:分布式数据库可以将数据分散存储在多个节点上,提供更高的读写性能。 2. 可扩展性:分布式数据库可以通过增加节点来扩展数据容量和处理能力。 3. 容错性:分布式数据库具备容错机制,当部分节点发生故障时,仍然可以提供服务。 4. 高可用性:分布式数据库可以通过数据的冗余存储来提供高可用性。 缺点: 1. 复杂性:分布式数据库的设计和管理相对复杂,需要考虑数据分布、一致性等因素。 2. 数据一致性:分布式数据库需要解决数据一致性的问题,例如使用分布式事务或一致性协议。 3. 配置和维护成本:分布式数据库的配置和维护相对复杂,需要投入较多的人力和资源。 总结而言,关系数据库适用于对数据一致性和完整性要求较高的应用场景,而分布式数据库则适用于需要高性能和可扩展性的大规模数据存储和处理场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值