首页>会议文档 >

京东 丁俊:京东分布式K-V存储设计与挑战

page:
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战
京东 丁俊:京东分布式K-V存储设计与挑战

京东 丁俊:京东分布式K-V存储设计与挑战

所属会议:SACC 2017第九届中国系统架构师大会会议地点:北京


下载

手机看
活动家APP客户端

扫二维码下载
或点击下载
Android iOS

7504次
浏览次数
SACC 2017第九届中国系统架构师大会所有文档 微软亚洲研究院 闫莺:构建企业级区块链生态 先声教育 秦龙:人工智能助力新时代K12教育 闲鱼 王树彬:闲鱼架构实践 小米 李波:小米生态云应用引擎实践 徐少杰:Event sourcing & CQRS 云徙科技 李元佳:企业互联网架构实践 长虹集团 孔帅:基于Hybrid的移动应用混合开发模式架构演变 中国信息通信研究院 徐恩庆:重点行业云计算标准体系和评估思路 中国移动 刘军卫:中移苏研存储产品化之路 优调科技 朱妤晴:技术前沿进展:系统自动化调优 转转 张相於:C2C市场中推荐系统的挑战与机遇 资深技术专家 占超群:迎接在线化与开放化分析时代 李珂:vivo大规模机器学习实践 刘歧:一个简单的直播服务引发的悲剧 毛大鹏:机器学习和未知样本检测 美团 付雅文:美团配送移动网关建设实战 美团外卖 刘宏伟:美团外卖自动化业务运维系统建设 魅族 段启智:Android多分支代码自动同步 摩拜李凯:摩拜开源技术的线上应用之路 蘑菇街 刘旭晖:大数据平台调度系统架构理论和实践 偶数科技 常雷:新一代数据仓库 去哪儿网 马文:基于Mesos Docker的Elasticsearch容器化私有云 上汽集团 李涛:站在云时代的路口 数美 关涛:实时大数据在风控中的实践 思必驰 张顺:可定制开发的语音交互技术 搜狗 张杰:前端测试质量的度量 搜狗 申贤强:分布式存储优化与离线混布弹性计算平台 搜狗语音 陈伟:搜狗智能语音之路 苏宁 黄宙:潜行狙击--业务安全大数据融合 苏宁易购 朱羿全:苏宁易购全站HTTPS实践之路 腾讯 涂远东:VR视频直播探索与创新 腾讯音乐 李深远:QQ音乐的个性化探索 腾讯音乐 罗静:全民K歌黑产对抗之路 腾讯 谭国富:深度学习在图像审核的应用 天云大数据 李从武:人工智能驱动Fintech 同盾科技 张新波:拥抱金融科技的几个误区 王苹:荣之联大数据平台的应用实践 苏宁云商 王一硼:移动端统一接入层 网易 孙建良:网易新一代对象存储引擎 阿里巴巴 江文斐:窄带高清,打造新优酷极致体验 阿里巴巴 金吉祥:万亿级数据洪峰下的消息引擎 阿里巴巴 蔡龙军:面向未来的泛内容AI平台建设实践 阿里巴巴 何源:阿里网络故障智能化治理 阿里巴巴 默燧:移动端图像加载优化与增强 阿里人工智能实验室 王天舟:语音识别技术回顾及应用 爱奇艺 张超:爱奇艺广告大数据实践 百度外卖 梁福坤:基于Druid的大数据采集即计算实践 腾讯云 陈龙:云+时代大数据平台应用方案 滴滴 许令波:统一资源调度平台建设实践 滴滴 王海:滴滴移动端基础架构的演进与探索 滴滴研究院 李秀林:智能交互 美好出行 第四范式 程晓澄:机器学习在推荐系统中的应用 瓜子二手车 彭超:瓜子云的落地 为胜科技 郭宏泽:基于容器的持续集成平台建设 海纳云 邹均:区块链与数据时代 慧川智能 刘曦:ImageNet挑战赛之后的计算机视觉新征程_IT168文库 姜凤波:全用户态服务开发套件F-Stack 金山云 郝明非:H.265在视频直播场景下的应用演进 锦佰安 冯继强:AI领域的人机识别对抗 千亿美金的验证码 京东 高新刚:京东金融数据库多场景架构实践 京东 桂创华:京东图片系统演进 京东搜索 尹德位:京东亿级流量海量数据搜索架构 京东云 张成远:云时代的数据库演变之路 京东云 朱凌:京东云为企业提供智能化之路 VMware 张海宁:使用Kubernetes部署超级账本Fabric 58同城 沈剑:58速运数据库降压优化实践 360 李东亮:云端图像技术的深度学习模型与应用 360 陈宗志:大容量redis存储方案--Pika AWS 薛峰:云平台计算服务进化之路 INT基金会 项若飞:INTchain在大宗商品物流应用的架构探讨 Qunar 黄勇:去哪网数据库架构发展历程

