SlideShare a Scribd company logo
1 of 20
Download to read offline
大规模内存数据库JIMDB:
从2014到2016
刘海锋@京东
www.jd.com
E-Commerce Needs Fast Data
Memory is the
new disk.
C-- Jim Gray
www.convinceandconvert.com
www.nowrevolutionbook.com
@jaybaer
The Jingdong In-Memory Database
以内存为中心
的数据存储
过去两年
持续建设
支撑京东大多
数动态内容
演进历程
叱前时代
分布式平台化
底层技术研发
快速规模增长
全自动化维护
正在做的事情
Before JIMDB
一套监控系统百余redis实例
Build a distributed system
The shared pool of big-RAM servers
management system
s2
m2
s1
m1
Java driver
集群分片
m1
s2
m2
s1 s3
m3
s4
m4m1
s2
m2
s3
m3
s1
Redis API
Node
C driver
Scaling
controller
Failure detector
Admin platform
Config center
Monitoring
data pipeline
Failover
controller
Failure detector
Failure detector
Auto Failover
主
从
Config center
Failure Detector
Failure Detector
Failure Detector
Clients
Failover Mgr
Online Dynamic Re-Sharding
Partial replication
 Cluster  bucket  shard
存储引擎
Dict
LSM with
RAM-SSD
hybrid
B+Tree
底层技术研发
复制协议
async, sync
filtered, partial
replication
State Machine
Replication
分片策略
Hash
Range
分而治之
纯缓存 可靠存储
不复制或异步复制
哈希分片
LRU淘汰
同步或SMR复制
范围或哈希分片
快照备份
根据业务场景交付不同集群
完善的监控体系
容器化
基于容器的自动化运维
自助申请接入
运维管理(WEB)
后台审批部署
镜像
机器
选择
流控
实例调度
和迁移
ERP、部
门、系统、
应用接口
对接
自助接
入portal
老平台
对接
用户
新建
空间
每夜
升级
元数
据
客户
端信
息展
示
控制
台
日志
集群
统计
图
报警
网关
接口
切换
目前规模
 256GB RAM, 10Gb NIC
数千台大内存机器,多个数据中心
1000+线上集群
数万个Docker实例
极佳的性能
线上某集群,双11当日峰值TPS > 200W,99%延迟低于2ms
Memory Fragment Statistics
jemalloc是目前最棒的分配器,再行开发意义不大。
正在做的事情 – 更强的性能
 定制网络协议栈
 用户态直接驱动网卡
 提升小包处理能力
 更大的内存、更快的网络
正在做的事情 – 增强功能
 From NoSQL to NewSQL
 A scale-out, flexibly replicated, in-memory data
structure store
 Multiple SQL query processors running on it
JIMDB
JDBC SQL API Node
正在做的事情 – 复用资源
 从专属集群到复用空闲内存
 弹性计算云机器
 非结构化存储机器
 聚合整个IDC的RAM资源
总结
内存,
是存储的未来。
一件事,
分步做,持续做。

More Related Content

Similar to BDTC2015 京东-刘海锋-大规模内存数据库jimdb:从2014到2016

Ibm solid db overview v6.3 20090320
Ibm solid db overview v6.3 20090320Ibm solid db overview v6.3 20090320
Ibm solid db overview v6.3 20090320
小新 制造
 
数据库性能量化
数据库性能量化数据库性能量化
数据库性能量化
yzsind
 
数据库性能量化 叶正盛
数据库性能量化 叶正盛数据库性能量化 叶正盛
数据库性能量化 叶正盛
yzsind
 
数据库性能量化
数据库性能量化数据库性能量化
数据库性能量化
mysqlops
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
Wensong Zhang
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
drewz lin
 
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
areyouok
 
IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》
easychen
 
七牛云存储详解
七牛云存储详解七牛云存储详解
七牛云存储详解
niuer7
 

Similar to BDTC2015 京东-刘海锋-大规模内存数据库jimdb:从2014到2016 (20)

Ibm solid db overview v6.3 20090320
Ibm solid db overview v6.3 20090320Ibm solid db overview v6.3 20090320
Ibm solid db overview v6.3 20090320
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac中大型规模的网站架构运维 Saac
中大型规模的网站架构运维 Saac
 
