MapDB是个好东西,网上对其介绍总结下来:
1. MapDB是一个内嵌的纯java的数据库
2. 支持ACID事务、支持SQL语句、MVCC隔离
3. 它的jar包只有200KB,且无其它依赖;
4. 支持100GB以上的数据存储;
5. 性能可以与很多由C语言开发DB媲美(如LevelDB,Berkeley DB);
6. 如果主机SSD硬盘,MapDB可以用于某些单节点的大数据场景。
这个里面的介绍中,对于第3点,已经过时了。因为最新的V3版本,其jar包大小翻了一倍多,而且需要大量的依赖包。
另外,其读写性能与PalDB比,应该会有差距吧(臆测,未实验)
它现在需要基于Java 8,靠!
为了能用上MapDB3,不是简单的把它的jar包引入就行了。
这样的话,程序会报各种NoClassDefFoundError异常。
解决办法:
根据它的POM文件,把各个依赖包导入进来,包括依赖包所依赖的包。比如kotlin包仅仅导入stdlib就不行,还需要导入runtime。
基于3.0.2这个版本,需要导入的包:
- eclipse-collections-7.0.2
- eclipse-collections-api-7.0.2
- eclipse-collections-forkjoin-7.0.2
- guava-19.0(17,18也可以)
- kotlin-stdlib-1.0.3
- kotlin-runtime-1.0.3
- lz4-1.3.0
- elsa-3.0.0-M6(这二货自己的另一个程序)
顺便MARK一下:
- Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。
- Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。
- 号称或者想达到:比Scala语言更加简单