摘要:华为日历月活高达数千万,这使其对支撑业务的数据库提出了巨大挑战:高并发场景下,数据库如何实现快速扩容?海量数据运行,如何确保业务稳定性?
本文分享自华为云社区《稳定支撑千万级月活,华为日历背后的英雄》,作者: GaussDB 数据库。
随着科技进步,手机日历早已融入我们的生活,不仅可以记录时间、提醒重要日程和重要纪念日,还可以推荐星座信息、历史趣事、体育赛事等。
华为日历就是这样一款人性化的App,不仅功能全面、内容丰富,还提供了个性化功能,使用者可以根据个人习惯设置信息订阅管理,极大提升了用户的体验感。
华为日历背后的技术支持
我们知道,任何一款App,在运行时都将产生大量的数据,这时就需要一款大容量的数据库来支撑。而数据库也并不是仅仅能存数据就行,最重要的是能够满足这个App的特殊要求,例如存取速度、稳定性、高并发等。
华为日历月活高达数千万,这使其对支撑业务的数据库提出了巨大挑战:高并发场景下,数据库如何实现快速扩容?海量数据运行,如何确保业务稳定性?
这不得不提华为日历背后的英雄——华为云云原生数据库GaussDB(for Cassandra)。
为什么是GaussDB(for Cassandra)?
华为云GaussDB(for Cassandra) 是一款兼容Cassandra生态的云原生NoSQL数据库,支持类SQL语法CQL。在华为云高性能、高可用、高可靠、高安全、可弹性伸缩的基础上,提供了一键部署、快速备份恢复、计算存储独立扩容、监控告警等服务能力,满足华为日历对数据库的要求,就拿上面的赛事查询场景来说:
-
数据响应及时。华为日历当中的很多功能,例如赛事信息、重大事件,突发事件等,对实时性的要求很高,要求能够快速地写入和读取。
作为一款NoSQL数据库,GaussDB(for Cassandra)相比于传统关系型数据库,在面对海量数据的高并发读写场景,具有得天独厚的优势,其独特的水平扩展能力,极强的分布式架构,通过将压力分散到不同的节点,有效地解决了高负荷下的性能瓶颈问题,满足了业务海量数据高并发读写需求。 -
轻松应对高并发。华为日历的用户群体巨大,同一时间可能会有很多人查询当天的赛事信息,或者会有很多人添加他们的日程表。而这些,正是GaussDB(for Cassandra)的优势所在,因为GaussDB(for Cassandra)就是为了互联网而生。
GaussDB(for Cassandra)支持高并发,读写性能优异,而且其采用分布式架构,灵活性高,相比于原生的Cassandra,GaussDB(for Cassandra)的性能提升在2倍以上,能够完全满足华为日历的业务场景需求。 - 极致的可靠性。对于数据库来说,我们不仅要保证它能够胜任海量数据高并发读写这样的要求,可靠性也是我们追求的目标之一。
GaussDB(for Cassandra)不仅在读写性能上优势突出,在数据的可靠性上也表现优异。由于GaussDB(for Cassandra)采用多节点分布式架构,任意盘或节点故障,读写操作会自动切换到其他节点,理论上可以达到N-1个节点故障容忍,即集群任意一节点存活就可以提供完整服务。
GaussDB(for Cassandra)的突出优势
GaussDB(for Cassandra)在兼容原生Cassandra的基础上,具有安全可靠、超强读写、弹性扩展、便捷管理等特点。通过VPC、子网、安全组、SSL加密传输以及细粒度权限控制等多层安全防护体系,完美地保护了数据库和用户的隐私。
同时,华为云GaussDB(for Cassandra)采用基于计算存储分离的分布式架构,能够实现分钟级别的计算节点扩容和秒级别的存储扩容,保证了扩容过程不干扰线上业务,具备极强的弹性扩展能力,及时应对突发流量。
此外,华为云GaussDB(for Cassandra) 还提供可视化的实例管理平台,可以很便捷地对实例进行创建、删除、备份恢复,以及删除和增加节点,而且一键操作即可。
GaussDB(for Cassandra)的上线效果
在GaussDB(for Cassandra)的支持下,华为日历在保障其数据可靠性的基础上,轻松应对了高并发场景,保障了业务的顺利进行,给每一位使用者带来极大的便利,真正意义上服务了每一位用户。
在华为终端云应用中,GaussDB(for Cassandra)已支撑包含华为日历在内的70+核心手机服务在线稳定运行,总节点数10000+,总数据量XX PB,业务请求每秒千万级。
除此之外,GaussDB(for Cassandra)还在很多场景中有着广泛的应用,如个性化推荐(海量数据快速存取、用户行为分析),社交App(点赞、评论、回复)等诸多场景。
尽管如此,上述的场景也只是GaussDB(for Cassandra)的冰山一角,华为云GaussDB(for Cassandra)将持续推出更多新特性,让每个用户都能享受更加稳定、高效的数字化服务。