暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

事务型关系数据库的基本原理(GBase 8s)

原创 一直在路上 2021-06-28
3976

1、事务型关系数据库
建立在关系模型基础上的数据库
借助于集合代数的概念和方法来处理实体及其关系
从应用领域上可分为事务型(OLTP)和分析型(OLAP)
事务型关系数据库的核心和目的是事务处理

事务型:OLTP(transaction,英语单词:事务)
关系型数据库
分析型:OLAP(analyse,“分析”的英文动词)

2、数据库事务的概念
作为单个逻辑,需要整体执行的一组操作

3、事务的特性(ACID)
1>、原子性:组成事务的操作要么全部成功,要么全部失败
2>、一致性:事务要保证数据库从一个一致性状态迁移到另一个一致性状态
3>、独立性:相互并发的多个事务间是相互独立的,又称隔离性
4>、持久性:事务成功后,数据库的一致性状态是持久的

4、事务型数据库的核心技术:
1>、并发和锁(Concurrence&Lock)
并发是指不同Session对同一资源的访问
锁是处理并发问题的基础,是保证一致性的手段
隔离级别(Isolation Level)
实现事务一致性的&手段
以锁为基础
四种基本隔离级别:读未提交、读提交、可重复读、序列化
提交和回滚(Commit&Roll Back)
保持一致性

2>、日志(Uodo&Redo)
保证一致性和提高操作性能的手段
通常分为Uodo日志(物理日志)和Redo日志(逻辑日志)
检查点(CheckPoint)
持久化的手段
以逻辑日志为基础,提高写操作的性能
快速恢复(Fast Recovery)
数据库异常或灾难时的补救手段

eg于日志和检查点
只在数据库服务实例启动时执行

5、GBase 8s 数据库架构概览(Architecture)
DSA架构
11.png
6、GBase 8s 数据库服务组件
虚拟处理器进程(VP)
执行所有计算和管理任务
共享内存
缓存数据库表的数据
维护和控制进程资源
存储
存储数据库服务信息
存储用户数据

2.png
3.png

7、进程/多线程结构(Process/Multi-Threading)
TPS:每秒产生的事务数(交易数)
传统的多进程服务
每个连接需要启动新的进程为连接提供服务tex
每个进程的起始(Initialization)与终止(Termination)均耗费系统资源
进程间通信需执行Context Switch,耗费系统资源
4.png
Gbase 8s DSA
真正的多线程架构
专为“动态可拓展数据库架构”设计的多线程库(theard library)
资源利用率高
不依赖操作系统
容易移植(AIX,Solaris,HPUX,Linux,etc)
非依赖于操作系统的POSIX的多线程库
集成的并发机制(Parallel Processing)
动态的
可拓展的

进程和线程
进程(Processes)
每个服务器进程被认为是一个虚拟处理器(Virtual Processor,VP)
每种VP管理和运行属于它的线程(threads)
线程(Threads)
内部线程(internal thread):完成数据库服务内部任务
用户线程(user thread):为客户端请求提供服务
每个线程可运行在与它类别相同的任意一个VP中

基于线程的数据库服务
每个用户连接代表一个新的线程的起始,为新连接提供服务。
每个线程的起始与终止仅耗费较小的系统资源
线程间通信无需执行Context Switch
5.png
8、共享内存(Share Memory)
驻留段
虚拟段
缓冲池
消息段
6.png7.png8.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论