随笔分类 -  RocksDB

摘要:概述 在开发过程中,我们经常会遇到并发问题,解决并发问题通常的方法是加锁保护,比如常用的spinlock,mutex或者rwlock,当然也可以采用无锁编程,对实现要求就比较高了。对于任何一个共享变量,只要有读写并发,就需要加锁保护,而读写并发通常就会面临一个基本问题,写阻塞读,或则写优先级比较低, 阅读全文
posted @ 2019-09-22 14:00 天士梦 阅读(2156) 评论(0) 推荐(0) 编辑
摘要:RocksDB作为一个开源的存储引擎支持事务的ACID特性,而要支持ACID中的I(Isolation),并发控制这块是少不了的,本文主要讨论RocksDB的锁机制实现,细节会涉及到源码分析,希望通过本文读者可以深入了解RocksDB并发控制原理。文章主要从以下4方面展开,首先会介绍RocksDB锁 阅读全文
posted @ 2017-07-03 08:54 天士梦 阅读(6898) 评论(1) 推荐(0) 编辑
摘要:最近一个日常实例在做DDL过程中,直接把数据库给干趴下了,问题还是比较严重的,于是赶紧排查问题,撸了下crash堆栈和alert日志,发现是在去除唯一约束的场景下,MyRocks存在一个严重的bug,于是紧急向官方提了一个bug。其实问题比较隐蔽,因为直接一条DDL语句,数据库是不会挂了,而是在特定 阅读全文
posted @ 2017-04-17 08:43 天士梦 阅读(2142) 评论(0) 推荐(2) 编辑
摘要:背景 mysql可以支持多种不同的存储引擎,innodb由于其高效的读写性能,并且支持事务特性,使得它成为mysql存储引擎的代名词,使用非常广泛。随着SSD逐渐普及,硬件存储成本越来越高,面向写优化的rocksdb引擎逐渐流行起来,我们也是看中了rocksdb引擎在写放大和空间放大的优势,将其引入 阅读全文
posted @ 2016-12-29 08:38 天士梦 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:概述 compaction主要包括两类:将内存中imutable 转储到磁盘上sst的过程称之为flush或者minor compaction;磁盘上的sst文件从低层向高层转储的过程称之为compaction或者是major compaction。对于myrocks来说,compaction过程都 阅读全文
posted @ 2016-10-28 13:28 天士梦 阅读(12351) 评论(1) 推荐(0) 编辑
摘要:Rocksdb是一个kv引擎,由facebook团队基于levelDB改进而来,Rocksdb采用LSM-tree存储数据,良好的读写特性以及压缩特性使得其非常受欢迎。此外,Rocksdb引擎作为插件已经集成在facebook维护的MySQL分支,用户可以通过SQL来访问rocksDB。本文主要通过 阅读全文
posted @ 2016-10-17 08:08 天士梦 阅读(5138) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示