技术分享

金山云 > 推荐阅读 > 金山云云数据库MongoDB与阿里云PolarDB的比较

金山云云数据库MongoDB与阿里云PolarDB的比较

发布时间: 2019-11-05 14:18:22

伴随着互联网IT应用从私有化部署转向云化服务,实现计算能力整合和计算资源能效,作为IT三大核心领域的数据库也逐步迁移到云环境,即云数据库。传统数据库相对商业数据库具有绝对的性价比(成本只有商业数据库的十分之一)和开放性优势,但传统关系型数据库在云托管环境下暴露出诸如备份归档慢、容量伸缩难、系统性能瓶颈、故障恢复慢、数据可用性等方面的问题。

金山云云数据库MongoDB与阿里云PolarDB的比较.png

一、在数据库的实际应用中面临的主要问题:

  • 海量存储:需要具备弹性扩容能力
  • 高并发访问:需要提高数据库吞吐
  • 数据一致性:需要保证多副本数据的一致性(数据可用性)
    针对以上问题,业内各大云服场商针对业务痛点研发了一系列云数据库产品,通过对比各大云数据库产品,总结归纳如下:
  • 海量存储解决方案:利用可灵活扩缩容的分布式存储系统为数据库提供存储服务;
  • 高并发访问解决方案
  • 从数据内容层面进行优化:
    (1)减少IO(磁盘IO和网络IO);
    (2)分散负载(计算、日志、事务等)。如亚马逊Aurora数据库。
  • 从数据链路层面进行优化:高速网络 + 高性能磁盘。 如阿里PolarDB数据库。
    (1)从数据引擎层面进行优化。优化数据库存储引擎 + 异构计算芯片。如阿里XDB数据库。
    (2)数据一致性解决方案:利用成熟的一致性协议(如raft,paxos,quorum等)提供多副本数据强一致性保证。

    金山云云数据库MongoDB与阿里云PolarDB的比较.png

    业内成熟的新一代云数据库方案对比如表1。

    二、金山云数据的优势

     通过借鉴业内成熟的云数据库解决方案,金山云设计了一款支持弹性扩容、高性能、高可用的OLTP云数据库,即KingDB。
    金山云云数据库能够实现:

  • 性能:5倍于MySQL(读性能:最多15副本,50w QPS; 写性能:单点写入10wTPS)
  • 创建只读副本:TB级数据,分钟级(传统数据库架构小时级)
  • 容量:<=64 TB
  • 成本:商业数据库的1/10
  • 创建容灾实例:分钟级

     KingDB实现了数据库实例和存储服务相互独立,存储服务层为数据库层提供统一的数据 ,数据库实例从存储层获取数据与从本地读取数据一样。利用共享的存储层服务,KingDB不仅能实现动态弹性扩缩容,故障恢复的效率更高,可提高整系统的可用性,物理复制为系统性能的提升带来了很大的空间。
    (1) KingDB的每个数据库副本所在机器会部署服务agent,负责数据库实例状态的采集并上报到服务管理器(service manager);
    (2) 数据库集群由一个主副本和若干个从副本构成,一般同region的跨AZ部署;
    (3) 不同的服务层做安全隔离,并通过VPC相互通信;
    (4) 存储服务由若干存储节点构成分布式存储系统,跨多AZ,支持多点挂载、弹性扩缩容、故障自愈和负载均衡。同时,还承担了数据备份归档的数据源;
    (5) 存储系统中的数据(data & log & config)定期备份到备份系统;在需要进行数据回滚时从备份系统中拉取数据恢复到特地时刻数据。
    (6) 备份系统可以使用分布式块存储系统EBS或S3;
    (7) 为了保障服务的高可用,整系统需要在异常情况下快速发现问题,因此需要监控系统中所有的关键操作,一旦性能或可用性出现问题需要第一时间产生报警。

     KingDB的总体解决方案,从存储扩展性、IO链路和一致性等不同方面做出改进和优化,旨在打造一款适合公有云环境的关系型数据库:具备弹性伸缩能力、快速故障恢复能力、快速归档回档能力、高吞吐、低成本。目前的架构还有待完善的方面如下:
    (1) 依赖的存储系统建设有待改进:目前使用的云盘不支持在线扩缩容,扩缩容过程对业务连续性有一定的影响;
    (2) 网络建设有待升级:目前只有千兆网/万兆网基础设施,网络IO性能可能成为瓶颈;RDMA网络环境建设有助于提高整系统性能;
    (3) 新网络硬件及协议以及新存储硬件(磁盘、异构计算芯片、非易失性存储等)引入需要进行适配和对应硬件故障处理;
    (4) 数据库层和存储层数据交互需要经过多次内核态和用户态间的拷贝,对时延影响较大,需要考虑在用户态完成数据交互(包括用户态文件系统接口、RDMA网络交互等);
    (5) 基于物理复制的模式需要考虑兼容利用binlog进行数据分析的DTS服务接入,需要实现基于redo日志的数据流同步;
    (6) redo日志的可读性相比binlog的可读性要差,在服务运维过程中需要基于redo日志的排查工具和分析工具。

     随着公有云数据库应用场景的快速增长,未来云数据库在性能、容量、安全、计算等方面将面临更大的挑战,新硬件+新架构将是云数据库的新迭代模式。
以上就是金山云为您带来的推荐阅读的全部内容,如果还想了解更多内容可访问金山云官网www.ksyun.com了解其它资讯。
*免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快处理。