达梦数据库架构
1、达梦数据库简介
DM8是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,推出的新一代自研数据库。
DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点, 融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模
并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。一个数据库,满足用户多种需求,让用户能更加专注于业务发展。
2、数据库架构
DM8 采用了独特的双存储引擎架构,行存储引擎和列存储引擎可相互配合、协同工作。同时实现了计算层和存储层的分离,同一内核既支持共享存储式集群,也支持分布式事务集群。
达梦数据库属于单进程多线程
dmserver | 主进程 |
---|---|
checkpoint线程 | 负责在定期或特定条件下将内存中的数据刷写到磁盘,确保数据库的持久性。这有助于恢复和保持数据的一致性。 |
I/O线程 | 负责处理与数据读写相关的输入输出操作,这通常包括与文件系统的交互以及数据库的数据文件和日志文件的读写。 |
监听线程 | 监听数据库服务端口,处理客户端的连接请求,为每个新的客户端请求分配处理资源。 |
日志写线程 | 负责将事务日志记录到日志文件中。这是确保事务在系统故障后能够恢复的关键部分。 |
MAL线程 | 内存分配器线程,负责管理内存请求和优化内存使用,以提高数据库操作的效率。 |
Purge线程 | 负责清理不再需要的数据库对象或数据,如删除的行或过期的事务日志,以释放空间。 |
Audit Flush线程 | 负责将审计日志记录从内存刷写到磁盘,以确保对数据库操作的审计跟踪。 |
调度线程 | 管理和调度其他线程的执行,确保线程按优先级和需求高效运行。 |
Task线程 | 执行特定的后台任务,如统计信息的收集、监控任务的执行等。 |
Worker线程 | 执行用户查询和事务处理,是数据库操作的主要执行者。 |
DB/UTHR线程 | 用户线程管理 |
ORACLE数据库启动
达梦数据库启动
可以看到达梦和Oracle的架构设计和操作灵活性方面的不同