这种分布式数据库应用,有没有现成的解决方案
发布网友
发布时间:2022-04-25 16:58
我来回答
共1个回答
热心网友
时间:2022-04-08 06:18
很多公司都在开发自己的分布式数据库架构,且不少公司都可能使用上了,也有很多人在讲分布式数据库架构,这些是真正意义上的分布式数据库吗?
若要我加一个词的话, 我一般说伪分布式或者说所谓的分布式数据库架构,是跟陈国庆分享的NoSQL一样,只是起一个简单且好听点的名字,之所以谈这个话题,就是想与大家分享一下个人对伪分布式数据库架构的理解及所实践的。
PPT主要的内容主要有几点:什么是分布式数据库;什么是伪分布式数据库;分布式和伪分布式数据库架构的优缺点;伪分布式数据库架构适用的场景;二种伪分布式数据库架构的设计思路,一类适用于电子商务等领域,另外一类适合于SNS游戏等领域。
首先申明二个要点:第一点不支持分布式事务的,肯定不是分布式数据库;第二点分布式强调的是可用性、可靠性和数据一致性,其中数据一致性又分松散一致性和严密一致性,因为分布式数据库有不同的实现算法,为此数据一致性都有各种差异。
接下来,我们看一下分布式数据库的定义:由一组存储在网络中不同服务器上的数据组成,网络中每个节点具有独立执行局部应用的能力,也可以通过网络通信系统执行全局应用的能力。
为什么需要伪分布式数据库产品?是因为集中式数据库,当数据量越来越大,数据的读写量也越来越大,且无法通过垂直增加或升级硬件设备而满足的,以及越来越成为业务增长的瓶颈,那么我们就不得不考虑革新,采用一种更加有效、可行的方案解决。
伪分布式数据库的应用场景,稍微罗列了下:电子商务平台(C2C、B2B、B2C) 、SNS平台、IM即时通信软件、电子邮件系统、日志分析系统、SNS游戏、其他平台型网站。
大致总结了下,使用伪分布式数据库架构场景的三要素:
大数据容量,且垂直升级扩展受限的;
高并发事务型的;
数据更新量远大于数据读取,且数据更新量非常大;
接下来我们看一下分布式数据库一个最独特的架构图,但是看之前,先了解下分布式数据库的四个是核心模块。我们把四个名词解释一下:
什么是局部数据库管理系统?
什么是全局数据库管理系统?
什么是全局数据字典?
什么是通信管理?
LDBMS
建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询;
GDBMS
提供分布透明性,协调全局事务执行,协调各局部DBMS完成全局应用,保证数据库全局一致性、执行并发控制、实现更新同步和提供全局恢复等功能;
全局数据字典
存放全局概念模式、分片模式、分布模式的定义以及各模式之间映像的定义,存放有关用户存取权限的定义,保证全局用 户的权限和数据库的安全,存放数据完整性约束条件定义;
通信管理
实现分布式数据库各场地之间消息和数据传递;