Sybase Analytic Appliance
Sybase Analytic ApplianceSybase Analytic Appliance
Sybase Analytic Appliance
 
数据库性能量化
数据库性能量化数据库性能量化
数据库性能量化
 
数据库性能量化 叶正盛
数据库性能量化 叶正盛数据库性能量化 叶正盛
数据库性能量化 叶正盛
 
数据库性能量化
数据库性能量化数据库性能量化
数据库性能量化
 
Memcached vs redis
Memcached vs redisMemcached vs redis
Memcached vs redis
 
Lenovo SAP Customer Success Story
Lenovo SAP Customer Success StoryLenovo SAP Customer Success Story
Lenovo SAP Customer Success Story
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
Top100summit 腾讯-周健-服务化与体系化解决大量定制小项目开发困境
 
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
 
腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向腾讯大讲堂19 系统优化的方向
腾讯大讲堂19 系统优化的方向
 
ClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @SinaClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @Sina
 
IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》IDF2013大会分享——《使用新浪移动云开发全平台应用》
IDF2013大会分享——《使用新浪移动云开发全平台应用》
 
移动互联网服务端架构介绍
移动互联网服务端架构介绍移动互联网服务端架构介绍
移动互联网服务端架构介绍
 
七牛云存储详解
七牛云存储详解七牛云存储详解
七牛云存储详解
 
Python小团队不妨知道的技术
Python小团队不妨知道的技术Python小团队不妨知道的技术
Python小团队不妨知道的技术
 

More from Jerry Wen

More from Jerry Wen (10)

BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
BDTC2015 数美时代-梁堃-sentry 金融实时风控系统
 
BDTC2015 阿里巴巴-郑斌-大数据下的数据安全
BDTC2015 阿里巴巴-郑斌-大数据下的数据安全BDTC2015 阿里巴巴-郑斌-大数据下的数据安全
BDTC2015 阿里巴巴-郑斌-大数据下的数据安全
 
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
BDTC2015 新浪微博-姜贵彬-大数据驱动下的微博社会化推荐
 
BDTC2015 南京大学-黄宜华-octopus(大章鱼):基于r语言的跨平台大数据机器学习与数据分析系统
BDTC2015 南京大学-黄宜华-octopus(大章鱼):基于r语言的跨平台大数据机器学习与数据分析系统BDTC2015 南京大学-黄宜华-octopus(大章鱼):基于r语言的跨平台大数据机器学习与数据分析系统
BDTC2015 南京大学-黄宜华-octopus(大章鱼):基于r语言的跨平台大数据机器学习与数据分析系统
 
BDTC2015-新加坡管理大学-朱飞达
BDTC2015-新加坡管理大学-朱飞达BDTC2015-新加坡管理大学-朱飞达
BDTC2015-新加坡管理大学-朱飞达
 
BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融
 
BDTC2015 阿里巴巴-鄢志杰(智捷)-deep learning助力客服小二:数据技术及机器学习在客服中心的应用
BDTC2015 阿里巴巴-鄢志杰(智捷)-deep learning助力客服小二:数据技术及机器学习在客服中心的应用BDTC2015 阿里巴巴-鄢志杰(智捷)-deep learning助力客服小二:数据技术及机器学习在客服中心的应用
BDTC2015 阿里巴巴-鄢志杰(智捷)-deep learning助力客服小二:数据技术及机器学习在客服中心的应用
 
BDTC2015 hulu-梁宇明-voidbox - docker on yarn
BDTC2015 hulu-梁宇明-voidbox - docker on yarnBDTC2015 hulu-梁宇明-voidbox - docker on yarn
BDTC2015 hulu-梁宇明-voidbox - docker on yarn
 
BDTC2015 databricks-辛湜-state of spark
BDTC2015 databricks-辛湜-state of sparkBDTC2015 databricks-辛湜-state of spark
BDTC2015 databricks-辛湜-state of spark
 
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
BDTC2015 启明星辰-潘柱廷-中国大数据技术与产业发展报告
 

BDTC2015 京东-刘海锋-大规模内存数据库jimdb:从2014到2016