提及NoSQL数据库,不得不说MongoDB。作为一款介于关系型数据库和非关系型数据库之间的产品,它同时兼顾二者属性,既能带来NoSQL(非关系型数据库)在灵活性、扩展性上的好处,又能保留RDS(关系型数据库)丰富的查询能力。近期,华为云数据库将推出MongoDB增强版云服务,上百倍的弹性伸缩能力提升使其备受业界关注。
众所周知,受社区版影响,直接使用开源MongoDB会遇到一些问题。
例如:
Secondary节点平时不处理业务请求,造成资源浪费;Shard节点级的复制关系不能容忍任意2节点以上的故障;节点故障数据重同步时间长,长时间处于降级状态;Rebalance很慢导致集群横向扩展不能及时完成;集群扩容以3节点为单位,扩容成本高;备份恢复不够快,dump和restore耗时长等。
为解决上述问题,华为云从MongoDB内核开始改进,推出了Cloud Native(云原生)的文档数据库服务DDS,不但完全兼容MongoDB协议,而且提供一键部署,弹性扩容,容灾,备份,恢复,监控等服务能力。目前,DDS支持分片集群(Sharding)、副本集(ReplicaSet)、单节点(Single)三种部署架构,具有极高性价比。
改进后的华为云DDS服务性能突飞猛进,达到开源版1.7倍读性能、3倍写性能、10倍以上故障重构性能、10倍以上备份恢复性能、100倍以上弹性伸缩能力提升。此外DDS还容忍任意N-1个节点故障,支持单节点扩容步长。系统解决开源MongoDB使用过程中遇到的一系列问题。
华为云DDS与开源MongoDB性能对比图
事实上,DDS的高性能并非一蹴而就,这与华为云深厚的技术积累息息相关。
10倍数据重构性能的提升,得益于将数据复制功能卸载到分布式共享存储。分布式存储采用基于分区的并行复制方式;任意盘或节点故障,集群中的多个节点参与数据重构。相比原生MongoDB,DDS极大缩短故障降级时间窗口,降低多重故障造成数据丢失的风险。
10倍提升备份恢复性能,则源于基于分布式文件系统快照的物理备份。相比MongoDB的逻辑备份,DDS不用dump数据,快照后直接备份数据。
所有ShardServer互为备份关系,当某个ShardServer故障后,其所负责的Chunk由其他ShardServer分摊接管,让容忍任意N-1个节点故障得以实现
此外,由于企业业务压力往往随时间变化,每天约为1~2个小时处于业务高峰,大部分时间相对空闲导致资源浪费。改进后的DDS具备超强的弹性伸缩能力,利用存储计算分离架构,根据系统负载自动伸缩集群规模,能为用户节省约50%费用。
两会期间,视频云技术服务商,北京新奥特云视科技就基于华为云DDS,采用创新的融合新闻报道服务平台为媒体播报工作提供支撑。通过华为云的加速,播放卡顿率<1.5%、点播起播时长<2s、拖动时延0.8s,直播端到端时延小于3S,助推新奥特云视的业务能力提升20%,扩容效率提升50%,共节约70%的运维成本。
值得一提的是,华为云DDS服务还提供了丰富的运维保障。例如快速发放部署,分钟级发放部署MongoDB集群,分钟级存储、计算节点扩容;提供故障检测修复,实时检测系统资源、集群及节点状态,故障自动告警自动修复;支持多维度监控图表、系统资源使用情况、系统状态、用户访问OBS性能;具备日志采集、误操作可恢复等功能。
转载于:https://blog.51cto.com/13805866/2154049