Lightning MDB

数据库管理库
授权协议 OpenLDAP
开发语言 C/C++
所属分类 数据库相关、 NoSQL数据库
软件类型 开源软件
地区 不详
投 递 者 上官和惬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

LMDB 是一个超级快、超级小的 key-value 数据存储服务,是由 OpenLDAP 项目的 Symas 开发的。使用内存映射文件,因此读取的性能跟内存数据库一样。其大小受限于虚拟地址空间的大小。

LMDB是基于Btree的数据库管理库,其基于BerkeleyDB API进行了松散建模,但已大大简化。整个数据库都显示在内存映射中,并且所有数据提取都直接从映射的内存返回数据,因此在数据提取期间不会发生malloc或memcpy。这样,该库非常简单,因为它不需要自己的页面缓存层,并且具有极高的性能和内存效率。它也具有完全ACID语义的完全事务性,并且当内存映射为只读时,数据库完整性不会被应用程序代码中的杂散指针写入破坏。

该库完全支持线程,并支持来自多个进程和线程的并发读/写访问。数据页使用写时复制策略,因此不会覆盖任何活动数据页,这也可以防止损坏,并且在系统崩溃后无需任何特殊的恢复过程。写入已完全序列化;一次只能有一个写事务处于活动状态,这保证了写程序永远不会死锁。数据库结构是多版本的,因此读取器没有锁运行。作家不能阻止读者,读者也不能阻止作家。

与其他使用预写事务日志或仅追加数据写入的知名数据库机制不同,LMDB在操作期间不需要维护。预写记录器和仅附加数据库都需要定期检查点和/或压缩其日志或数据库文件,否则它们会无限制地增长。LMDB跟踪数据库中的空闲页面,并将它们重新用于新的写操作,因此数据库大小不会随正常使用而增长。

内存映射可以用作只读或读写映射。默认情况下它是只读的,因为它可以完全防止损坏。使用读写模式可提供更高的写入性能,但增加了流浪应用程序通过指针写入以静默破坏数据库的可能性。

  • 本博文系列前面已经探讨了LMDB的系统架构、MMAP映射、B-Tree操作等部分,本文将尝试描述LMDB中的事务控制的实现。 事务的基本特征: 事务是恢复和并发控制的基本单位。它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常

 相关资料
  • 我是wordpress的新手,在管理数据库方面有困难。我已经安装了“管理员”插件来管理数据库。我已经创建了一个名为“usersupp_admin”的新表。现在我还创建了一个自定义模板,该模板将使用PDO语句连接到此数据库,现在的问题是在哪里可以获取主机、数据库名、用户和密码?以下是代码: 任何帮助都将不胜感激。

  • 将现有存储库数据库迁移到其他数据库可能包括迁移到同一服务器中的其他数据库,或迁移到不同操作系统上的数据库(例如,从 Windows 到 macOS)。 如果你想迁移你的存储库数据库,请按照下列步骤操作: 通过运行命令,或使用通知区域或菜单栏中的图标来停止 Navicat Monitor 服务。 在你的数据库管理工具中,将当前的存储库数据库(所有表的结构和数据)复制到新的存储库数据库。 启动 Nav

  • 我需要将adminer与oracle连接,但在官方映像中不支持它。是否有用于oracle连接的管理员映像?或者如果有人可以指导我如何在当前映像中安装oci8扩展。

  • 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.5.1. 账户管理语句 13.5.1.1. CREATE USER语法 13.5.1.2. DROP USER语法 13.5.1.3. GRANT和REVOKE语法 13.5.1.4. RENAME USER语法 13.5.1.5. SET PAS

  • 目录 5.1. MySQL服务器和服务器启动脚本 5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例

  • 配置 Database 组件的数据库连接 表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用

  • 主要内容:什么是数据库,数据库管理系统,DBMS的特征,DBMS的优点,DBMS的缺点,学习前提条件,面向读者,问题反馈DBMS教程提供了数据库的基本和高级概念。 我们的DBMS教程专为初学者和专业人士设计。数据库管理系统是用于管理数据库的软件。 DBMS教程包括DBMS的所有主题,如介绍,ER模型,键,关系模型,连接操作,SQL,函数依赖,事务,并发控制等。 什么是数据库 数据库是相互关联数据的集合,用于有效地检索,插入和删除数据。 它还用于以表格,模式,视图和报告等形式组织数据。 例如: 学

  • 本文向大家介绍数据库管理系统的优势,包括了数据库管理系统的优势的使用技巧和注意事项,需要的朋友参考一下 数据库管理系统(DBMS)定义为允许用户定义,创建,维护和控制对数据库访问的软件系统。DBMS使最终用户可以创建,读取,更新和删除数据库中的数据。它是程序和数据之间的一层。 与基于文件的数据管理系统相比,数据库管理系统具有许多优势。这些优点中的一些在下面给出- 减少数据冗余 基于文件的数据管理系