SlideShare a Scribd company logo
Seqdb存储引擎
DBA 王剑英
2013.4.20
2
Agenda
 业务的需求
 现有引擎的性能
 改进方案
 Seqdb引擎架构
 Seqdb引擎的性能
 部署情况及经验
3
业务需求(1)
 场景(1)
数据量100GB ,读20W /S ,写200/S.
 场景(2)
数据量1TB ,主键随机读写,写3W/S ,读1W/S.
 场景(3)
展示类,数据量500GB ,读3000/S ,写1000/S. SLA要求 100ms以下
99.99%.
服务器配置:
CPU:2*4核心.
内存:48GB ,64GB,128GB可选.
存储:(1) HDD 容量1.5T 300 IOPS, 访问延迟5ms.
(2) SSD 800GB 3.2万IOPS ,访问延迟50us.
4
业务需求(2)
 场景(1)
数据量100GB ,读20W /S ,写200/S.
4 cache server + 1 MySQL(HDD)
 场景(2)
数据量1TB ,主键随机读写,写3W/S 读1W/S.
MySQL(Innodb)+SSD ?
MySQ (memcached plugin,handler socket)+SSD?
 场景(3)
数据量500GB ,读3000/S ,写1000/S.KV类访问, SLA要求 100ms以下
99.99%.
MySQL(Innodb)+SSD ?
5
Agenda
 业务的需求
 现有引擎的性能
 改进方案
 Seqdb引擎架构
 Seqdb引擎的性能
 部署情况及经验
6
innodb的性能“拐点”
2 颗四核心CPU,48GB内存. intel 160GB MLC*6 RAID5 官方数据3.2万 IOPS. 单行长度512byte.数据5GB到100GB,update性能
1. 数据量超过内存,IO bound时,依赖IOPS.(handler socket? )
2. Innodb不能发挥高性能IO设备的潜能.
满足场景(2)需要10个MySQL cluster(Innodb+SSD).
7
Innodb的时延曲线
innodb不可能达到 100ms以下99.99%的SLA,达不到场景(3)的
要求.
8
Agenda
 业务的需求
 现有引擎的性能
 改进方案
 Seqdb引擎架构
 Seqdb引擎的性能
 部署情况及经验
9
方案选择
目标:
(1)完全发挥SSD潜能, QPS>=IOPS,低延迟.
(2)SQL接口,经验可复用.
10
功能选择。
1. 只支持基于主键的增删改查,可映射为存储层的KV操作.
select * from tb where col1=XXX_key;
insert into values (),();
update *** where col1=XXX_key;
delete from tb where col1=XXX_key;
2. 放弃join,range,group by等复杂查询功能,不做全功能引擎,简
化复杂度.
20%的投入,解决80%的需求.
11
Agenda
 业务的需求
 现有引擎的性能
 改进方案
 Seqdb引擎架构
 Seqdb引擎的性能
 部署情况及经验
12Sequentialdb引擎:总体架构
13Sequentialdb引擎:访问模型
1. key求签名查找哈希表,索引节点冲突拉链,顺外链指针遍历。
2. 依据索引节点信息得到: a.block有效性位图 b.磁盘文件及偏移
14
Sequentialdb引擎:索引结构
1. 索引使用一个高效的hash容器,4字节间接寻址。
HanoNode存放于HashNodeBlock。
2. HashNode包含Kev-value和外链指针,索引Node的分配
和删除通过外链指针进行。
15
Sequentialdb引擎:数据查找
16
Sequentialdb引擎:垃圾回收
(1).block的使用率=有效数据条目/总数据条目
(2).删除一条数据时校验block的有效数目比例,降到一定百分比时进行
rebuild。
(3).被删除block中的数据回写入当前block。
(4).四个后台worker线程负责写block及垃圾回收。
17
Sequentialdb引擎:元信息位图
1001001001001
1001010100010
1111100100111
0001000100001
size
validatecount
uint8_t* data
state(flash,memory)
int fd
1001001001001
1111110100010
1111100100111
0001000100001
size
validatecount
uint8_t* data
state(flash,memory)
int fd
1111111101001
1001010100010
1111100100111
0001000100001
size
validatecount
uint8_t* data
state(flash,memory)
int fd
1001001001001
1001010100010
1111100100111
0011110100001
size
validatecount
uint8_t* data
state(flash,memory)
int fd
………….
1 2 3 4
index_node
(key 6)
index_node
(key N)
index_node
(key 1)
index_node
(key 2)
index_node
(key 4)
index_node
(key 5)
索引node
位图
数据block
…...
4
5
6
…….
哈希表
18
Sequentialdb引擎:BLOCK管理
MEMORY
WRITING
FLASH
READING
REBUILDING DELETE
数据满
写完成 空洞太多
读完成
重建完成
空洞太多
删除block
创建block
ref_count=0
19
Agenda
 业务的需求
 现有引擎的性能
 改进方案
 Seqdb引擎架构
 Seqdb引擎的性能
 部署情况及经验
