达梦数据库
DM7总体框架
达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统7.0版本,简称DM7。
DM7基于成熟的关系数据模型和标准的接口,是一个跨越多种软硬件平台、具有大数据管理与分析能力、高效稳定的数据库管理系统。
产品特点
高性能
支持“大数据”应用,采用DM Vertical和DM HFS双列存储引擎、粗粒度智能索引、并行查询、多级数据分区、物化视图、分析函数、位图连接索引等先进技术,满足海量数据联机分析处理(OLAP)需求,支持多机多核智能双向并行加载,客户端数据智能分发
采用智能高压缩技术,压缩比可达1:20,能显著减少存储开销,从而帮助客户大幅减少数据库整体投入成本
高可用
可配置数据守护系统(主备),自动快速故障恢复,具有强大的容灾处理能力
跨平台
跨平台,支持主流软硬件体系、支持主流标准接口
高可扩展
支持拓展软件包和多种工具,实现海量数据分析处理、共享数据库集(RAC)和无共享数据库集(MPP)等扩展功能TB/PB级数据分析秒级响应常见mpp数据库
低投入
基于高端服务器或普通服务器搭建,支持异构系统,超高性价比
简便易用
易于实施和管理,只需要传统数据库 1/10 的管理成本,与主要商业智能工具兼容
DM7层次
可以看出,在DM7中存储的层次结构如下:
1. 系统由一个或多个表空间组成;
2. 每个表空间由一个或多个数据文件组成;
3. 每个数据文件由一个或多个簇组成;
4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件;
5. 簇由磁盘上连续的块组成,一个簇总是在一个数据文件中;
6. 块是数据库中最小的分配单元,也是数据库中使用的最小的IO单元。
与Oracle的表空间 --> 数据文件 --> 段 --> 区 --> 块 类似
DM7列存储表
列存储表是相对普通的行存储表而言的,它们主要的不同在于列存储表的每一个列都是存储在一起的,而不是以记录为单位存储,所有行的同一列存储在一起。
DM7 列存储表分为VERTICAL表和HFS表。HFS(全称Huge File System)是达梦数据库实现的针对海量数据进行分析的一种高效、简单的列存储表。表面上看与VERTICAL表相似,但是,在底层存储结构上却存在很大的不同。
Vertical表
 VERTICAL表在具体存储实现方式上就是每一个列的数据存储在一个段中,并且每一个列分成若干个区,区是由物理上的簇构成,大小可以通过创建表时在语句中指定。每一个区对应一个区描述项,用来管这个区中的数据,可以通过区描述项到这个区的具体位置;区描述项中还可以记录区内数据的最大值与最小值,在进行带条件扫描时,可以借助此信息减少不必要的IO操作。 为尽可能提高列数据存储的连续性,区描述页单独存放在另一个数据段中。
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)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。