分布式数据库组件 | 学习笔记

简介: 快速学习 分布式数据库组件

开发者学堂课程【分布式数据库技术与实现分布式数据库组件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/373/detail/4689


分布式数据库组件


目录  

一.分布式数据库组件

.数据库组件的基本功能


一.分布式数据库组件

分布式数据库系统基本要求

逻辑统一性

入口统一性

1.全局数据字典

所有的数据都从统一的入口进入,也就是分布式数据库系统本身需要有结构来管理数据的存放位置,这就是全局数据字典。

2.全局数据管理系统

有了全局数据字典,还需要有一个集中的逻辑来控制每一个请求,每个数据过来需要分发到哪一个节点,每一个请求过来需要到哪一个几点去取数据,这就是全局数据管理系统。

3.局部数据库管理系统

有了全新数据管理系统跟数据字典,每一个请求过来能够被正确的分发到节点,而每一个节点上面需要有一个局部的数据库管理系统,局部数据库管理系统的主要功能是用来接收全局管理系统的命令,同时做本地的数据处理,包括查询,更新,存储,并且返回结果。

4.通信管理系统

有了全局跟局部两个管理系统,还有个重要的功能就是通信,通信管理系统用于管理全局关系系统跟局部管理系统之间的通信协议,一般分布式数据库系统各个节点之间也会有网络的通信,因此通信管理系统也负责每一个分片之间的通信。


.数据库组建的基本功能

1.静态部分

1>全局管理系统

最主要功能是维护用户的连接获取请求,从请求命令中解析具体的分片信息,根据本地的全局数据字典确定请求的分化位置,同时分片执行并做数据汇总。

由于数据分布在不同的节点,所以分布式数据库系统本身带有一定的并行操作的能力,因此任务的调度也由全局管理系统来负责。单全局管理系统得到各个分片的返回结果以后,要对数据的结果进行汇总并返回给客户端。

2>全局数据字典

维护数据的分片规则,同时网络状态、完整性约束、存取路径、存取权限也是全局数据字典的管理范围,也维护在全局数据字典中。由于分布式数据库系统本身对网络的依赖非常高,所以如果某一个节点的网络出现问题,全局管理系统要能够根据网络状态的改变,对节点的状态进行修改,数据逻辑的一致性也是在全局数据字典中保存的,如全集 DN 值,或者在应用里是商品编号等,这种信息无法维护在各个节点之中,都是由全局管理系统统一管理的,存取在全局数据字典中。

3>局部数据管理系统

实际上是集中式的管理系统,主要功能是获取请求、执行查询跟更新、返回结果、返回查询结果或者执行更新操作。作为分布式数据库系统的一部分,本身也需要跟全局数据库系统维持心跳功能,汇报自己本地的运行状态、健康情况、繁忙程度还有磁盘,CPU,内存的消耗情况。

以上都属于静态部分,作为分布式数据库系统,最重要的是动态的部分。

2.动态部分

1>分布式事务处理    

2>异常处理

从动态的角度来看分布式数据库系统每一个角色的工作流程

1>全局管理系统

全局管理系统需要协调全局的事务执行,即全局管理系统需要控制整个系统的事务执行的并发量,同时也要控制整个系统的锁状态,还有全局的提交跟恢复,由于每个系统本身并没有全局的信息,可能在分片上能够并发执行的事务从全局的角度是无法没法执行的,这一类的事务并发信息只能在全局管理系统中控制。

2>全局数据字典

全局数据字典是作为全局管理系统的功能辅助,如全局管理系统需要做思索检测,全局数据字典就需要存储整个系统正在执行的事务的锁信息、实施的事务状态、事务统计信息,全局管理系统还需要对每一个节点的立法性做控制每个节点的数据总量做控制,数据的变更状态、事务的运行状态都需要存储在全局数据字典中。

3>局部管理系统

接收分布式事务的启动、回滚、提交甚至是崩溃恢复,由于分布式数据库系统的事务需要在多个分片同时执行,所有的数据库系统都要满足 ACID 四个特性,当某一个分片的数据出现问题时,全局管理系统就需要对整个事物做全局的回滚,当事务在每个分片都能够正确的执行时候,全局管理系统需要确保事务在每一个分片都能正确的提交。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
相关文章
|
5月前
|
存储 关系型数据库 分布式数据库
喜报|阿里云PolarDB数据库(分布式版)荣获国内首台(套)产品奖项
阿里云PolarDB数据库管理软件(分布式版)荣获「2024年度国内首版次软件」称号,并跻身《2024年度浙江省首台(套)推广应用典型案例》。
|
9月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
5月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
286 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
5月前
|
存储 监控 分布式数据库
ClickHouse分布式数据库动态伸缩(弹性扩缩容)的实现
实现ClickHouse数据库的动态伸缩需要持续的维护和精细的操作。从集群配置到数据迁移,再到监控和自动化,每一步都要仔细管理以确保服务的可靠性和性能。这些活动可以显著提高应用的响应性和成本效率,帮助业务根据实际需求灵活调整资源分配。
351 10
|
6月前
|
存储 关系型数据库 分布式数据库
【赵渝强老师】基于PostgreSQL的分布式数据库:Citus
Citus 是基于 PostgreSQL 的开源分布式数据库,采用 shared nothing 架构,具备良好的扩展性。它以插件形式集成,部署简单,适用于处理大规模数据和高并发场景。本文介绍了 Citus 的基础概念、安装配置步骤及其在单机环境下的集群搭建方法。
537 2
|
8月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
359 6
|
7月前
|
NoSQL Java Redis
分布式锁—6.Redisson的同步器组件
Redisson提供了多种分布式同步工具,包括分布式锁、Semaphore和CountDownLatch。分布式锁包括可重入锁、公平锁、联锁、红锁和读写锁,适用于不同的并发控制场景。Semaphore允许多个线程同时获取锁,适用于资源池管理。CountDownLatch则用于线程间的同步,确保一组线程完成操作后再继续执行。Redisson通过Redis实现这些同步机制,提供了高可用性和高性能的分布式同步解决方案。源码剖析部分详细介绍了这些组件的初始化和操作流程,展示了Redisson如何利用Redis命令和
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用

热门文章

最新文章