20
Sequentialdb引擎:性能
数据量5亿,单行长度200bytes,30 C线程 随机主键访问.
场景(2)问题解决,2个Seqdb的cluster能hold住(4台SSD套餐机型)
insert update
21
Sequentialdb引擎:时延
 访问时延
环境:
dbproxy+MySQL(主+从,跨
机房部署)线上评估测试
读写比 20:1
长耗时统计(4000万次查询中)
超过5ms的查询 4784次
超过10ms的查询 2421次
超过50ms的查询 448次
超过100ms的查询 282次
200ms以上为失败
场景3,问题解决,一个seqdb cluster.(2台SSD套餐机型)
22
Agenda
 业务的需求
 现有引擎的性能
 改进方案
 Seqdb引擎架构
 Seqdb引擎的性能
 部署情况及经验
23
Sequentialdb引擎:线上部署
 产品线
1. 在线展示。
2. 离线计算,结合分布式数据库ddbs.
 集群规模
MySQL实例 1000+.
单应用数据量百亿级.
 性能
吞吐导向 -> 单集群 300W TPS.
时延导向 -> 响应水平 99.99% <100ms 95% < 2ms.
24
Sequentialdb引擎:经验
 索引常驻内存安全吗?
一主多从,内存的安全性是足够的。索引放在磁盘上访问成本太高
稳定运行一年无维护操作。
 单机故障
SSD损坏(月概率1‰以下,远低于HDD),数据损毁。
 时延敏感型应用,瓶颈在写binlog。
(1)调整sync_binlog。
(2)Binlog迁移到SSD盘。
 毫秒级别超时API
25
QA

More Related Content

What's hot

百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010
Chuanying Du
 
作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例
慧鈴 鍾
 
7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例
慧鈴 鍾
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事freezr
 
SSDB 入门基础
SSDB 入门基础SSDB 入门基础
SSDB 入门基础ideawu
 
Ceph bluestore-tiering-2018-11-15
Ceph bluestore-tiering-2018-11-15Ceph bluestore-tiering-2018-11-15
Ceph bluestore-tiering-2018-11-15
Jiaying Ren
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
iammutex
 
了解内存
了解内存了解内存
了解内存Feng Yu
 
数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会freezr
 
SSDB(LevelDB server) vs Redis
SSDB(LevelDB server) vs RedisSSDB(LevelDB server) vs Redis
SSDB(LevelDB server) vs Redis
ideawu
 
Redis分享
Redis分享Redis分享
Redis分享
yiihsia
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
iammutex
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)Feng Yu
 
MongoDB SHARE
MongoDB SHAREMongoDB SHARE
MongoDB SHARE
zhangyunyang1985
 
数据库Sharding专题
数据库Sharding专题数据库Sharding专题
数据库Sharding专题
清平 张
 
2016 nas 年會簡報
2016 nas 年會簡報2016 nas 年會簡報
2016 nas 年會簡報
Dao Hung Chang
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践isnull
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践Wensong Zhang
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
Alex Lau
 

What's hot (20)

百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010
 
作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例作業系統 7 3常見儲存裝置管理範例
作業系統 7 3常見儲存裝置管理範例
 
