高性能利器!华为云MRS ClickHouse重磅推出!
摘要:华为智能数据湖MRS服务即将上线ClickHouse高性能引擎集群,用户只需要几分钟,就可以轻松方便地一键式完成集群部署搭建,快速拥有PB级数据的秒级交互查询分析能力,帮助用户带来极致的性能体验。
前言
高性能引擎简介
ClickHouse是最近这两年非常火的一款开源的分析型数据库,来自俄罗斯的Yandex公司,2016年开源。它独立于Hadoop大数据体系,其最核心的特点是极致压缩率和极速查询性能,能为用户节约大量成本,同时创造更多收益。它提供了兼容标准SQL协议的接口,支持JDBC、ODBC驱动,使用C++语言实现。当然它还有个宏伟的目标:成为世界上最快的分析型数据库,官方测试数据表明,ClickHouse领先Vertica达6倍,领先GreenPlum达到18倍,更是比传统大数据引擎Hive、Spark等快了上百倍!这是它和其他多个开源以及商业数据库的性能比对结果:https://clickhouse.tech/benchmark/dbms。
典型应用场景
ClickHouse是Click Stream + Data WareHouse的缩写,它起初应用于一款Web流量分析工具,基于页面的点击事件流,面向数据仓库进行OLAP分析。现在,ClickHouse被广泛的应用于互联网广告、App和Web流量、电信、金融、物联网等众多领域,非常适用于商业智能化应用场景,在国内外有大量的应用和实践:https://clickhouse.tech/docs/en/introduction/adopters/。
正文
华为智能数据湖MRS服务即将上线ClickHouse高性能引擎集群,用户只需要几分钟,就可以轻松方便地一键式完成集群部署搭建,快速拥有PB级数据的秒级交互查询分析能力,帮助用户带来极致的性能体验。
手动挡集群模式升级
2.1.1模糊的集群
在介绍之前,我们首先要有个思维转变,ClickHouse集群和通常理解的集群是有差异的。比方说Hadoop集群由2个NameNode和多个DataNode组成的完备且独立的集群,业务可以直接交互访问;而对于多个ClickHouse节点组成的集群,它们是没有中心节点,更多的是一个静态资源池的概念,业务要使用ClickHouse集群模式,需要预先在各个节点的配置文件中定义cluster信息,等所有参与的节点达成共识,业务才可以正确的交互访问,也就是说配置文件中的cluster才是我们通常理解的“集群”概念。
2.1.2真实的cluster
常见的数据库系统,隐藏了表级以下的数据分区、副本存储等细节,用户是无感知的,而ClickHouse则要求用户主动来规划和定义数据分片(shard)、分区(partition)、副本(replica)位置等详细配置。它的这种类似“手动挡”的属性,给用户带来及其不友好的体验,所以MRS服务的ClickHouse实例对这些工作做了统一的打包处理,适配成了“自动挡”,实现了统一管理,灵活易用。具体部署形态上,一个ClickHouse实例将包含3个Zookeeper节点和多个ClickHouse节点,采用Dedicated Replica模式,数据双副本高可靠。
平滑的弹性扩容能力
随着业务的快速增长,面对集群存储容量或者CPU计算资源接近极限场景,MRS服务提供了平滑的弹性扩容能力,快速的满足客户业务增长的诉求。在用户进行集群扩容新的ClickHouse节点时,MRS提供了一键式数据Balance均衡工具,并把数据均衡的主动权交给用户,由用户根据业务的特点,自由决定数据均衡的方式和时间点,以便保障业务可用性,实现了更加平滑的扩容能力。
例如:
- 把负载高的节点从ELB中摘除,让负载(新数据)往新节点倾斜;
- 使用MRS提供的专业化工具重新均衡数据;
- 数据双写老化后自动切换;
多元的鲲鹏算力加持
面对鲲鹏生态快速发展,华为云也提供包含X86、ARM鲲鹏、昇腾在内的多样计算能力,支持从IOT、大数据、到AI等多种技术,提供最佳的性能、性价比、能效比。得益于华为云鲲鹏处理器多核优势,MRS的ClickHouse集群也支持华为自研ARM鲲鹏服务器,充分利用鲲鹏多核高并发能力,提供了芯片级的全栈自主优化能力,同时使用华为自研的操作系统EulerOS、华为JDK及数据加速层,充分释放底层硬件算力,实现了高性价比。
灵活易用的配置管理
MRS服务为用户提供了统一的集群管理页面,并将ClickHouse的实例配置向用户完全开放,用户可以根据自定义需求,灵活方便的通过可视化页面修改集群配置参数,包括增删cluster、macros、storage等信息。和其他MRS服务组件的配置一样,ClickHouse配置也分成集群和节点两个层面,考虑到ClickHouse引擎特殊性,需要注意不要被覆盖。另外,需要引起特别注意是,有些高级配置建议只能由“高级”用户使用,否者可能会导致系统异常。
高可用HA部署架构
MRS服务为用户提供了基于ELB的HA部署架构,可以将用户访问流量自动分发到多台后端节点,扩展系统对外的服务能力,实现更高水平的应用容错。如下图,客户端应用请求集群时,使用ELB(Elastic Load Balance)来进行流量分发,通过ELB的轮询机制,写不同节点上的本地表(Local Table),读不同节点上的分布式表(Distributed Table),这样,无论集群写入的负载、读的负载以及应用接入的高可用性都具备了有力的保障。
丰富的监控运维能力
MRS提供了丰富的ClickHouse集群监控和告警能力,实时发现系统异常,保障业务稳定运行。用户可以通过集群管理Manager的监控页面实时查看ClickHouse集群的运行概况,如健康、配置及角色实例状态统计等指标信息,同时还可以监控具体实例内部运行状态,包括:实时的读、写、数据库连接等多个维度的信息;此外,MRS还可以与华为云消息通知服务(SMN)的消息服务系统对接,将告警信息通过短信或者邮件等形式推送给用户。用户可以自定义配置监控与告警阈值用于关注各指标的健康情况,当监控数据达到告警阈值,系统将自动触发告警,将异常信息以告警形式及时通知到用户。通过以上能力,MRS可以帮助用户轻松运维,实时监控,实时发送告警,操作灵活,让用户更加省心省力。
可靠的安全防护能力
MRS提供了VPC网络隔离、专属资源隔离、主机安全等完备的安全保障机制,保障了用户ClickHouse集群数据访问的安全可靠。具体如下:
- VPC网络隔离:在公有云部署环境中,MRS通过VPC提供隔离的网络环境,保证集群的业务、管理的安全性。用户可以结合虚拟私有云VPC的子网划分、路由控制、安全组等功能,为用户提供高安全、高可靠的网络隔离环境。
- 专属资源隔离:在面向企业、政府、金融等客户,MRS提供了计算、存储资源池以及网络、管控多级隔离的资源隔离部署方案,为客户打造了安全可靠、便捷的云上“头等舱”。具体模式包括:专属计算资源+共享存储资源、共享计算资源+专属存储资源、专属计算资源+专属存储资源等三种模式。
- 主机安全服务:MRS支持与云上的安全服务集成,针对主机安全服务,做了兼容性测试,保证功能和性能不受影响的情况下,增强服务的安全能力,如支持漏洞扫描、安全防护、应用防火墙、堡垒机、网页防篡改等能力。
结尾
总结展望
MRS隆重推出的ClickHouse引擎,快速补齐了MRS服务在大数据实时分析领域的能力。同时相对用户自建集群,MRS ClickHouse具备平滑扩容、HA、鲲鹏加持、灵活配置、简单运维、安全可靠等优势能力,将会成为用户在云上构建高性能海量数据分析仓库的首选。
同时作为一款新的重量级数据库引擎,我们还在持续学习和探索过程中,MRS后面会持续从内核、服务化、生态端多个角度进行优化和改进,包括:鲲鹏指令集加速、安全鉴权、SQL诊断、BI工具集成、AI融合高级特性等。
案例分享
- 前段时间我们在华为云MRS服务上测试了ClickHouse官网的Star Schema Benchmark测试套,硬件配置:3台32 vCPU * 128GB的虚机,1TB的数据集,13个查询6个在1秒以内返回,10个在5秒内返回,全部查询10秒以内返回,性能表现非常突出。
- 海量数据分析的低成本案例:https://altinity.com/blog/2020/1/1/clickhouse-cost-efficiency-in-action-analyzing-500-billion-rows-on-an-intel-nuc