2月中下旬原本是全国各地春季学期开学的日子,但这场突如其来的疫情使得1.8亿中小学生只能纷纷在家开启“停课不停学”的学习生活,而线上教育也顺势成为了这一特殊时期首选的学习方式。

但突如其来的流量洪峰,却让许多线上教育平台力不从心。开学第一天,包括学习通、慕课网等在内的多家在线教育平台都出现了“卡顿”和“死机”的情况,“学习通崩了”这一词条一度登上了微博热搜。

与此同时,阿里云平台上的教育领域客户的扩容需求也在飞速增长,其中数据库扩容需求更是十分强烈,沪江教育、猿辅导、VIPKID、洋葱学院等多家在线教育平台通过分钟级扩容,平稳应对了流量挑战。

在线教育企业业务场景较为类似,基本上都面临着海量的题库、音视频答题资料、用户数据以及日志等巨大的数据存储需求,这些都对在线企业后台数据存储和处理能力都提出了严峻的要求。

作为在线教育企业,面对今天的应用环境,该如何建设IT,才能灵活适配业务发展,做到不掉链子?本文主要讨论在线教育企业的数据库建设问题。

延时、卡顿、高成本,自建方案打不赢这场仗,上云是最佳选择

阿里云平台上的有些在线教育客户之前采用的是自建数据库的解决方案。在企业业务发展初期,数据库可以支撑业务的发展。但是企业发展到一定程度,很快自建数据库的方案开始捉襟见肘。

阿里云的一家大型在线教育客户,在周末或者在线模考的时候,同时在线人数会瞬间激增,原本的自建数据库方案难以应对这样的访问峰值,导致很多学生无法正常进入在线考试。而答题的延时也从正常情况下的1秒之内增长到平均5秒,使得学生用户的答题体验急剧下降。

与此同时,这家在线教育客户的用户量每年飞速增长,自建MySQL数据库的CPU利用率已经达到了70%以上。此外,招聘专职DBA也导致公司每年产生至少100万以上的成本。

总之,自建数据库方案难以应对访问峰值,难以满足业务高速发展的需求,并且难以管理,且会增大人力成本等问题,这些都是摆在高速发展的在线教育企业面前的巨大挑战。

面对上述的诸多挑战,这家在线教育企业选择放弃自建IT,整体将业务迁移到阿里云上,核心的数据库选择了阿里云PolarDB。通过充分利用云计算的技术优势,这家在线教育企业实现了IT架构的极大灵活性,不但降低了IT成本,还得以让技术团队专注于业务体验的提升。

以猿辅导为例,通过将数据库迁移到阿里云PolarDB之后,在业务平峰的时候,能够同时支撑大体量学生在线进行课程学习,并且业务根本不会感觉到压力。而当应对业务高峰的时候,只需要提前一小时进行准备,就能够将业务能力临时提升至足以应对100万学生并发访问的等级。

而且,由于PolarDB数据库资源可以按需弹性伸缩,因此在猿辅导从MySQL迁移到PolarDB之后节省了5个只读库的容量,节省了近70%的数据库费用支出。此外,在线数据库维护工作量能够降低95%,无需资深的专业DBA坐镇,因此大大降低了数据库维护的人力成本。最后,如果从业务维度来看,猿辅导在迁移到PolarDB之后,大大提升了用户体验。

从技术层面来看,在线教育企业的业务场景较为类似,随着云计算技术的进一步成熟,云平台已经成为最佳的业务支撑平台。

数据库分钟级扩容帮助在线教育企业应对业务高峰

在线教育企业,很多的产品或者服务都具备明显业务峰值特征——在周末以及考试期间会产生业务访问的高峰。用户的高并发访问所造成的读写争用,进而使得数据库I/O较高,而如果一直购买高配置的MySQL数据库,高昂的成本使得企业难以接受。

在阿里云上,很多在线教育企业通过使用阿里云PolarDB,借助其快速弹性的能力,在业务的高峰期临时增加数据库配置和集群规模,与之前的方案相比整体成本大大降低。一般而言,传统数据库的扩容配置要以天为单位计算,而云数据库则可以实现分钟级的扩容,效率提升数十倍以上。

从在线教育企业的反馈来看,之所以选用阿里云PolarDB数据库,除了PolarDB数据库具有较高的性能,并且能够与MySQL实现100%兼容之外,更加看重PolarDB的分钟级弹性伸缩能力。

而在其强大的弹性能力的背后其实是PolarDB存储与计算分离设计。所谓分离就是计算节点(DB Engine)和存储节点(DB Store)在不同的物理服务器上,任何落地到存储设备的I/O操作均为网络I/O。而且,借助PolarFS经过网络访问PolarStore的测试性能效果基本能够与本地单副本SSD持平。而PolarDB的存储与计算分离的架构,除了可以降低存储成本,保证主备数据强一致、不丢数据之外,还带来了一个巨大的优势,就是让数据库的弹性伸缩变得极为简单、便捷。

阿里云PolarDB分层架构图

正如上图所示,PolarDB采用了分层架构,从上层的代理PolarProxy提供了读写分离、SQL加速等功能,到中间的数据库引擎节点PolarDB构造了一写多读的数据库集群,再到底层的分布式存储PolarStore为上层提供多节点挂载的数据共享,每一层各司其职,共同构建了PolarDB云数据库集群。

通常意义的扩展性,一般有纵向(Scale up)和横向(Scale out)和两种方式,纵向是指提升配置,横向是指配置不变,但增加节点。对于PolarDB而言,其弹性能力可以概括为“横向最多可以到16个节点,纵向最高可到88核,并且存储容量动态扩展,毋须配置”。