7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例7 3常見儲存裝置管理範例
7 3常見儲存裝置管理範例
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 
SSDB 入门基础
SSDB 入门基础SSDB 入门基础
SSDB 入门基础
 
Ceph bluestore-tiering-2018-11-15
Ceph bluestore-tiering-2018-11-15Ceph bluestore-tiering-2018-11-15
Ceph bluestore-tiering-2018-11-15
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
 
了解内存
了解内存了解内存
了解内存
 
数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会数据库与ssd的实践与探索-2011数据库技术大会
数据库与ssd的实践与探索-2011数据库技术大会
 
SSDB(LevelDB server) vs Redis
SSDB(LevelDB server) vs RedisSSDB(LevelDB server) vs Redis
SSDB(LevelDB server) vs Redis
 
Redis分享
Redis分享Redis分享
Redis分享
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)
 
MongoDB SHARE
MongoDB SHAREMongoDB SHARE
MongoDB SHARE
 
数据库Sharding专题
数据库Sharding专题数据库Sharding专题
数据库Sharding专题
 
2016 nas 年會簡報
2016 nas 年會簡報2016 nas 年會簡報
2016 nas 年會簡報
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
 

Viewers also liked

Doc6
Doc6Doc6
Doc6
lolly713
 
Contratto d’iscrizione pilates
Contratto d’iscrizione pilatesContratto d’iscrizione pilates
Contratto d’iscrizione pilates
Scuola Danza Maria Selvini
 
Doc5
Doc5Doc5
Doc5
lolly713
 
Historia szkoły
Historia szkołyHistoria szkoły
Historia szkołygim1mik
 
Doc4update
Doc4updateDoc4update
Doc4update
lolly713
 
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."
sjabs
 
"Jedynka wczoraj i dziś"
"Jedynka wczoraj i dziś""Jedynka wczoraj i dziś"
"Jedynka wczoraj i dziś"gim1mik
 
Tugas Fisika Hukum Newton - SMPN 1 Bandung
Tugas Fisika Hukum Newton - SMPN 1 BandungTugas Fisika Hukum Newton - SMPN 1 Bandung
Tugas Fisika Hukum Newton - SMPN 1 Bandung
Aqiyasa Adiba
 
Mobile Interaction : Human Computer Interaction Design
Mobile Interaction : Human Computer Interaction DesignMobile Interaction : Human Computer Interaction Design
Mobile Interaction : Human Computer Interaction Design
Amit Singh
 

Viewers also liked (10)

Doc6
Doc6Doc6
Doc6
 
Contratto d’iscrizione pilates
Contratto d’iscrizione pilatesContratto d’iscrizione pilates
Contratto d’iscrizione pilates
 
Doc5
Doc5Doc5
Doc5
 
Historia szkoły
Historia szkołyHistoria szkoły
Historia szkoły
 
Doc4update
Doc4updateDoc4update
Doc4update
 
Doc4
Doc4Doc4
Doc4
 
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."
Kamil Chmielewski, Jacek Juraszek - "Hadoop. W poszukiwaniu złotego młotka."
 
"Jedynka wczoraj i dziś"
"Jedynka wczoraj i dziś""Jedynka wczoraj i dziś"
"Jedynka wczoraj i dziś"
 
Tugas Fisika Hukum Newton - SMPN 1 Bandung
Tugas Fisika Hukum Newton - SMPN 1 BandungTugas Fisika Hukum Newton - SMPN 1 Bandung
Tugas Fisika Hukum Newton - SMPN 1 Bandung
 
Mobile Interaction : Human Computer Interaction Design
Mobile Interaction : Human Computer Interaction DesignMobile Interaction : Human Computer Interaction Design
Mobile Interaction : Human Computer Interaction Design
 

Similar to Seqdb存储引擎

11/7王團研究室—SATA 6Gb/s大解密
11/7王團研究室—SATA 6Gb/s大解密11/7王團研究室—SATA 6Gb/s大解密
11/7王團研究室—SATA 6Gb/s大解密
T客邦
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
Anna Yen
 
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践Feng Yu
 
大话Ssd(淘宝核心系统数据库组 褚霸)
大话Ssd(淘宝核心系统数据库组 褚霸)大话Ssd(淘宝核心系统数据库组 褚霸)
大话Ssd(淘宝核心系统数据库组 褚霸)
crazyshell
 
