H2的存储子系统——MvStore

MvStore是H2数据库的存储子系统,采用多版本页数据结构,支持B树和R树,提供内存、文件等多种存储形式,并具备事务与并发读写能力。MvMap作为MvStore的基础接口,与JDK的HashMap不同,它是持久化的。MvStore通过MvTable和MvPrimaryIndex构建关系表,其中TransactionMap的dataMap实现了事务功能。B-tree、Page和Chunk是MvStore的重要概念,Chunk用于实现多版本并发控制,提高并发读写性能。
摘要由CSDN通过智能技术生成

  MvStore是多版本的,持久化的,以LSF为写入策略的的Key-Value存储系统,是作为H2的新一代存储子系统设计,在H2的架构之中处于第二层,即在文件抽象层之上。它的特点如下:

  • 基于多版本页数据结构(包括B树和R树实现)
  • java.util.Map为基础Key-Value存取接口
  • 多存储形式支持(内存、普通文件、加密文件、压缩文件)
  • 事务与并发读写支持

  下面以官方的例子来看看MvStore的基本用法,官方网页为http://www.h2database.com/html/mvstore.html

import org.h2.mvstore.*;

// open the store (in-memory if fileName is null)
MVStore s = MVStore.open(fileName);

// create/get the map named "data"
MVMap<Integer, String> map = s.openMap("data");

// add and read some data
map.put(1, "Hello World");
System.out.println(map
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值