添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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, 
    TransactionStore:A store that supports concurrent MVCC read-committed transactions.TransactionStore.Transaction:A transaction.TransactionStore.TransactionMap<K,V>:A map that supports transacti... H2 和SQLite都是轻量级的关系型 数据库 ,它们都具有以下特点:无需安装,可以直接使用,非常轻便。支持多种操作系统。数据 存储 在单个文件中,便于备份和迁移。以下是 H2 和SQLite的比较:性能 SQLite的性能比 H2 更好,因为它采用了C语言编写的底层代码,而 H2 使用Java编写的底层代码。因此,在大量数据的情况下,SQLite的性能更高。 数据库 大小 H2 数据库 文件比SQLite的文件稍大,因为H... H2 就不做很多介绍了。资源包内容列表是我进行 H2 预研是收集的 H2 资料,应该是最全面的的了: 1、 h2 .pdf ( H2 API) 2、 h2 -1.3.173.jar (截止2013-8-15最新的 H2 .jar) 3、 h2 -2013-07-28.zip (截止2013-8-15最新的 H2 服务,包括API\JAR\服务) 4、 H2 Database_SQL语法.doc 5、 H2 Database高级特性.doc 6、 H2 Database聚合函数.doc 7、 H2 Database连接配置.doc 8、 H2 Database数据类型.doc 9、 H2 Database中文教程.doc 10、 H2 内存 数据库 h2 部署操作手册.docx 11、 H2 内存 数据库 安装与维护.doc 12、 H2 数据库 基础知识.docx 13、 H2 数据库 使用.doc h2 的chunk机制:每次commit新建一个chunk 存储 块, 参考:https://blog.csdn.net/kaixin89/article/details/50738486 查看*.mv.db文件相关信息 MVSt oreTool.main("-info","xxx.mv.db.bak") 程序异常停止,导致 h2 的shutdown compact或者shutdown defrag未完成(如:KILL -9 PID) 首先要介绍几个概念: 1.    MVCC(Multi-Version Concurren):多版本并发控制,是MySQL的事务型 存储 引擎如InnoDB。 2.    trx_id与roll_pointer:MySQL会给每个表加2个字段,trx_id是事务字段id,roll_pointer为回滚字段。 3.    事务会有一个ID,只有更新(删除和插入是特性的更新)会生成事务ID。 4.    在事务中进行更新,会把原记录放到undo回滚日志里面,然后再插入一条新记录,这个新记录的roll_pointer指向刚刚放到undo回滚日志里面的那个记录。 5.    在事务中使用select不会生   创建一个【 H2 DBTest】JavaWeb项目,找到 H2 数据库 的jar文件,如下图所示: H2 数据库 就一个jar文件,这个Jar文件里面包含了使用JDBC方式连接 H2 数据库 时使用的驱动类,将" h2 -1.4.183.jar"加入到【 H2 DBTest】项目中,如下图所示: 1.2、开启 H2 数据库 root@test ~ cd /usr/local/ root@test ~ tar -xvf zookeeper-3.4.10.tar root@test ~ mv zookeeper-3.4.8.tar.gz zookeeper 修改环境变量: root@test ~ vim /etc/profile export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$ZOOKEEPER_HOME/bin:$PATH 重新编译文件: 使用top命令查看系统资源的使用情况top获取java的PID或者jps -ljps -v通过命令查看进程的线程情况**ps p pid-L -o pcpu,pmem,pid,tid,time,tname,cmd**找到以下进程中,CPU利用率比较高的线程号TID(十进制数),此处为12394接下来就可以通过jstack查看内存使用的堆栈。将获取的线程号PID(十进制数)转换成十六进制printf...