zoukankan      html  css  js  c++  java
  • 再谈H2的MVStore与MVMap

    对H2的[MVStore]: http://www.cnblogs.com/simoncook/p/5188105.html 这篇文章的补充。

    概述

    我们通常用的map,比如HashMap LinkedHashMap ConcurrentHashMap这些基本能力是用来存储kv,并能按key获取,支持泛型,提供对整个map进行迭代(含entryset迭代),有些还提供顺序放入功能,有些还提供并发存和取的能力。
    那么h2的MVMap多提供了哪些特殊的能力?

    MVMap提供的能力

    1. MVStore配合支持持久化,且此特性具有开关
    2. 对put的数据有版本的概念,支持打开一个过去版本(旧版本)的MVMap的实例,并且支持旧版本的个数可以设置。

    MVStore提供的能力

    同样从 TestMVStore测试用例着手分析:

    1. 支持开启一个命名的MVMap,支持命名map的rename。
    2. 支持 commit与rollback操作。
      回滚操作不仅支持MVMap的put动作 还支持从MVStore 中remove map的操作等。但是remove map的操作进行rollback时 仅仅能将map rollback回来,map中的数据不能回滚回来了。 支持命名map的rename的动作回滚。
    3. 通过MVMapisVolatile标识,支持对管理的MVMap可选持久化。
    4. 支持压缩与高压缩比压缩。
    5. 通过MVMap的能力打开指定版本的数据。
    6. 支持文件存储,支持堆外存储。
    7. 支持commit动作的延时时间设置。
    8. 支持存储加密。
  • 相关阅读:
    2020软件工程作业 4
    2020软件工程作业 3
    2020软件工程作业 2
    2020软件工程作业 1
    2020软件工程最后一次作业
    2020软件工程第四次作业
    2020软件工程第三次作业
    2020软件工程第二次作业
    2020软件工程第一次作业
    结对第二次作业
  • 原文地址:https://www.cnblogs.com/simoncook/p/7295922.html
Copyright © 2011-2022 走看看