《京东云数据库技术-田琪》.pdf
文本预览下载声明
云数据库
京东云数据库技术
田琪 (@摇摆巴赫)
Agenda
• 京东分布式数据库架构
• 其它分布式KV方案对比
• 新一代技术核心问题与挑战
京东分布式数据库
京东分布式数据库特性
• 支持MySQL,MariaDB,MongoDB等数据库
• 服务高可用 ,主库故障 ,从库自动切换
• 数据高可靠 ,定期快照备份 ,增量备份
• 数据自动拆分 ,一键无缝迁移扩容
• 针对特殊业务需求 ,定制优化特殊的数据库版本
Proxy 节点
原生MySQL协议 ,接入使用标
准MySQL客户端
数据根据路由规则分库分表,
对业务访问透明
单库容量满,可以快速在线无
缝迁移,不影响业务
JProxy 数据拆分
JProxy 网络IO模型
Transfer在线无缝迁移
Transfer在线迁移模块
• 迁移计划统一提交至JTransfer模块
• JTransfer将迁移计划入库 ,定时执行
• 迁移以库为单位
• 迁移中间状态持久化入库
• 迁移过程任何环节异常可正常回滚
在线迁移步骤
• 源 ,目标环境检查
• dump源数据
• restore目标数据
• 数据校验
• 目标追增量
• 停源写入
• 校验是否完全同步
• 切换路由
JManager节点
• 路由信息中心化管理
• 路由变更统一入口到JManager
• 路由信息持久化到数据库
• 路由变更同步推送JProxy
• 路由信息与JProxy做定时校验
• 主备去单
JManager路由变更一致性保障
• JManager路由变更请求首先入库
• 阻塞相关Schema表JProxy的写入
• 发送变更信息到JProxy
• JProxy恢复相关Schema写入
Speedy对象存储系统
关于此类方案的局限
• 缺少全局事务管理
• 拆分键不可更新
• 在线迁移缺少底层存储引擎支持 ,效率不高
• 复杂查询支持不完整
与主流分布式NoSQL对比
Cons
• 只有简单查询接口 - Get/Set/Del
• 不同副本策略导致写入一致性问题
• 缺少完善工具运维工具和经验积累
Pros
• 存储引擎简单 ,天然为分布式而生
用户真实需求
• 丰富的查询接口 ,如SQL
• 可以随意使用复杂查询 ,如Join等
• 没有容量及性能限制 ,随时扩容/缩容
• 支持分布式事务
• 支持丰富的隔离级别
Why *Not* MySQL
核心问题 - 时序问题
核心问题 - 隔离性问题(SI vs. SSI)
核心问题 - 一致性问题
谢谢
We Are Hiring
显示全部