⬆︎
×

MapDB嵌入式数据库框架基础教程

MapDB是一款快速且易用的嵌入式Java数据库引擎和集合框架,提供了基于磁盘或者堆外(off-heap,允许Java直接操作内存空间,类似于C一样的malloc和free)存储的并发的Maps、Sets、Queues。MapDB支持ACID事务、MVCC隔离,其jar包只有200KB,且无其它依赖,非常轻量。

官网:mapdb.org
文档:GitBook文档Javadoc

MapDB 全部使用Java编写,支持100GB以上的数据存储,且性能可以与很多由C语言开发的数据库(谷歌的Leveldb、甲骨文的Berkeley DB)相媲美。主要特性如下:

  • 并发:MapDB 包含记录级别的锁和先进的并发控制引擎,其性能可在多核之间线性扩展,支持并发写。
  • 快速:MapDB 的性能可以与原生数据库相媲美,它经过多次的优化以及重写。
  • ACID事务:支持ACID事务并实现了不同形式的MVCC,MapDB使用write-ahead-log或者append-only的方式来存储操作日志。
  • 灵活:MapDB可以运行在内存缓存中,也可以支持TB级别的数据库。支持各种配置以满足不同的需求。
  • Hackable:MapDB采用模块化的架构设计,非常容易扩展,很多特性(实例缓存cache、异步写、压缩)都是一组类,易于加入新功能和组件。
  • SQL Like:MapDB有非常快的SQL引擎,包含很多从关系型数据库移植过来的特性,例如辅助索引/集合、自增序列 ID、连接、触发器、组合键。
  • 低磁盘使用率:MapDB能压缩磁盘的使用量,并且压缩与序列化过程都非常快速。

要开始使用MapDB,首先需要添加依赖:

<dependency>
    <groupId>org.mapdb</groupId>
    <artifactId>mapdb</artifactId>
    <version>${mapdb.version}</version>
</dependency>

更多内容详见官方文档。

发表评论