文档介绍

介绍京东分布式K-V内存存储系统-JIMDB,改平台管理和运维了几百T的内存数据,兼容redis协议,支持在线弹性伸缩,故障自动恢复等特性,改系统被广泛应用在支付、商品、评论、推荐、搜索、物流等业务系统中。为了解决高性能,持久化存储的需求,又自主研发了分布式K-V持久化存储系统-FBASE,系统提供SQL和REST接口,基于raft复制提供数据强一致保证,提供条件筛选,范围查找等功能,目前系统已接入消息轨迹、商品宽表数据等系统。

演讲实录

大多数企业梦寐以求的存储系统是什么样的呢?当图片、文章甚至视频需要存储时,你希望既不丢失还要提供高速读写的能力;当磁盘坏了,你的数据依然还在;当用户访问量成倍增长,读写能力依然保持高速。当大促来临,用户体验依然无差。这一切都是京东分布式K-V存储的设计原动力,京东商城-基础架构部丁俊在SACC大会《数据库架构设计与实践》现场分享了京东分布式K-V存储的设计与挑战。
京东分布式存储两大产品是非持久化存储JIMDB与持久化存储FBASE。其中,JIMDB兼容REDIS协议,在线弹性伸缩的,数据全部保存在内存的K-V存储系统;FBASE支持多协议,支持范围查找的持久化K-V存储系统。对一些对读写性能要求较高的场景,性能自然优先于数据可靠性,JIMDB是合适的选择;对数据可靠性要求高,数据量大,数据冷热分布明显的场景,选择FBASE是明智的。

丁俊表示,整个设计过程面临着诸多挑战,比如故障检测与恢复、在线扩容、高可用以及升级等,JIMDB的故障检测与恢复容易出现基数大、故障次数多,人工响应慢和误判等问题,出现这种问题的原因可能是部分网络故障或者服务程序繁忙造成响应慢。主要的解决方案是将故障检测程序独立部署,分散在不同机架上;投票决定,存活状态一票否决;一个机房部署多组,每组负责部分实例;宿主机agent辅助检测确认。

随着近两年京东618、双11大促的火热,业务增长远超预期,资源紧缺成为一种常态,这种情况下就需要考虑在线扩容的问题了。丁俊表示,扩容触发条件是单个分片内存占用大小和进出流量(CPU使用率),而单个分片的大小主要考虑扩容过程的持续时间和CPU与内存的使用率。
在扩容之前,最好提前把将要变更的拓扑信息下发给客户端,客户端捕捉到特定异常后使用临时拓扑,扩容完成后临时拓扑变更为正式拓扑,这三步可以保证平滑扩容。但要注意数据迁移的最小单位为槽,单shard需要控制大小,避免迁移数据多时间长。
对于多副本异步复制,副本部署要求是跨物理机、跨机房、同城跨机房以及异地数据中心。至于JIMDB异地灾备,可直接部署slave,内存缓冲区;经过synclog模块,异地机房只是一个远程副本;集群间有复制关系。
如果需要升级,丁俊表示,内存中的数据需要做迁移,按照shard滚动升级,新版本的容器创建在同一台宿主机上,迁移完成后客户端捕捉到数据已迁移的异常,会使用新的拓扑。
至于持久化存储Fbase,KEY全局有序排列,支持多种复制模式,支持schema,支持模板列,插入时可以自动添加列,存储层LSM-Tree(Log-Structured Merge Tree)。适用场景是按key访问,或者单个partition内范围扫描。缺点是不能全局范围扫描,读取必须带有partition key,
兼容redis协议、partition second index等特性的Table,一个partition对应一个dataserver,有容量限制,需要提前规划。缓存有块缓存和KEY缓存两种方式,按照hash规则进行分区的,需要开启KEY级别的缓存。
新一轮的电商狂欢节又要来临,京东分布式K-V存储系统可准备好了吗?丁俊表示,未来的K-V存储将主要从redis数据结构、支持二级索引、支持事务三方面优化。

×

打开微信扫一扫,分享到朋友圈