Skip to content

服务组件

文件管理模块

数据库文件类型细分为控制文件、数据文件、日志文件和备份文件。

  • 控制文件:实现系统文件信息、存储元信息、集群信息等的创建、更新、同步和容灾等管理;
  • 数据文件:包含存储数据文件、临时数据文件、变更数据文件,可实现对存储的分配、回收、重用、磁盘空间管理、数据行读写操作、容错处理等管理。
  • 日志文件:包含Undo文件、Redo文件、运行日志文件,其中运行日志文件包含错误日志、命令日志、跟踪日志、时间日志、运行日志、审计日志,可实现对系统各类数据、事务、操作、状态、事件、安全等管理。
  • 备份文件:存放库、用户、表等备份数据。

控制管理模块

  • 任务调度:外部用户请求、内部远程调用、定时作业和各类内部维护管理等任务进行分类调度并执行。
  • 并发控制:数据库锁机制,包括全局锁、局部锁、行锁的加锁、放锁以及死锁自解。

信息安全模块

  • 访问控制:用户/角色创建、修改、删除,权限授予和回收。
  • 行为审计:审计定义、记载和查看审计记录。
  • 加密:数据的传输加密、存储加密、备份加密。

内存管理模块

对计算机内存资源的内存分配、内存保护、内存优化、内存监控和内存释放功能,并按照数据及操作分为全局内存区、动态内存区、数据缓冲区、全局排序区、日志缓冲区进行管理。

线程管理模块

单进程多线程工作模型,工作线程包含集群维护、TCP监听、存储维护、消息服务、数据同步、系统时钟等30多类工作线程类型,每个线程都可以独立地执行数据库操作,并充分调度利用计算机多核处理能力。

网络通信模块

外部用户访问网络管理与集群内部网络通讯管理。外部访问网络管理包括建立和维护网络连接、数据传输和协议解析、用户认证和安全管理、并发控制和流量管理、异常处理和日志记录等,集群内部网络管理包括多个节点实例间的管理和通讯,消息接收、发送、处理、多网络管理、数据传输和远程调用。

SQL引擎模块

数据库SQL引擎包含SQL解析、SQL规划、SQL执行三大子功能模块,从接收用户SQL命令时开始SQL语句的词法分析与语法分析,输出数据库抽象语法树并进行信息准确性校验等操作,依托数据库统计信息与SQL语句的语义,调用虚谷数据库内部核心CBO形成最优的路径生成执行器,按照执行路径调用数据库内部扫描器实现数据扫描,并调度计算资源实现数据的过滤、裁剪、计算、结果返回。

事务管理模块

虚谷数据库基于全局序、2PC(Two-Phase Commit Protocol)、MVCC(Multi-Version Concurrency Control)、WAL(Write-Ahead Logging)完整实现分布式事务的ACID特性。

对象管理模块

数据库对象管理包含对象创建、对象使用、对象维护、对象销毁全生命周期管理,结合合规性、安全性、可用性、兼容性等方面的要求,确保数据库对象的正确使用和管理,数据库对象包括表、视图、触发器、存储过程/函数、包、定时作业等。