打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
什么是LMDB闪电记忆映射数据库

  LightningMemory-MappedDatabase(LMDB)是一个软件库,它以键值存储的形式提供高性能的嵌入式事务数据库。LMDB是用C语言编写的,具有多种编程语言的API绑定。LMDB将任意键/数据对存储为字节数组,具有基于范围的搜索功能,支持单个键的多个数据项,并具有在数据库末尾附加记录的特殊模式(MDB_APPEND),可提供显着的写入性能比其他同类商店增加。LMDB不是关系数据库,它是严格的键值存储等的BerkeleyDB和dbm。

  LMDB也可以使用同时在多线程或多处理环境中,有读性能通过设计线性缩放。LMDB数据库一次只能有一个编写器,但与许多类似的键值数据库不同,写事务不会阻止读者,也不会阻止编写器。LMDB也很不寻常,因为同一系统上的多个应用程序可以同时打开并使用相同的LMDB存储,作为扩展性能的手段。此外,LMDB不需要事务日志(从而通过不需要两次写入数据来提高写入性能),因为它通过设计本身维护数据完整性。

  LMDB内部使用B+树数据结构。其设计效率和占用空间小,同时具有提供良好写入性能的意外副作用。LMDB有一个类似于BerkeleyDB和dbm的API。LMDB将计算机的内存视为单个地址空间,使用具有写时复制语义的共享内存在多个进程或线程之间共享(历史上称为单级存储)。

​  由于大多数以前的现代计算体系结构具有32位内存地址空间限制,这对使用此类技术的任何数据库的大小施加了4GB的硬限制,因此将数据库直接映射到单级存储的技术的有效性严格限制。然而,今天的64位处理器现在主要实现48位地址空间,允许访问47位地址或128TB的数据库大小,使得使用共享内存的数据库在实际应用程序中再次有用。(欢迎转载分享)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
数据库有哪些类型?如何根据应用场景选择?终于有人讲明白了
读懂数据存储的六种技术,一篇就够了
数据系统读写权衡的一知半解
Py之lmdb:lmdb的简介、安装、使用方法之详细攻略
【给量化行情插上翅膀】天翼云电脑上实践纯Python通过LMDB加速股票行情读写速度
MySQL数据库的事务及存储引擎
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服