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)


  • 相关阅读:
    真正明白了引用与对象的关系,就能避开下面这个陷阱
    python 垃圾回收
    字典
    表的操作
    MySQL数据库中的存储引擎
    MySQL数据库的基本操作
    MySQL数据库安装文件夹与配置文件简易说明
    数据库概述
    Arrays类
    Math类
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5115884.html
Copyright © 2011-2022 走看看