会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
misaka-mikoto
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
···
9
下一页
2023年9月8日
boost的协程切换分析
摘要: 主要有两个接口,一个make_fcontext(),一个jump_fcontext() 相比ucontext,boost的切换模式,少了单独对context进行保存(getcontext)和切换(setcontext)过程,而是把两者合并到一起,通过jump_fcontext接口实现直接切换 这样做
阅读全文
posted @ 2023-09-08 20:01 misaka-mikoto
阅读(494)
评论(0)
推荐(0)
2023年2月27日
Rocksdb 调优指南
摘要: 本指南的目的是提供你足够的信息用于根据自己的工作负载和系统配置调优RocksDB。 RocksDB非常灵活,这有好也有坏。你可以真多很多工作场景和存储技术进行调优。在Facebook,我们使用相同的代码跑内存工作压力,闪盘设备和机械硬盘。然而,灵活性不总是对用户友好的。我们引入了大量的调优参数,让人
阅读全文
posted @ 2023-02-27 10:23 misaka-mikoto
阅读(2321)
评论(0)
推荐(0)
2023年2月26日
Rocksdb 基础操作
摘要: 并发 一个数据库可能同时只能被一个进程打开。RocksDB的实现方式是,从操作系统那里申请一个锁,以此来阻止错误的写操作。 在单进程里面,同一个rocksdb::DB对象可以被多个同步线程共享。举个例子,不同的线程可以同时对同一个数据库调用写操作,迭代遍历操作或者Get操作,而且不需要使用额外的同步
阅读全文
posted @ 2023-02-26 16:36 misaka-mikoto
阅读(1308)
评论(0)
推荐(0)
Rocksdb FAQ
摘要: 问:如果我的进程crash了,我的数据库数据会受影响吗?答:不会,但是如果你没有开启WAL没有刷入到存储介质的memtable数据可能会丢失。问:如果我的机器crash了,RocksDB能保证数据的完整吗?答:数据在你调用一个带sync的写请求的时候会被写入磁盘(使用WriteOptions.syn
阅读全文
posted @ 2023-02-26 11:09 misaka-mikoto
阅读(1179)
评论(0)
推荐(0)
2023年2月23日
微软FASTER KV存储论文
摘要: 简介 这篇论文介绍了一个新的键值存储系统,名为Faster,它支持点读、更新和读-改-写操作。Faster将一个高度缓存优化的并发哈希索引与一个混合日志结合起来:一个跨越主内存和存储的并发日志结构化记录存储,同时支持对内存中热数据集的快速原地更新。 创新点 Faster提出了一个新颖的“混合记录日志
阅读全文
posted @ 2023-02-23 10:44 misaka-mikoto
阅读(632)
评论(0)
推荐(0)
2023年2月21日
专为文件系统元数据存储的KV存储引擎MetaKV
摘要: Insert(pinode_fname,inode) 对DirTreeTable 的写请求首先访问内存中的Dir Table Cache,获取到pinode对应LogStore 指针,直接将KV 数据追加写入到LogStore 的尾部, 同时将返回的NVM 指针以及LogStore 指针写入到Ful
阅读全文
posted @ 2023-02-21 14:59 misaka-mikoto
阅读(367)
评论(0)
推荐(0)
2023年2月20日
并发代码设计
摘要: 为了提高线程利用率并最小化开销,必须决定要使用的线程数量,并为每个线程合理分配任务 开始处理之前的线程间数据划分 简单算法最容易并行化,比如要并行化 std::for_each,把元素划分到不同的线程上执行即可。如何划分才能获取最优性能,取决于数据结构的细节,这里用一个最简单的划分为例,每 N 个元
阅读全文
posted @ 2023-02-20 11:54 misaka-mikoto
阅读(74)
评论(0)
推荐(0)
2023年2月19日
lock_free 并发数据结构
摘要: 阻塞的算法和数据结构使用 mutex、条件变量、期值来同步数据,但非阻塞不等价于 lock-free,比如自旋锁没有使用任何阻塞函数的调用,是非阻塞的,但并非 lock-free 非阻塞数据结构由松到严可分为三个等级:obstruction-free、lock-free、wait-free obst
阅读全文
posted @ 2023-02-19 11:52 misaka-mikoto
阅读(88)
评论(0)
推荐(0)
基于锁的线程安全map
摘要: 并发访问 std::map 和 std::unordered_map 的接口的问题在于迭代器,其他线程删除元素时会导致迭代器失效,因此 thread-safe map 的接口设计就要跳过迭代器 为了使用细粒度锁,就不应该使用标准库容器。 红关联容器数据结构 一是二叉树(如红黑树),但每次查找修改都要
阅读全文
posted @ 2023-02-19 10:47 misaka-mikoto
阅读(90)
评论(0)
推荐(0)
2023年2月14日
Rocksdb KV分离 WiscKey
摘要: 常见的 LSM 存储引擎,如 LevelDB 和 RocksDB,将用户写入的一组的 key 和 value 存放在一起,按顺序写入 SST。在 compaction 过程中,引擎将上层的 SST 与下层 SST 合并,产生新的 SST 文件。这一过程中,SST 里面的 key 和 value 都会
阅读全文
posted @ 2023-02-14 15:36 misaka-mikoto
阅读(723)
评论(0)
推荐(0)
1
2
3
4
5
···
9
下一页
公告