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

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 快速学习 分布式数据库组件

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

课程地址: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 四个特性,当某一个分片的数据出现问题时,全局管理系统就需要对整个事物做全局的回滚,当事务在每个分片都能够正确的执行时候,全局管理系统需要确保事务在每一个分片都能正确的提交。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
1月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
131 6
|
3月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
324 0
|
16天前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
49 15
|
1月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
71 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
1月前
|
SQL 关系型数据库 分布式数据库
Citus 简介,将 Postgres 转换为分布式数据库
【10月更文挑战第4天】Citus 简介,将 Postgres 转换为分布式数据库
88 4
|
2月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
1月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
46 0
|
2月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
下一篇
无影云桌面