2023年11月23日发(作者:)

打开mdb数据库_PyTorch60.读写LMDB数据库

LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的⽂件结构简单,包含⼀个数据⽂件和⼀个锁⽂

件:

LMDB⽂件可以同时由多个进程打开,具有极⾼的数据存取速度,访问简单,不需要运⾏单独的数据库管理进程,只要在访问数据的代码⾥

引⽤LMDB库,访问时给⽂件路径即可。

让系统访问⼤量⼩⽂件的开销很⼤,⽽LMDB使⽤内存映射的⽅式访问⽂件内存映射的⽅式访问⽂件,使得⽂件内寻址的开销⾮常⼩,使⽤指针运算就能实现。数

据库单⽂件还能减少数据集复制/传输过程的开销。

在python中使⽤lmdb: linux中,可以使⽤指令‘’ 安装lmdb包。

pip install lmdb

1. ⽣成⼀个空的lmdb数据库⽂件:

# -*- coding: utf-8 -*-

import lmdb

# 如果train⽂件夹下没有⽂件,则会⽣成⼀个空的,如果有,不会覆盖

# map_size定义最⼤储存容量,单位是byte,以下定义1TB容量

env = ("./train"map_size=1)

()

2. LMDB数据的添加、修改、删除:

# -*- coding: utf-8 -*-

import lmdb

# map_size定义最⼤储存容量,单位是kb,以下定义1TB容量

env = ("./train", map_size=1)

txn = (write=True)

# 添加数据和键值

(key = '1', value = 'aaa')

(key = '2', value = 'bbb')

(key = '3', value = 'ccc')

# 通过键值删除数据

(key = '1')

# 修改数据

4. 读取已有.mdb⽂件内容:

# -*- coding: utf-8 -*-

import lmdb

env_db = nment('trainC')

# env_db = ("./trainC")