[转载]LMDB文件格式
转载 文件格式
2023-09-27 14:23:43 时间
[转载]LMDB文件格式
来源:LMDB的全称是Lightning Memory-Mapped Database,闪电般的内存映射数据库。它文件结构简单,一个文件夹,里面一个数据文件,一个锁文件。数据随意复制,随意传输。它的访问简单,不需要运行单独的数据库管理进程,只要在访问数据的代码里引用LMDB库,访问时给文件路径即可。
图像数据集归根究底从图像文件而来。既然有ImageDataLayer可以直接读取图像文件,为什么还要用数据库来放数据集,增加读写的麻烦呢?我认为,Caffe引入数据库存放数据集,是为了减少IO开销。读取大量小文件的开销是非常大的,尤其是在机械硬盘上。LMDB的整个数据库放在一个文件里,避免了文件系统寻址的开销。LMDB使用内存映射的方式访问文件,使得文件内寻址的开销非常小,使用指针运算就能实现。数据库单文件还能减少数据集复制/传输过程的开销。一个几万,几十万文件的数据集,不管是直接复制,还是打包再解包,过程都无比漫长而痛苦。LMDB数据库只有一个文件,你的介质有多块,就能复制多快,不会因为文件多而慢如蜗牛。
关于LMDB的底层实现,可以看这两篇博客:
相关文章
- C#:字符串(转载9)
- GPS:中央子午线(转载)
- 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
- Beetl 3中文文档 转载 http://ibeetl.com/guide/
- [转载]MySQL的存储引擎
- [转载] 什么是istio 官网内容
- 调整分区大小 转载--------------http://blog.csdn.net/perfectzq/article/details/73606119
- 转载:Unobtrusive JavaScript in ASP.NET MVC 3 隐式的脚本在MVC3
- [网络]应用层协议:HTTP / HTTPS[转载]
- 爬虫项目[转载]
- SQL Server 查询性能优化——创建索引原则(一)(转载)
- CentOS 7 开放防火墙端口 命令(转载)
- InterV 10:JDK8十大新特性转载(不只十个新特性,还有很多)
- 如何转载别人的文章
- 面试之C语言字符串操作总结大全(转载)