XASUN WORKSTATION
XASUN WORKSTATIONXASUN WORKSTATION
XASUN WORKSTATIONxasun
 
Exadata training
Exadata trainingExadata training
Exadata training
Louis liu
 
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDFOracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDFEthan M. Liu
 
IoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudyIoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudy
JialinQiao
 
How do we manage more than one thousand of Pegasus clusters - backend part
How do we manage more than one thousand of Pegasus clusters - backend partHow do we manage more than one thousand of Pegasus clusters - backend part
How do we manage more than one thousand of Pegasus clusters - backend part
acelyc1112009
 
阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化colderboy17
 
阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化
guiyingshenxia
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析
frogd
 
goCloud!雲端電腦教室
goCloud!雲端電腦教室 goCloud!雲端電腦教室
goCloud!雲端電腦教室
Pake Cheng
 
我对后端优化的一点想法.pptx
我对后端优化的一点想法.pptx我对后端优化的一点想法.pptx
我对后端优化的一点想法.pptxjames tong
 
Database与ssd的实践与探索
Database与ssd的实践与探索Database与ssd的实践与探索
Database与ssd的实践与探索freezr
 
Alibaba数据库运维最佳实践
Alibaba数据库运维最佳实践Alibaba数据库运维最佳实践
Alibaba数据库运维最佳实践
freezr
 
Ceph perf-tunning
Ceph perf-tunningCeph perf-tunning
Ceph perf-tunning
Yang Guanjun
 
Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照
Shaoning Pan
 
Oda安装 恢复步骤
Oda安装 恢复步骤Oda安装 恢复步骤
Oda安装 恢复步骤
n-lauren
 
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向George Ang
 

Similar to Seqdb存储引擎 (20)

11/7王團研究室—SATA 6Gb/s大解密
11/7王團研究室—SATA 6Gb/s大解密11/7王團研究室—SATA 6Gb/s大解密
11/7王團研究室—SATA 6Gb/s大解密
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
 
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
 
大话Ssd(淘宝核心系统数据库组 褚霸)
大话Ssd(淘宝核心系统数据库组 褚霸)大话Ssd(淘宝核心系统数据库组 褚霸)
大话Ssd(淘宝核心系统数据库组 褚霸)
 
XASUN WORKSTATION
XASUN WORKSTATIONXASUN WORKSTATION
XASUN WORKSTATION
 
Exadata training
Exadata trainingExadata training
Exadata training
 
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDFOracle 数据库一体机ODA X5-2 产品介绍.PDF
Oracle 数据库一体机ODA X5-2 产品介绍.PDF
 
IoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudyIoTDB OptimizeAndCaseStudy
IoTDB OptimizeAndCaseStudy
 
How do we manage more than one thousand of Pegasus clusters - backend part
How do we manage more than one thousand of Pegasus clusters - backend partHow do we manage more than one thousand of Pegasus clusters - backend part
How do we manage more than one thousand of Pegasus clusters - backend part
 
阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化
 
阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化阿里巴巴 叶正盛 数据库性能量化
阿里巴巴 叶正盛 数据库性能量化
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析
 
goCloud!雲端電腦教室
goCloud!雲端電腦教室 goCloud!雲端電腦教室
goCloud!雲端電腦教室
 
我对后端优化的一点想法.pptx
我对后端优化的一点想法.pptx我对后端优化的一点想法.pptx
我对后端优化的一点想法.pptx
 
Database与ssd的实践与探索
Database与ssd的实践与探索Database与ssd的实践与探索
Database与ssd的实践与探索
 
Alibaba数据库运维最佳实践
Alibaba数据库运维最佳实践Alibaba数据库运维最佳实践
Alibaba数据库运维最佳实践
 
Ceph perf-tunning
Ceph perf-tunningCeph perf-tunning
Ceph perf-tunning
 
Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照
 
Oda安装 恢复步骤
Oda安装 恢复步骤Oda安装 恢复步骤
Oda安装 恢复步骤
 
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
 

Seqdb存储引擎