zoukankan      html  css  js  c++  java
  • h2database源码浅析:TransactionMap、MVMap、MVStore

    • TransactionStore:A store that supports concurrent MVCC read-committed transactions.
    • TransactionStore.Transaction:A transaction.
    • TransactionStore.TransactionMap<K,V>:A map that supports transactions.
    TransactionStore通过openMap获取到Map:


    <K,V> TransactionStore.TransactionMap<K,V>
    openMap(java.lang.String name, DataType keyType, DataType valueType) 
              Open the map to store the data.

    TransactionStore通过open创建一个Transaction:
    TransactionStore.Transaction begin() 
    Begin a new transaction.


    MVMap<K,V>

    多版本Map
    读操作:Read operations can happen concurrently with all other operations, without risk of corruption.
    写操作:Write operations first read the relevant area from disk to memory concurrently, and only then modify the data. The in-memory part of write operations is synchronized. For scalable concurrent in-memory write operations, the map should be split into multiple smaller sub-maps that are then synchronized independently.

    所有已实现的接口:
    java.util.concurrent.ConcurrentMap<K,V>, java.util.Map<K,V>

    直接已知子类:
    MVMapConcurrent, MVRTreeMap

    MVTableEngine.Store

    public MVStore getStore() 获取MVStore

    MVStore

    A persistent storage for maps.
    openMap()方法用以创建一个MVMap:

    public <K,V> MVMap<K,V> openMap(java.lang.String name)


  • 相关阅读:
    IOS调试问题集
    sql常用语句及日期格式
    事件的简单面试题
    首博
    T-SQL查询进阶--详解公用表表达式(CTE)
    c++分布式计算类库
    MSSQL on Linux
    使用supervisor实现.NET Core程序后台运行
    CentOS下安装Nginx并安装服务实现自启动
    macOS安装MongoDB
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5115884.html
Copyright © 2011-2022 走看看