PolarDB超强弹性背后的技术实现细节不再赘述,但是数据库具备分钟级的扩容能力,对于在线教育企业而言非常重要,在本次疫情期间,也很好地帮在线教育客户应对了流量洪峰。

总结:上云+云数据库是在线教育企业最佳路径

疫情以来,在线教育的需求爆发式增长,但是如果因为IT能力的不足,而拖累业务的表现,这是很多在线教育企业最不愿看到的情况。今天阿里云平台上在线教育企业的实践已经证明,云计算和云数据库等技术是助推在线教育企业快速发展的最佳技术路线。

在线教育如何应对流量洪峰?阿里云专家:上云+云数据库是最佳路径相关推荐

  1. 未来,在线教育的主要流量来源将是用户口碑

    2020年疫情期间,受"停课不停学"正常影响,教育与互联网深度融合,当"慢"教育遭遇"快"互联网,在线教育这种新模式展现出了强劲的发展势能. ...

  2. navicat mysql 百度云_转载:用navicat连接百度云服务器上的mysql数据库

    原文连接:http://blog.sciencenet.cn/home.php?mod=space&uid=853805&do=blog&quickforward=1& ...

  3. 云上的云:AVOS Cloud在云平台上构建云服务的经验分享

    2019独角兽企业重金招聘Python工程师标准>>> 云上的云:AVOS Cloud在云平台上构建云服务的经验分享 AVOS Cloud作为国内领先的云后端服务提供商,为移动应用开 ...

  4. 双11特刊 | 云数据库RDS如何顺滑应对流量洪峰

    简介:从绿色低碳到硬核科技,看RDS如何用绿色科技助力2021"双11"? 双十一回顾 从平台到商家,再从物流到客户手中,云数据库RDS支撑着双11集团电商的在线业务.RDS首次对 ...

  5. 借助OSS搭建在线教育视频课程分享网站-阿里云的课程体验和记录

    今天看到阿里云有一个<借助OSS搭建在线教育视频课程分享网站>的课程,记录一下里面的内容. 首先是创建一个资源,大概要等1-2分钟. 1. 创建资源 开始实验之前,您需要先创建相关实验资源 ...

  6. 阿里云POLARDB荣膺2019中国数据库年度最佳创新产品

    在日前的DTCC 2019(第十届中国数据库技术大会)上,阿里云自研云原生数据库POLARDB获选2019中国数据库--"年度最佳创新产品". POLARDB是阿里云在2018年正 ...

  7. 云服务如何搭建数据库_【MySQL8.0.18】阿里云服务器上搭建MySQL数据库

    要想搭建个人博客,云服务器和数据库是少不了的.笔者选择在阿里云服务器上搭建一个MySQL数据库. 系统选用CentOS8.0,MySQL数据库版本8.0.18 一.数据库压缩包选择及下载 登录MySQ ...

  8. [转]在 Azure 云服务上设计大规模服务的最佳实践

    本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...

  9. 云服务器虚拟ip绑定主机,如何在云平台上给云主机中的Keepalived的虚拟IP绑定弹性IP?...

    1.  查看Keepalived和网卡配置文件中虚拟IP地址 查看虚拟机keepalived.config配置文件可以看到本地IP地址为172.16.100.109,虚拟IP地址为172.16.100 ...

最新文章

  1. 基于EM参数估计的SAGE算法的MATLAB仿真
  2. 解决Ubuntu与Windows之间无法复制粘贴问题
  3. wxWidgets:wxGridSizeEvent类用法
  4. #模拟触手机屏幕_2部手机经受埃隆马斯克火焰枪炙烤:iPhoneXS最终胜出
  5. Java面试题及答案,mysql可视化工具
  6. Thread线程的深刻理解和代理方法参数[有图有真相]
  7. 什么是YARN?跟HBase和Spark比优势在哪?终于有人讲明白了
  8. java 原子数据类型_java并发编程(十一)----(JUC原子类)基本类型介绍
  9. 最简单的目标跟踪(模版匹配)
  10. Qt实践录:常见控件操作示例1
  11. 网络通信协议八之UDP协议详解
  12. mysql数据类型及占用字节数
  13. echarts官网下载源码文件一直失败,在这里直接复制源码
  14. 用 VC2012 产生脱离VC运行库的 C/C++ 程序
  15. 【个人作品】记之-串口日志记录工具
  16. Windows安全加固系列---日志配置操作
  17. 【深入理解TcaplusDB技术】详细介绍TDR表
  18. 千兆以太网交叉线_什么是交叉以太网电缆? 比较交叉与跳线
  19. 音频文件如何转成mp3格式
  20. 用Python实现跳一跳自动跳跃

热门文章

  1. hadoop2.8配置_Hadoop2.8.2安装与配置(单机)
  2. vfp操作excel排序_中招计算机信息技术考试训练|Excel操作题一|排序和筛选
  3. 马大为院士:科研人也得养家, 非升即走压力下,不得不做短平快的研究
  4. 9岁女孩联合国演讲上热搜,网友:自愧不如
  5. 任正非:华为活下来走到今天,要感谢乔布斯发明iPhone
  6. 最新自然指数出炉,哪些高校表现突出?
  7. 他患“不死癌症” 坐轮椅考上清华并获特等奖学金
  8. 论文阅读:超高分辨率图像中快速、准确的条码检测
  9. 解决/mnt中有hgfs无共享文件
  10. C/C++函数学习(6)容器分类