`

BerkeleyDB和LevelDB

 
阅读更多
Berkeley DB:作为比特币的钱包数据库(存储wallet.dat).
1.Berkeley DB是一个开源的文件数据库,介于关系数据库和内存数据库之间,使用方式与内存数据库类似

2.它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通信,SQL解析等步骤

3.Berkeley DB是一个轻巧而又性能高的嵌入式数据库,Berkeley DB可以保存任意类型的键/值对,而且可以一个键保存多个数据

4.Berkeley DB可以支持数千个并发线程同时操作数据库,支持最大256TB的数据



LevelDB:存储区块的索引和UTXO(未花的比特币交易输出)记录
1.LevelDB是一个Google实现的非常高效的键值(Key Value)数据库,能够支持几十亿级别的数据量(1.2版本)

2.在blocks/index/*这个目录中,存储着LevelDB中的已知区块的元数据,以及如何在硬盘找到它们的索引.没有这些索引文件,查找一个区块将会非常慢.

3.在chainstate/*这个目录中,存放着LevelDB中的UTXO记录,以及一些这些交易来源的元数据.这些数据用来校验收到的区块和交易

4.另外回滚交易记录作为原始数据存放在blocks/rev*.dat.在区块链分叉重组的时候需要用回滚记录去更新UTXO记录

5.LevelDB的数据是冗余数据,可以用原始区块链数据来重建,但重建会花很长时间,如果没有LevelDB的数据,比特币的校验和其他操作都会变得非常缓慢
分享到:
评论

相关推荐

    移动终端课程设计.pdf

    课程中还介绍了五种主流的数据库管理系统(DBMS):Oracle、SQL Server、MySQL、Berkeley DB和LevelDB。这些数据库系统各有特色,适用于不同的应用场景,如企业级数据管理、Web应用程序或嵌入式系统。 数据库建模是...

    sds-keyval:sds-key Mochi微服务的个人叉子

    要启用BerkeleyDB和LevelDB后端,请分别使用ass +bdb和+leveldb 。 例如: spack install sdskeyval+bdb+leveldb 请注意,如果您在spack中使用系统加速路径(在packages.yaml中),而不是让spack构建加速,则必须...

    leveldb-windows-python3.6编译版

    7. **对比与选择**:在Python环境中,除了LevelDB,还有其他键值存储选择,如Redis、Berkeley DB等。选择哪个取决于具体需求,例如是否需要多线程、网络访问、复杂数据类型等。 **Python接口使用** 1. **安装与...

    mnist数据集(leveldb和lmdb格式)

    总结,MNIST数据集的Leveldb和LMDB格式提供了高效的数据存储和访问方式,适用于大规模机器学习任务。理解和掌握这两种数据存储系统对于深入研究和实践机器学习,尤其是深度学习的模型训练,具有重要的价值。

    tkvdb:Trie键值数据库

    它类似于Berkeley DB,LevelDB或SQLite4 LSM。 键始终按memcmp()顺序排序。 支持的运营 将新的键/值对添加到数据库。 从数据库中删除现有密钥。 查询数据库中的特定密钥。 遍历一系列数据库密钥(向前或向后...

    cpp-tkvdb是一个用于keyvalue数据的嵌入式数据库库

    这个数据库系统被设计成轻量级且高效,它借鉴了其他知名的键值存储解决方案,如Berkeley DB、LevelDB和SQLite4的LSM(Log-Structured Merge Tree)数据结构。tkvdb的核心目标是提供一种简单而快速的方式来存储和检索...

    unqlite:嵌入式NoSQL事务数据库引擎

    UnQLite是类似于MongoDB,Redis,CouchDB等的文档存储数据库,也是类似于BerkeleyDB,LevelDB等的标准键/值存储。 UnQLite是嵌入式NoSQL(键/值存储和文档存储)数据库引擎。 与大多数其他NoSQL数据库不同,...

    activemq-store-bdb-1.5.jar.zip

    在使用activemq-store-bdb-1.5.jar时,必须遵循Berkeley DB和ActiveMQ的许可条款,以确保合法合规地使用该组件。 在实际部署中,配置BDB存储需要在ActiveMQ的配置文件(如activemq.xml)中指定。例如,可以创建一个...

    再说tokyocabinet 及其扩展

    通常,这样的文章会详细介绍Tokyo Cabinet的基础知识,包括它的数据结构(如B+树)、数据存储方式、性能表现,以及与同类数据库如Berkeley DB、LevelDB等的比较。 标签“源码”表明内容可能涉及Tokyo Cabinet的源...

    智能分布式标识系统IDIS介绍.pdf

    它采用了多种数据库(如Oracle、MySQL、PostgreSQL、Berkeley DB、RocksDB、LevelDB),并具备数据同步能力,包括增量更新和全量更新,确保系统在不停止解析的情况下自动更新。与开源Handle系统相比,IDIS系统在注册...

    activemq-store-bdb-2.0.jar.zip

    本文将重点讨论ActiveMQ的存储机制,特别是基于Berkeley DB(BDB)的存储解决方案——activemq-store-bdb-2.0.jar,以及其在实际应用中的作用。 一、ActiveMQ与BDB存储 ActiveMQ提供了多种存储策略,包括文件系统...

    Tokyo-Cabinet.tar.gz

    这个系统提供了多种数据库引擎,包括BDB-like(Berkeley DB风格)的TDB(Tokyo Database)和哈希表型的HDB(Hash Database)。这些数据库引擎具有内存映射功能,能实现高速的读写操作,非常适合于大量数据的存储和...

    nosql数据库解读.pptx

    BerkeleyDB诞生.. 1991 Google发表了三大论文:诞生了Bigtable 2008年参考bigtable,Hbase从hadoop中诞生 2006 以SAP的HANA为代表的内存计算数据库,以google的spanner为代表的高性能分布式数据库. 2010 Memcached...

    cpp-Metaweb图形存储库服务器

    3. **持久化存储**:图形数据需要被持久化到磁盘,可能采用的关系型数据库(如SQLite)、键值存储(如LevelDB)或者专门的图形数据库存储引擎(如BerkeleyDB)。 4. **API和客户端库**:为用户提供访问和操作图形...

    基于Java的实例源码-磁盘的KV存储 JDBM2.zip

    JDBM2与其他键值对存储系统(如Berkeley DB Java Edition或LevelDB)相比,可能具有不同的特性和优势。比如,JDBM2是纯Java实现,可以在任何Java运行环境中使用,而无需安装额外的依赖。此外,JDBM2的API设计简洁,...

    activemq-store-bdb-1.2.jar.zip

    在ActiveMQ的存储机制中,BDB(Berkeley DB)是一个重要的选项,提供了高效且可靠的持久化存储解决方案。本文将详细探讨`activemq-store-bdb-1.2.jar`这个特定版本的组件,以及其在Java环境下的使用和重要性。 一、...

    my dbms.rar_C++_数据库管理系统

    在 C++ 中,可以手动管理事务,或者使用支持事务的库如 LevelDB 或 Berkeley DB。 6. **并发控制**: 对于多用户系统,并发控制是必要的,以防止数据冲突。这可以通过锁机制、乐观锁或多版本并发控制(MVCC)实现...

    caffe图片资源转换数据库文件

    2. **构建数据库**:运行`create_img_db`命令,提供输入的图片目录、标签文件、输出的数据库路径和类型(如LMDB或LevelDB)。例如: ``` build/tools/create_img_db --list=data/labels.txt --output=lmdb_data --...

    星座:对等加密消息交换

    星座 星座是一个自我管理的对等系统,其中每个节点: 托管多个NaCl(Curve25519)公钥/私钥对。... 支持许多存储后端,包括LevelDB,BerkeleyDB,SQLite和适用于任何FUSE适配器(例如,适用于AWS S3的)的Directory /

    大云NOSQL系统设计思考 --NOSQL在电信行业的应用 高清完整中文版PDF下载

    例如TC/TT、Dynamo、Voldemort、Berkeley DB (BDB)、Riak、memBase、LevelDB、memcached、Tair等。 2. **列族(Column Family)存储**:支持基于列的特定操作,例如HBase、Cassandra、Hypertable等,这类系统特别适合...

Global site tag (gtag.js) - Google Analytics