Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
MapDB:JVM堆Heap之外的磁盘存储数据库
14-03-09
banq
MapDB是一个可以持久化内存In-memory的数据库,可作为内存存储的后备,如果数据超过内存大小,可通过MapDB存储到磁盘上(不过很多缓存产品可以激活这个功能)
MapDB特点:
并发- MapDB 有记录级别锁,具有状态艺术化并发引擎,它的性能能在多核之间线性扩展,数据能够被并行多个线程写入。
快速 - MapDB 有类似原生数据库一样的性能。
ACID - MapDB可选支持ACID事务,使用完整的MVCC 隔离. MapDB 使用uses write-ahead-日志或append-only存储实现写冗余
灵活性 - MapDB能用在in-memory cache缓存到几TB数据库,易于配置。
Hackable易于被破解 - MapDB是基于组件,很多特性(实例缓存cache,
异步
写, 压缩) 都是一组类. 易于加入新功能和组件。
类似SQL - MapDB有足够快的SQL引擎, 易于从关系数据库过渡:辅助索引/集合,自动增加的序列号,Join,触发器,组合键..
低磁盘使用率- MapDB有许多特点(序列号serialization, delta key packing…)等能够缩小磁盘使用,有更快的磁盘压缩。
MapDB配合SSD硬盘,也能够使用在快速处理大数据方面,如果你有一个大的数据集,不一定是“很大”如万亿,除了使用
Hadoop
等集群经典的方法来实现,可以考虑编写一个自定义的,优化的,基于内存的单机版本。反而更简单,更快捷。
参考:
使用GraphChi 在单个笔记本上进行推荐系统运行
缓存设计
大数据架构