腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
linjinhe的专栏
专栏成员
举报
68
文章
123152
阅读量
28
订阅数
订阅专栏
申请加入专栏
全部文章(68)
其他(26)
编程算法(13)
linux(8)
数据库(6)
sql(6)
存储(5)
c++(4)
数据结构(4)
文件存储(3)
开源(3)
分布式(3)
缓存(3)
java(2)
scala(2)
html(2)
ide(2)
git(2)
github(2)
mapreduce(2)
vr 视频解决方案(2)
http(2)
serverless(2)
微服务(2)
go(1)
xml(1)
jquery(1)
json(1)
云数据库 SQL Server(1)
access(1)
打包(1)
api(1)
apache(1)
批量计算(1)
云数据库 MongoDB(1)
人工智能(1)
shell(1)
网络安全(1)
spark(1)
面向对象编程(1)
dns(1)
cdn(1)
kernel(1)
安全(1)
数据处理(1)
windows(1)
https(1)
腾讯云开发者社区(1)
processing(1)
raft(1)
db(1)
file(1)
leveldb(1)
manifest(1)
pdf(1)
sequence(1)
tree(1)
搜索文章
搜索
搜索
关闭
LevelDB 完全解析(11):Compaction
存储
缓存
因为 LevelDB 的增删改都是通过追加写来实现的,所以需要通过后台线程的 compaction 来:
linjinhe
2020-06-22
1.8K
0
现代 C++:一文读懂智能指针
c++
面向对象编程
简单说,当我们独占资源的所有权的时候,可以使用 std::unique_ptr 对资源进行管理——离开 unique_ptr 对象的作用域时,会自动释放资源。这是很基本的 RAII 思想。
linjinhe
2020-06-22
1.4K
0
现代 C++:右值引用、移动语意、完美转发
c++
右值引用(rvalue reference)是 C++11 为了实现移动语意(move semantic)和完美转发(perfect forwarding)而提出来的。
linjinhe
2020-06-02
2.6K
0
现代 C++:自动类型推导
ide
serverless
编程算法
c++
现代的编程语言,不管是动态语言(JavaScript、Python 等),还是静态语言(Go、Rust 等),大都支持自动类型推导(type deduction)。
linjinhe
2020-06-02
1.7K
0
现代 C++:Lambda 表达式
serverless
编程算法
ide
Lambda 表达式(Lambda Expression)是 C++11 引入的一个“语法糖”,可以方便快捷地创建一个“函数对象”。
linjinhe
2020-06-02
1K
0
LevelDB 完全解析(10):读操作之 Iterator
java
编程算法
通过前面的文章,我们了解到 LevelDB 的数据是保存在内部多个不同组件的,并且每个组件的数据格式都不一样。
linjinhe
2020-06-02
2K
0
LevelDB 完全解析(7):初始化
db
file
leveldb
manifest
sequence
options - 打开/创建 LevelDB 实例的配置参数。 dbname - 保存数据的目录名。 dbptr - 初始化成功的 LevelDB 实例保存在 *dbptr。
linjinhe
2020-05-26
446
0
LevelDB 完全解析(8):读操作之 Get
http
LevelDB 通过 leveldb::DB::Get 接口对外提供点查询的能力,具体的实现是 leveldb::DBImpl::Get。接口声明如下:
linjinhe
2020-05-26
1.7K
0
LevelDB 完全解析(9):写操作
批量计算
以上,便是 LevelDB 的写入流程。写入队列 + 合并写操作,逻辑和代码都十分简洁。比较不足的是,整个写入过程都是单线程的。
linjinhe
2020-05-26
995
0
LevelDB 完全解析(6):Filter
编程算法
LevelDB 可以设置通过 bloom filter 来减少不必要的读 I/O 次数。
linjinhe
2020-05-08
734
0
LevelDB 完全解析(5):Cache
缓存
编程算法
在 LevelDB 中,block cache 和 table cache 都是基于 ShardedLRUCache 实现的。
linjinhe
2020-05-08
976
0
LevelDB 完全解析(4):Manifest
文件存储
编程算法
数据库
sql
内容上,Manifest 文件保存了整个 LevelDB 实例的元数据,比如:每一层有哪些 SSTable。 格式上,Manifest 文件其实就是一个 log 文件,一个 log record 就是一个 VersionEdit。
linjinhe
2020-05-08
1.6K
0
LevelDB 完全解析(3):SSTable
vr 视频解决方案
文件存储
html
SSTable 全称 Sorted String Table,顾名思义,里面的 key-value 都是有序保存的。除了两个 MemTable,LevelDB 中的大部分数据是以 SSTable 的形式保存在外存上。
linjinhe
2020-05-08
1.3K
0
LevelDB 完全解析(2):Log
html
这里的 log 是指 Write Ahead Log。前面说了,LevelDB 写入的数据会先保存到 MemTable。为了防止宕机导致数据丢失,在将数据写入 MemTable 之前,会先将数据持久化到 log 文件中。
linjinhe
2020-05-08
951
0
LevelDB 完全解析(1):MemTable
编程算法
vr 视频解决方案
MemTable,顾名思议,就是内存表。每个 LevelDB 实例最多会维护两个 MemTable: mem_ 和 imm_。mem_ 可以读写,imm_ 只读。
linjinhe
2020-05-08
1.4K
0
LevelDB 完全解析(0):基本原理和整体架构
缓存
jquery
编程算法
数据结构
腾讯云开发者社区
之前零零散散写过几篇和 LSM-Tree、LevelDB 有关的文章。之后也看了一些代码和论文,笔记也做了一些,但大都比较零乱、随意,没花功夫整理。
linjinhe
2020-05-08
1.7K
1
设计数据密集型应用(6-7):分片、事务
数据库
sql
编程算法
随着业务发展,用户数量、商品数量、订单数量都在持续增长,数据库的负载越来越高。我们开始对数据库进行垂直拆分(垂直分片),把这三张表拆到三个数据库,而业务代码改改数据库的配置就好。
linjinhe
2020-04-02
626
0
设计数据密集型应用(10-11):大数据的批处理和流处理
spark
数据处理
windows
processing
mapreduce
谈大数据批处理,绕不过的就是 MapReduce。MapReduce 是大数据处理的老祖宗了。
linjinhe
2020-04-01
590
0
设计数据密集型应用(8-9):从单机到分布式
分布式
数据库
sql
scala
所以,当你通过网络发送一个数据包的时候,程序必须考虑到这个数据包可能丢失、也可能延迟。
linjinhe
2020-04-01
530
0
设计数据密集型应用(5):复制
数据库
sql
编程算法
raft
这里主要参考 MySQL 的 Primary-Secondary Replication。
linjinhe
2020-04-01
634
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档