带有LMDB的内存数据库

杰里米·萨尔文(Jeremy Salwen)

我有一个项目,该项目使用BerkelyDB作为多达数亿条小记录的键值存储。

它的使用方式是将所有值插入数据库,然后使用顺序访问和随机访问对它们进行迭代,所有这些都从单个线程进行。

使用BerkeleyDB,我可以创建“绝不打算保留在磁盘上”的内存数据库如果数据库足够小以适合BerkeleyDB缓存,则永远不会将其写入磁盘。如果它大于缓存,那么将创建一个临时文件来保存溢出。此选项可以显着加快处理速度,因为它可以防止我的应用程序在关闭数据库时将数十亿字节的无效数据写入磁盘。

我发现即使在SSD上,BerkeleyDB的写入性能也太差,因此我想切换到LMDB但是,根据文档,似乎没有创建非持久数据库的选项。

如果我根本不关心持久性或并发访问,应该使用哪种配置/选项组合来获得LMDB的最佳性能?即使它像具有临时后备磁盘存储的“内存数据库”一样工作?

c

只需使用MDB_NOSYNC,就不要自己调用mdb_env_sync()您还可以另外使用MDB_WRITEMAP。操作系统仍将最终将脏页刷新到磁盘。您可以使用/ proc / sys / vm / dirty_ratio等来控制该行为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Batch(内存中的存储库与带有内存中的数据库的持久存储库)

来自分类Dev

lmdb(Symas Lightning内存映射数据库)在CentOS上不起作用

来自分类Dev

从Caffe中的lmdb数据库读取编码的图像数据

来自分类Dev

为什么在创建带有entityframework核心的内存sqlite数据库时表不存在?

来自分类Dev

使用python计数lmdb数据库中的记录数

来自分类Dev

DBUnit:是否有支持Oracle PLSQL的内存数据库?

来自分类Dev

SQLite内存数据库没有被销毁?

来自分类Dev

DBUnit:是否有支持Oracle PLSQL的内存数据库?

来自分类Dev

Laravel使用带有新列的artisan迁移数据库数据库

来自分类Dev

带有附加数据库服务器的庞大数据库

来自分类Dev

带有MongoDB的Django多数据库多租户

来自分类Dev

字符编码,带有数据库的dplyr(PostgreSQL)

来自分类Dev

Android制作带有数据库的测验应用

来自分类Dev

Laravel 5带有宅基的未知数据库

来自分类Dev

带有@Embedded的数据库中的Hibernate空值

来自分类Dev

MySQL数据库名称带有非法字符

来自分类Dev

带有数据库(WordPress)查询的WordPress插件

来自分类Dev

来自数据库的带有模板的邮件

来自分类Dev

带有标签的用户数据库

来自分类Dev

Eclipse中带有wildfly的postgres数据库

来自分类Dev

带有多个数据库的Django迁移

来自分类Dev

带有sqlalchemy数据库的PyQt应用程序

来自分类Dev

Firebase数据库子创建问题(带有模型)

来自分类Dev

从MySQL数据库生成带有图像的PDF文件

来自分类Dev

带有标签的用户数据库

来自分类Dev

从数据库返回带有Ajax的多行-Codeigniter

来自分类Dev

来自数据库的带有模板的邮件

来自分类Dev

带有离线地图和数据库的Android应用

来自分类Dev

使用带有Excel数据库的php计算生日

Related 相关文章

  1. 1

    Spring Batch(内存中的存储库与带有内存中的数据库的持久存储库)

  2. 2

    lmdb(Symas Lightning内存映射数据库)在CentOS上不起作用

  3. 3

    从Caffe中的lmdb数据库读取编码的图像数据

  4. 4

    为什么在创建带有entityframework核心的内存sqlite数据库时表不存在?

  5. 5

    使用python计数lmdb数据库中的记录数

  6. 6

    DBUnit:是否有支持Oracle PLSQL的内存数据库?

  7. 7

    SQLite内存数据库没有被销毁?

  8. 8

    DBUnit:是否有支持Oracle PLSQL的内存数据库?

  9. 9

    Laravel使用带有新列的artisan迁移数据库数据库

  10. 10

    带有附加数据库服务器的庞大数据库

  11. 11

    带有MongoDB的Django多数据库多租户

  12. 12

    字符编码,带有数据库的dplyr(PostgreSQL)

  13. 13

    Android制作带有数据库的测验应用

  14. 14

    Laravel 5带有宅基的未知数据库

  15. 15

    带有@Embedded的数据库中的Hibernate空值

  16. 16

    MySQL数据库名称带有非法字符

  17. 17

    带有数据库(WordPress)查询的WordPress插件

  18. 18

    来自数据库的带有模板的邮件

  19. 19

    带有标签的用户数据库

  20. 20

    Eclipse中带有wildfly的postgres数据库

  21. 21

    带有多个数据库的Django迁移

  22. 22

    带有sqlalchemy数据库的PyQt应用程序

  23. 23

    Firebase数据库子创建问题(带有模型)

  24. 24

    从MySQL数据库生成带有图像的PDF文件

  25. 25

    带有标签的用户数据库

  26. 26

    从数据库返回带有Ajax的多行-Codeigniter

  27. 27

    来自数据库的带有模板的邮件

  28. 28

    带有离线地图和数据库的Android应用

  29. 29

    使用带有Excel数据库的php计算生日

热门标签

归档