数据库 频道

总监聊产品|柏睿实时云数仓之「架构篇」

  Gartner预测,云将主导数据库市场的未来, 2022年,75%的数据库将被部署或迁移至云平台。

  云化趋势下,云厂商市场份额快速提升。传统数据库应如何适应云计算大潮?这是数据库厂商面临的挑战。

  柏睿数据作为国产数据库领军企业,基于自研的新一代分布式内存数据库技术,通过优化云端运行能力,正式推出「柏睿实时云数仓」,为用户提供云原生的数据仓库(DWS) PAAS服务。

  接下来,我们将从实时云数仓的架构、安全、性能三个方面展开,整体介绍柏睿云产品。本篇是整体架构介绍。

  我们在设计实时云数仓服务时的技术原则是:

  01、借鉴新兴技术

  云计算不仅是一种新的IT运行环境,也提出了很多开发框架和一些新的IT技术,如微服务、容器等,这些新技术对传统软件有很多借鉴和参考意义。

  02、提升安全保障

  安全是IT业务的一个长久话题,对于云计算中运行的数据库业务来说,安全更是尤其重要,所以我们希望从数据的存储、访问等多方面进行安全设计。

  03、降低性能损耗

  云主机中的CPU、内存都是虚拟化实现,与传统数据库独占物理机的性能是不一样的,因此在考虑运行环境时,要尽量减少不必要的性能损耗。

整体架构

  柏睿实时云数仓由云管理平台、全内存数据库和数据库管理Portal三个逻辑部分组成:

  01、云管理平台(BCMP)

  柏睿云管理平台是整个平台的系统管理层,负责与云厂商API对接,实现数据库集群建立、删除等功能所需的云资源调度。

  02、全内存数据库(DB)

  底层基于柏睿数据全内存分布式数据库,由数据库网关(Master)、SQL分发(AGG)和计算节点(LEAF)组成。通过Master为用户程序提供兼容MySQL协议的数据库服务。每个数据库集群都使用独立的云资源部署,以保证集群的数据安全与性能稳定。

  03、数据库管理Portal(OPS)

  每个集群都有独立的数据库管理Portal云主机,实现管理与业务分离。为用户的数据库管理员提供自助操作数据库集群,数据库集群的自动化处理等功能。

微服务实现在线弹性伸缩

  传统线下数据库采用纵向增加服务器单机性能来提升数据库的性能,如更换速度更快的CPU,增加更多的内存容量等。但单机硬件提升会遇到性能天花板。

  柏睿实时云数仓借鉴主流云计算开发框架——微服务架构,通过DB集群在线弹性伸缩节点数量,实现集群性能的调整。

  下图是实时云数仓加载500G TPC-H数据,不同计算节点规模的顺序执行时间。从中能够看到,执行时间随着计算节点的增加而减少,即数据库整体性能随着计算节点的增加而增强。

  柏睿实时云数仓BCMP负责使用异步任务Worker建立云主机,记录云主机的CMDB和配置元数据Metadata。

  在每个DB集群的OPS节点中,不仅有数据库管理Portal,还有ETCD服务目录功能。当一个DB集群中新增云主机后,这个云主机自动向本集群的OPS节点注册,然后OPS根据此节点的元数据,实现数据库集群的弹性伸缩。

 

  下面是柏睿实时云数仓服务新节点自注册示例流程:

  

按需使用容器

  容器是一种新兴的IT技术,它为实现IT组件快速统一部署提供了强有力的支撑。我们没有分析测量容器在虚拟化环境中的性能损耗,而是从自身业务特点考虑适合的技术。由于柏睿数据库是MPP架构,在多表关联查询时内部会有数据交换。所以最终决定借鉴容器技术的思路,将DB集群中每个云主机节点通过云存储技术,将其做成镜像,实现类似容器的Image功能,以达到DB集群的快速统一部署。

  下图是我们在用3个计算节点测试TPC-H的数据加载、顺序执行、并发执行过程中,云主机之间的网络连接报表,从中看到计算节点之间通过网络交换数据动作。

  在每个集群的OPS节点,我们使用容器技术实现一些相关工具的统一快速部署。

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
0
相关文章