C++ 打开非常小到非常大的leveldb数据库所需的时间

C++ 打开非常小到非常大的leveldb数据库所需的时间,c++,leveldb,C++,Leveldb,我得先介绍一下背景。我想为OSM planet数据(50GB+)实现一个优化的存储引擎。该引擎的目的是尽可能快地提取地图区域,同时保持每分钟更新的能力。我之所以选择这种设计,是因为每个网格使用一个数据单元。例如,假设地图上的所有单元格都是不同的文件或数据库: (不过我还是想知道,这不是我将要使用的实际单元格网格) 我以前从未使用过leveldb,但由于它的大容量插入和更新性能,我决定使用它。但是,我想知道在打开许多非常小和非常大的leveldb数据库时的“性能特征”。非常小意味着只有几kB,非常

我得先介绍一下背景。我想为OSM planet数据(50GB+)实现一个优化的存储引擎。该引擎的目的是尽可能快地提取地图区域,同时保持每分钟更新的能力。我之所以选择这种设计,是因为每个网格使用一个数据单元。例如,假设地图上的所有单元格都是不同的文件或数据库:

(不过我还是想知道,这不是我将要使用的实际单元格网格)

我以前从未使用过leveldb,但由于它的大容量插入和更新性能,我决定使用它。但是,我想知道在打开许多非常小和非常大的leveldb数据库时的“性能特征”。非常小意味着只有几kB,非常大意味着几百MB

我预计我必须在每分钟10-100分贝之间打开/关闭。如果leveldb需要大量的初始化时间,我会排除它

这个问题的答案可以是具体的数字,也可以是对leveldb在初始化过程中的作用以及它与数据/索引大小的关系的深入了解

另外,我当然也会自己测量。但和所有测试一样,我可能会从样本数据中得出错误的结论