app开发者平台在数字化时代的重要性与发展趋势解析
468
2023-11-24
DM7传统的行存表存储结构如图所示:
可以看出,在DM7中存储的层次结构如下:
1. 系统由一个或多个表空间组成;
2. 每个表空间由一个或多个数据文件组成;
3. 每个数据文件由一个或多个簇组成;
4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件;
5. 簇由磁盘上连续的块组成,一个簇总是在一个数据文件中;
6. 块是数据库中最小的分配单元,也是数据库中使用的最小的IO单元。
与Oracle的表空间à数据文件à段à区à块是不是很像呢 J
二、DM7列存储表
列存储表是相对普通的行存储表而言的,它们主要的不同在于列存储表的每一个列都是存储在一起的,而不是以记录为单位存储,所有行的同一列存储在一起。
DM7 列存储表分为VERTICAL表和HFS表。HFS(全称Huge File System)是达梦数据库实现的针对海量数据进行分析的一种高效、简单的列存储表。表面上看与VERTICAL表相似,但是,在底层存储结构上却存在很大的不同。
三、下面我们先看一下Vertical表:
VERTICAL表在具体存储实现方式上就是每一个列的数据存储在一个段中,并且每一个列分成若干个区,区是由物理上的簇构成,大小可以通过创建表时在语句中指定。每一个区对应一个区描述项,用来管这个区中的数据,可以通过区描述项找到这个区的具体位置;区描述项中还可以记录区内数据的最大值与最小值,在进行带条件扫描时,可以借助此信息减少不必要的IO操作。 为尽可能提高列数据存储的连续性,区描述页单独存放在另一个数据段中。
VERTICAL结构示意图
VERTICAL表的存储方式有以下几个优点:
1. 同一个列的数据都是连续存储的,可以加快某一个列的数据查询速度;
2. 连续存储的列数据,具有更大的压缩单元和数据相似性,可以获得远优于行存储的压缩效率;
3. 条件扫描借助数据区过滤,可以进一步减少IO,提高扫描效率。
VERTICAL表存在上面几个优点,当然它也有它的缺点:
1. VERTICAL封锁粒度较大,且不支持多版本并发控制;
2. VERTICAL表的插入、删除与更新操作处理都不及行存储表方便;
3. VERTICAL表不支持建立除NULL、NOT NULL和UNIQUE外的任何约束,也不允许建立二级索引,仅可以在建表的时候指定主键。
总之,VERTICAL表主要针对海量数据的扫描分析,并不适用于常规的联机事务处理。
四、HFS表
HFS表是建立在自己特有的表空间HTS(全称HUGE TABLESPACE)上的。HTS表空间的相关信息存储在动态视图V$huge_tablespace中。HUGE表空间ID取值范围为0~32767, ID由系统自动分配,ID不能重复使用,即使删除掉已有HUGE表空间,也无法重复使用已用ID号,也就是说创建32768次HUGE表空间后,则无法再创建HUGE表空间。 这个表空间与普通的表空间不同。普通的表空间,数据是通过段、簇、页来管理的,并且以固定大小(4K、8K、16K、32K)的页面为管理单位;而HTS相当于一个简单的文件系统,创建一个HTS,其实就是创建一个空的目录(系统中有一个默认HTS,目录名为HMAIN)。
在创建一个HFS表之后,数据库会在指定的HTS表空间目录下创建一系列的目录及文件,文件系统结构图如下:
HFS结构示意图
对于HFS表可以指定如下参数: 区大小(一个区的数据行数)。 区大小可以通过设置表的存储属性来指定,区的大小必须是2的多少次方,如果不是则向上对齐。取值范围:1024行~1024*1024行。默认值为65536行。
HFS表的存储方式有以下几个优点:
1. 同一个列的数据都是连续存储的,可以加快某一个列的数据查询速度;
2. 连续存储的列数据,具有更大的压缩单元和数据相似性,可以获得远优于行存储的压缩效率,压缩的单位是区;
3. 条件扫描借助数据区的统计信息进行精确过滤,可以进一步减少IO,提高扫描效率;
4. 对HFS表进行修改时,不写日志,不通过BUFFER缓存,直接操纵文件,速度快;
5. 允许建立二级索引;
6. 支持以ALTER TABLE的方式添加或者删除PK和UNIQUE约束。
HFS表存在上面几个优点,当然它也有它的缺点:
1. HFS表操作时封锁粒度较大,且不支持多版本并发控制;
2. HFS表的插入、删除与更新操作处理都不能进行回滚;
3. HFS表不支持建立除NULL、NOT NULL和UNIQUE外的任何约束,仅可以在建表的时候指定主键;
4. HFS表不支持事务,没有事务的特性;
数据文件-簇-页之间的关系.jpg
VERTICAL结构示意图.jpg
HFS存储结构.jpg
来自 “ ITPUB博客 ” ,链接:http://blog.itpub-/7220098/viewspace-764125/,如需转载,请注明出处,否则将追究法律责任。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~