Lu4*_*Lu4 12 database key-value nosql indexeddb leveldb
我正在阅读有关LevelDB的内容并发现:
即将推出的Chrome浏览器版本包括构建在LevelDB之上的IndexedDB HTML5 API的实现
IndexedDB也是一个简单的键/值存储,能够索引数据.
我的问题是:如何在键/值存储之上构建索引?我知道索引在它的最低级别是n-ary树,我理解数据在数据库中索引的方式.但是如何使用像LevelDB这样的键/值存储来创建数据库索引呢?
重要的特征并不是它支持自定义比较器,而是支持通过键进行有序迭代,从而搜索部分键.您可以使用约定来分隔字符串值来模拟键中的字段.位于leveldb之上的许多脚本层使用这种方法.
键值存储的字典视图是您只能通过完全匹配来判断键是否存在.仅仅使用这样的KV商店作为数据库索引的基础是不可行的.
只要您可以从部分匹配开始迭代键,就足以为索引提供搜索和排序操作.
只需要做一些事情,LevelDB支持使用自定义比较器对数据进行排序,从您链接到的页面:
根据项目现场,主要特点是:
因此,LevelDB可以包含可以根据1个排序顺序对数据进行排序/索引的数据.
如果您需要多个可索引字段,则只需添加自己的B-Tree即可在LevelDB上运行.我认为这是Chrome浏览器所采用的方法类型,但我只是在猜测.
您始终可以浏览Chrome源代码.
归档时间: |
|
查看次数: |
6255 次 |
最近记录: |