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

时间:2016-01-07 01:14:53

标签: c++ leveldb

我必须先给出一些背景知识。我想为OSM行星数据(50GB +)实现优化的存储引擎。此引擎的目的是尽可能快地启用地图区域提取 - 同时还保留微小更新的能力。我选择的设计有几个原因(这里没有提到所有这些)是每个网格使用一个数据单元。例如。认为地图上的所有单元格都是不同的文件或数据库:http://3.bp.blogspot.com/_CntRFtGsdQo/TTU5UMlLkTI/AAAAAAAAARk/_hW8n33t4Ok/s1600/utmworld.gif

(但是要明白这个想法,这不是我将要使用的实际单元格)

我以前从未使用过leveldb,但是因为它的批量插入和更新性能已经确定了它。但是,我想知道"性能特征"当打开许多非常小且非常大的leveldb数据库时。非常小的意思只有几个KB,非常大意味着几百MB

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

这个问题的答案可能是具体的数字,也可能是对leveldb在初始化期间所做的事情以及它与数据/索引大小的关系的见解。

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

0 个答案:

没有答案