GBase 8s数据库学习积累(2)
共享内存相关知识学习
一、共享内存存在意义:
1、提高多并发连接的访问性能,减少资源的浪费。
2、客户端和服务器在一台服务器时,无需走网络TCP协议访问数据,直接从共享内存中取数据,提高访问性能。
二、共享内存内部组成:
1、常驻段:存放重要信息,不会因为内存不足而被交换出去,会一直保留在内存中。包括:shared mem header,buffer-header table,lru queues,lock table,physical log buffer,logiccal log buffer。
2、缓冲池段:存放一部分被查询数据文件内数据的页数据信息,包括:buffer pool
3、虚拟内存段:存放数据库文件信息,镜像信息,表空间,用户链接,排序等。包括:chunk table,mirrored-chunk table,dbspace table,page cleaner table,tblespace table,transaction table,user table,session structures,thread structures,dictionary cache,udr cache,sql statement cache,sorting pool,thread stacks,thread heaps,big buffers,global pool,unallocated memory.
4、消息段:数据库和客户端在一台服务器上时,实现数据的传递。
三、重要的在共享内存介绍
1、物理日志缓冲区(physical log buffer)
类似Oracle数undo log。存储在物理日志数据库表空间中。保证数据完整性,ACID。
在修改数据页前,保存被修改数据页的前映像信息。在系统遭遇异常断电、重启、宕机后的数据进行物理恢复,然后根据逻辑日志进行逻辑恢复。
1、逻辑日志缓冲区(logiccal log buffer)
类似Oracle数据库中的redo log。存储在逻辑日志的表空间中。在系统遭遇异常断电、重启、宕机后的数据进行物理恢复,然后根据逻辑日志进行逻辑恢复。
存储管理相关知识学习
一、物理存储
分类:
1、块(chunk):类似oracle数据库的段。专门用于数据库服务器存储的物理磁盘最大单元。通常为操作系统文件,裸设备或裸设备的一部分。
2、段(extand):类似oracle数据库的区。用于存储表数据的连续多个页的集合,不同的段之间,数据页可能是不连续的。
3、页(page):类似oracle数据库的块。是数据库服务器用于在GBase 8s数据库中读写的物理磁盘存储单元。
二、逻辑存储
分类:
1、数据库空间:类似oracle数据的表空间,可以存储多个表。一个或多个块的集合。包含1至32766个块的逻辑单元,放置数据库、表、逻辑日志文件和物理日志文件。
几个特殊数据库空间:
a、临时数据库空间:专门存储临时表,在系统遭遇异常断电、重启、宕机后的数据无法恢复,不写物理日志和逻辑日志。
b、大对象数据库空间(BLOB SPACE):针对存储图片等大对象的存储空间,不缓存在内存中,在系统遭遇异常断电、重启、宕机后的数据无法恢复。
c、智能大对象数据库空间:在系统遭遇异常断电、重启、宕机后的数据可以恢复。
2、数据库:是表和索引的逻辑存储单元,每个数据库都存在一个或多个段,连续的数据页。
3、表:都需要存储在数据库空间内。在关系数据库系统中,表是一列标题加上>=零行数据值,列标题行标识了一个或多个列及每一列的数据类型。
4、表空间:多组连续页的集合称为表空间。包含分配到给定表或段的所有磁盘空间。表空间包含已分配给关联索引的磁盘空间。