H2 Database MVStore 初始化原理

H2 Database MVStore 初始化

作用

MVStore(multi-version store):
H2 的默认存储子系统,支持多版本,持久化的、日志结构 的 键值存储。

功能

Maps
    每个 store 包含多个 mvMaps,可以通过 java.util.Map 接口访问
Versions
    支持多版本
Transactions
    支持事务(并发事务&两阶段提交)
Concurrent Operations and Caching
    支持并发读写
Log Structured Storage
    日志结构化存储
支持文件存储和内存操作
支持可插拔

文件存储格式

# 文件存储格式
[ file header 1 ] [ file header 2 ] [ chunk ] [ chunk ] ... [ chunk ]

# chunk 存储格式
[ header ] [ page ] [ page ] ... [ page ] [ footer ]
结构
    File Header 文件头
    Chunk Format 块
        Page Format 页
    Metadata Map 元数据

FileHeader

文件头有两个 file header 1 和 file header 2,内容完全相同。

file header 1: 
    H:2
        代表H2数据库
    block:2
     
posted on 2024-10-31 08:48  flyingzc  阅读(0)  评论(0)    收藏  举报  来源