秦苍科技数据库演进:基于云平台的运维实践

需积分: 9 0 下载量 72 浏览量 更新于2024-07-17 收藏 6.61MB PDF 举报
"买单侠数据库架构之路--基于云平台的数据库运维" 本文是秦苍科技DBA负责人赵怀刚在2017杭州云栖大会上关于数据库架构演进的分享,主要探讨了秦苍科技在面对百万级用户平台时如何应对数据库挑战,以及基于云平台的数据库运维实践。 首先,秦苍科技是一个快速发展的公司,拥有百万级的用户基数,每月新增用户高达20万,且日活跃用户数量庞大。他们的技术栈包括SpringCloud、Docker、以及SpringCloudNetflix+Node.js等,构建了200多个微服务的分布式架构。随着公司的发展,数据库规模也迅速扩大,到2017年9月,已拥有400多个数据库,数据量超过3TB。 在面临的问题方面,赵怀刚提到了几个关键点:严重的数据库耦合,导致解耦困难;异构数据迁移的挑战;大量的SQL审核工作;频繁的生产发布可能带来的风险;以及高频率的数据查询和变更需求。这些问题对数据库架构提出了更高的要求。 在架构的演变过程中,经历了三个主要阶段: 1. 最早的架构是AllInOne的单体架构,所有业务数据存储在RDS(关系型数据库服务)中,部分数据存储在MongoDB和数据仓库中。这种架构简单,但无法满足扩展需求。 2. 分组分层架构是将业务按逻辑组垂直拆分,不同库依据账号隔离,数据量大的业务则按业务键哈希路由进行水平拆分。这种方式提高了系统的可维护性和解耦性。 3. 中间的架构引入了缓存层和主从架构,实现了部分业务的读写分离,进一步优化了性能。 4. 目前的架构采用“大外围,小核心”的策略,通过水平分片和读写分离,确保了系统的高可用性和伸缩性。 在运维实践中,秦苍科技使用了如flyway进行数据库版本管理,DMS和DTS处理数据迁移,SQLascode确保代码规范,同时利用阿里云监控、Zabbix、灵犀报警和钉钉进行全方位的监控和报警。 对于云数据库运维的思考,赵怀刚指出,工作可以更前置化,DBA的角色逐渐转变为数据架构师(DA),关注点从单纯的运维扩展到数据架构、管理和应用。这意味着DBA需要更加深入地理解业务场景,参与到模型设计中,以提供更高效、稳定的数据服务。 这篇分享揭示了秦苍科技如何在云环境中应对快速增长的用户需求,优化数据库架构,并转型DBA角色,以实现更高效、灵活的数据库运维。这为其他面临类似挑战的公司提供了有价值的参考经验。