可同时支撑5~10个618大促的数据库做了哪些性能优化?

2017 年 8 月 2 日 InfoQ

“如果你有机会走进京东 618 作战指挥中心,看到数字不停变换的监控大屏和各个版块集中应战的京东技术人,你会惊讶地发现,从技术角度而言,我们度过的是一个近乎完美的,一切尽在掌握的 618,订单洪峰在经过千锤百炼的技术系统前被有条不紊地化解。”—— 京东集团 CTO 张晨《技术创造价值的几个层面》

为了有条不紊的化解订单洪峰,每年京东 618 大促之前,都会对系统进行一些优化和测试,以保证订单系统、库存系统、结算系统等正常运转。数据库系统作为重要的基础设备,就好比人的大脑记忆系统,没有了数据库就没有了记忆系统,而一旦数据库性能出现问题,整个网站就不能正常使用了,所以数据库优化是一件持久的事情。

在 APMCon 2017 大会数据库性能调优专题里,我们邀请到了京东商城资深架构师,兼数据库团队负责人 史季强老师,介绍基于 618 大促活动,京东在数据库方面所做的优化实践。在此之前,我们有幸问了一些相关的技术话题,以飨读者。

在 618 之前,京东数据库团队会在尤其是自动化切换、监控智能分析、故障自动处理方面做一些预案,史季强说,准备部分会分以下几个步骤进行:

  1. 首先会和研发同学进行交流,确认今年重点保障的项目和系统,明确薄弱环节,然后进行重点的优化改造;

  2. 其次会对数据库应急预案进行梳理,查缺补漏;

  3. 最后会配合研发进行大量的切换演练,来验证系统的高可用,并将演练过程中发现的问题及时整改。

目前京东数据库团队自主研发的 JDBS 自动化运维平台,可以进行数据库自动切换,监控分析,部分故障的自动处理。

为了应对高流量、高访问的促销活动,京东数据库架构设计上主要还是遵循了业内普遍使用的几个原则:

  1. 通过垂直拆分的模式去中心化,系统解耦,减少相互之间的影响;

  2. 通过水平拆分的模式提高系统的可用性;

  3. 通过读写分离的模式分散系统的压力;

  4. 通过 Redis 缓存数据来减轻数据库压力。

史季强介绍说,当前的数据库是基于 MySQL 主从复制的架构,主机房一主一从,备机房两个从库,主库出故障优先切到本地从库,机房级别的故障切换到备机房,基本上不会对业务产生什么影响。

那么,针对数据库资源、架构、高可用等进行优化、改造方面做了哪些创新性项目,史季强说到,京东数据库团队从 15 年就开始进行数据库 Docker 化的尝试,经过几年的实践,当前 70% 以上的数据库实例,都运行在 Docker 上面。

大规模部署 Docker 后,服务器资源利用率大幅提高,一台高性能的宿主机上面,可以同时支撑至少 5 个系统的数据库。 数据库部署的时间,也从原来的小时级别,缩短到了现在的分钟级别。

记得之前有人问过一个很模糊的问题,经过这几年的研发和实战历练,现在的京东数据库系统,同一时间能承担多少个 618 大促活动? 史季强说,为了保证应用系统面对短时间内高并发大流量的冲击,设计时要估算好足够的容量和性能,团队一般都是按照上年度 618 或者双 11 业务量的 5~10 倍来准备,所以理论情况下,同一时间承担 5~10 个 618 活动是没有问题的

最后介绍一下,史季强老师会在 8 月份的 APMCon 上做分享,主要会介绍京东数据库团队为了应对 618 这样的大促活动,在数据库保障方面所做的一些工作,在建设数据库团队中遇到的坑和解决办法,很多内容都是根据实际案例所总结的宝贵经验,希望能对参会者有帮助。

本专题其他嘉宾介绍

甲骨文中国事业部高级技术总监 李珈,会介绍云数据库话题。作为在 PaaS 层面最重要的基础 - 数据库技术在云上有什么特别的能力?甲骨文数据库又会有什么卓越表现?作为全球数据库技术的领先者,Oracle 的数据库即服务 DBaaS 有哪些典型用法与案例?什么才是数据库整合的最佳实践?数据库云的未来在哪里?本次演讲会详细分析这些问题,希望给参会者带来新的收获。

阿里巴巴数据库事业部高级技术专家 乔红麟,2015 年加入阿里巴巴集团,目前负责阿里巴巴数据库智能诊断优化产品 CloudDBA 开发,曾参与 OceanBase 云平台开发。数据库诊断优化是提高数据库性能和稳定性的关键技术之一。过去几年阿里巴巴集团数据库规模急剧增长并且业务变化越来越快,传统 DBA 人工加工具的诊断和优化方法在规模如此之大,业务场景如此复杂的今天面临极大的挑战。演讲中会介绍阿里巴巴数据库技术团队近几年在智能数据库诊断优化方面有一些探索和实践。

叶金荣是知知数堂联合创始人,MySQL 布道师。他的演讲是以 MySQL 5.7 为主,MySQL 5.7 版本中新增了众多特色功能,诸如 Optimizer 增强、支持多个触发器、P_S 增强、增加 sys schema、在线修改 VARCHAR 长度、并发复制等,对于提升 SQL 效率都有很大帮助,如何利用这些特性让优化工作更轻松呢?所以叶金荣的主要演讲内容包括为什么选择 MySQL 5.7,如何提升 MySQL 5.7 性能;MySQL 5.7 下的 SQL 优化招数等等。最后还会剧透 MySQL 8.0 新特性以及有哪些重大变化。


大会现已进入倒计时,更多信息,可直接访问 www.apmcon.cn 或点击 「 阅读原文 」,进入大会官网。

登录查看更多
0

相关内容

数据库( Database )或数据库管理系统( Database management systems )是按照数据结构来组织、存储和管理数据的仓库。目前数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
大数据安全技术研究进展
专知会员服务
92+阅读 · 2020年5月2日
专知会员服务
124+阅读 · 2020年3月26日
【新加坡国立大学】深度学习时代数据库:挑战与机会
专知会员服务
33+阅读 · 2020年3月6日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
亿级订单数据的访问与储存,怎么实现与优化
ImportNew
11+阅读 · 2019年4月22日
每个架构师都应该培养业务思维
InfoQ
3+阅读 · 2019年4月21日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
业务中台:如何在互联时代,快速响应用户需求?
互联网er的早读课
24+阅读 · 2018年12月26日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Optimization for deep learning: theory and algorithms
Arxiv
104+阅读 · 2019年12月19日
Arxiv
9+阅读 · 2019年4月19日
Simplifying Graph Convolutional Networks
Arxiv
12+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年4月29日
VIP会员
相关资讯
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
亿级订单数据的访问与储存,怎么实现与优化
ImportNew
11+阅读 · 2019年4月22日
每个架构师都应该培养业务思维
InfoQ
3+阅读 · 2019年4月21日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
业务中台:如何在互联时代,快速响应用户需求?
互联网er的早读课
24+阅读 · 2018年12月26日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Top
微信扫码咨询专知VIP会员