达梦数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
达梦数据库
DM7总体框架
达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统7.0版本,简称DM7。
DM7基于成熟的关系数据模型和标准的接口,是一个跨越多种软硬件平台、具有大数据管理与分析能力、高效稳定的数据库管理系统。
产品特点
高性能
●支持“大数据”应用,采用DM Vertical和DM HFS双列存储引擎、粗粒度智能索引、
并行查询、多级数据分区、物化视图、分析函数、位图连接索引等先进技术,满足海量数据联机分析处理(OLAP)需求,支持多机多核智能双向并行加载,客户端数据智能分发
●采用智能高压缩技术,压缩比可达1:20,能显著减少存储开销,从而帮助客户大幅减
少数据库整体投入成本
高可用
●可配置数据守护系统(主备),自动快速故障恢复,具有强大的容灾处理能力
跨平台
●跨平台,支持主流软硬件体系、支持主流标准接口
高可扩展
支持拓展软件包和多种工具,实现海量数据分析处理、共享数据库集群(RAC)和无共享数据库集群(MPP)等扩展功能TB/PB级数据分析秒级响应
低投入
基于高端服务器或普通服务器搭建,支持异构系统,超高性价比
简便易用
易于实施和管理,只需要传统数据库 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)。
在创建一个HFS表之后,数据库会在指定的HTS表空间目录下创建一系列的目录及文件,文件系统结构图如下:
对于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表不支持事务,没有事务的特性;
DMMPP总体框架
DMMPP通过分布负载到各个数据库服务器主机,实现存储和处理大规模的数据。采用完全对等的无共享将狗,每个数据库服务器称为一个EP,每个EP都是独立的数据库。该架构中各个EP的节点功能完全一样,用户可连接DMMPP系统内的任意一个EP节点进行数据操作