- 2024-11-06LevelDB 源码中的 C++ 奇淫技巧
LevelDB整体代码还是比较好懂,没有用很多C++奇淫技巧。不过还是有部分实现,相当比较少见,比如柔性数组、链接符号导出、Pimpl类设计等。本文会梳理这里的C++高级技巧,帮助更好地理解LevelDB的实现。柔性数组在util/cache.cc的LRUHandle结构体定义中,有一个柔性数组(fl
- 2024-09-03windows 安装plyvel
编译leveldbgitclonehttps://github.com/google/leveldb.gitcdleveldb#这里我用的是1.23版本gitcheckout1.23gitsubmoduleinitgitsubmoduleupdatemkdirbuildcdbuildcmake..-G"VisualStudio162019"-Ax64cmake--build.--configRelease编译ply
- 2024-07-312021年我因为Tab Session Manager丢失数据,好像是研究过一次leveldb的查看/解码方式 但是当时好像因为时间关系没能成功 / chrome .ldb文件
Default\LocalStorage\leveldb.ldb 2023年下半年我因为chatmindai修改域名,又研究过一次,因为时间关系也没有细究 最近,我想查看一下anki的devtool的LocalStorage,即https://ankiweb.net/shared/info/31746032这个插件产生的C:\Users\xxx\AppData\Local\Anki\QtWebEngine\De
- 2024-06-05leveldb 代码阅读三
options解读Options数据库设置压缩类型//数据库内容存储在一组块中,每个块包含一个键、值对序列。//在存储到文件中之前,可以压缩每个块。//下面的枚举描述用于压缩块的压缩方法(如果有)。enumCompressionType{ kNoCompression=0x0, kSnappyCompression=0x1}
- 2024-02-19NoSQL 数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能!
NoSQL数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能!【官网地址】:http://www.redisant.cn/nosql介绍直观的用户界面从单一应用程序中同时连接Redis、Memcached、SSDB、LevelDB、RocksDB,你可以快速轻松地创建
- 2023-12-21《Java架构师的第一性原理》32分布式计算之分布式缓存第3篇LevelDB
互联网业务,绝大部分场景,会使用缓存服务。但有时候,确实会使用到进程内存缓存/数据库,这个时候,LevelDB就能派上用场了。啥是LevelDB?LevelDB是Google开发的,一个速度非常块的KV存储库(storagelibrary),它支持字符串的key与字符串的value,并且这种映射关系按key排序(orderedmapping)。L
- 2023-12-16【LevelDB】【include】Slice类解析
Slice类Slice类是对字符串的封装,设计思想与std::string_view相似。源文件位置include/leveldb/slice.h优点:1、拷贝速度快,Slice的拷贝仅需拷贝数据指针和数据长度2、多个Slice可指向同个字符串,减少资源开销3、支持std::string
- 2023-12-13【LevelDB】【utils】Arena类解析
Arena类Arena类是极为简易的内存池实现,支持动态申请内存空间(内存对齐/不对齐方式),通过RAII机制保证Arena对象管理的内存在Arena对象生命周期结束后自动清理。源文件位置util/arena.hutil/arena.cc优点:访问速度快缺点:存在内存浪费,详细见下
- 2023-10-27shardingdb:支持分片和并发读写的 GoLevelDB
概述shardingdb是一个开源包,旨在为GoLevelDB增加分片和并发读写功能。它可以作为LevelDB的替代品,方便地集成到现有项目中。本博客将介绍shardingdb及其功能,并介绍如何在您的项目中使用它。特点-分片支持:shardingdb使您能够将数据分布在多个LevelDB实例中,提高性能和可扩
- 2023-09-16 shardingdb:支持分片和并发读写的 GoLevelDB
概述shardingdb是一个开源包,旨在为GoLevelDB增加分片和并发读写功能。它可以作为LevelDB的替代品,方便地集成到现有项目中。本博客将介绍shardingdb及其功能,并介绍如何在您的项目中使用它。特点-分片支持:shardingdb使您能够将数据分布在多个LevelDB实例中,提高性能和
- 2023-08-20以太坊中有没有使用LevelDB
在早期的以太坊实现中,开发者曾经考虑使用LevelDB作为以太坊的数据库,但最终没有使用。目前,以太坊没有使用LevelDB作为其数据库。以太坊使用了一种称为“Trie”的数据结构来组织和管理数据,类似于LevelDB的功能。Trie可以高效地存储和查询键值对,并且可以有效地管理以太坊网络中的交易
- 2023-07-21leveldb
从B树到LSM树《数据库系统内幕》下文中很多图片源自这本书B+树在mysql原理中,进行过B+树与一些数据结构对比:B+树与B树B+树只在叶子节点存储数据,B树非叶子节点也要存储数据,所以B+树的单个节点的数据量更小,在相同的磁盘I/O次数下,就能查询更多的节点B+Tree叶子节点采用链表连接
- 2023-07-16redis 和leveldb比较
Redis和LevelDB比较概述在本文中,我们将比较Redis和LevelDB这两种流行的键值存储系统。我们将介绍它们的功能、特点和适用场景,并提供使用示例代码来演示它们的用法。步骤概览以下是比较Redis和LevelDB的步骤概览:步骤RedisLevelDB1.安装安装2.连接打开数据库
- 2023-06-02wiredtiger引擎性能——比levelDB更牛叉!
WE'VEJOINEDMONGODB! We'reproudtoannouncethatMongoDBhasacquiredWiredTiger,andwe'vejoinedtheMongoDBteam! WewillbedirectlyinvolvedinsupportingtheWiredTigerstorageengineinMongoDB3.0andwillcontinuetodevelopWire
- 2023-06-01Cassandra——类似levelDB的基于p2p架构的分布式NOSQL数据库
C:Consistency一致性•A:Availability可用性(指的是快速获取数据)•P:ToleranceofnetworkPartition分区容忍性(分布式)10年前,EricBrewer教授指出了著名的CAP理论,后来SethGilbert和Nancylynch两人证明了CAP理论的正确性。CAP理论告诉我们,一个分布式系统不可能满足
- 2023-05-06leveldb无法在wsl1中使用
1、WSL1不支持FUSE文件系统,因此无法在WSL1中直接使用LevelDB。LevelDB使用FUSE来提供基于文件的存储,因此在WSL1中无法正常运行。但是,您仍然可以在WSL1上使用Leveldb的API,只需将数据存储在本地文件系统中即可。这意味着您需要使用本地Windows文件系统或其他支持
- 2023-05-05leveldb armlinx交叉编译
首先安装所有依赖,在linux下可以直接编译成功,在armlinux低版本编译器(由于系统限制,只能使用这个版本)下有点问题。1、在CMakeLists.txt中增加set(CMAKE_C_COMPILER"/xxxxxx/arm-linux-gnueabihf-gcc")set(CMAKE_CXX_COMPILER"/xxxxxx/arm-linux-gnueabihf-g++")2、编译报错
- 2023-04-28【图文详解】一文全面彻底搞懂HBase、LevelDB、RocksDB等NoSQL背后的存储原理:LSM-tree 日志结构合并树...
LSM树广泛用于数据存储,例如RocksDB、ApacheAsterixDB、Bigtable、HBase、LevelDB、ApacheAccumulo、SQLite4、Tarantool、WiredTiger、ApacheCassandra、InfluxDB和ScyllaDB等。在这篇文章中,我们将深入探讨LogStructuredMergeTree,又名LSM树:许多高度可扩展的NoSQL分
- 2023-03-23LevelDb-用户接口
目录优缺点用户接口基本读写打开关闭数据库读写原子更新同步/异步写并发迭代器快照Slice自定义key比较器性能相关压缩缓存key设计布隆过滤获取范围数据大小近似值优缺点
- 2023-03-23LevelDb-基本数据结构
目录SliceArenaskiplist跳表本质时空复杂度插入,删除数据(如何维护索引)极端情况分析:不维护索引极端情况分析:每次插入都维护插入效率和查找效率取舍删除对比红黑树的优势leve
- 2023-02-20leveldb.net区块链技术
leveldb.net工作原理:leveldb为键值对数据库,具有增加,删除,查询功能,利用加密链式结构存储和查询数据。区块(block):在区块链技术中,数据以电子记录的形式被永久储存下来,存放这些
- 2023-02-20档案系统leveldb.net集成
leveldb.net工作原理:leveldb为键值对数据库,具有增加,删除,查询功能,利用加密链式结构存储和查询数据。区块(block):在区块链技术中,数据以电子记录的形式被永久储存下来,存放这些
- 2023-02-13为什么leveldb/rocksdb只允许一个线程修改memtable?
leveldb/rocksdb采用deque控制多线程只允许一个线程修改memtable,是由于memtable不存在读-写冲突(采用MVCC,保证Sequence一定不同,memtable的key就一定不同,update/delete/ins
- 2023-02-12leveldb Compaction
leveldb是典型的LSM树实现,因此需要对内存中的数据进行持久化。一次内存数据的持久化过程,在leveldb中称为MinorCompaction。一次minorcompaction的产出是一个0层的sstable
- 2023-02-10leveldb的MVCC并发控制策略
MVCC多版本是一个解决并发问题的模型,或者说是一种设计思路。whyMVCC?如果有一份数据,无论它是存储在内存里还是磁盘上,当我们读取数据时可能有写操作正在修改它。传统思路