从 Clickhouse 到 Snowflake(一): 云原生

概述

Clickhouse 是一款性能十分强悍的 OLAP 引擎,凭借优秀的性能在用户行为分析、ABTest、在线报表等多个领域大放异彩,但是目前 Clickhouse 在易用性、稳定性、可维护性、功能特性等方面都还有较多不足,主要体现在以下几方面:

  • 易用性方面,需要用户感知本地表、分布式表、Zookeeper 等概念,在建表、导入、查询等流程中都有涉及,后期 Schema Change 时也需要分别做处理,使用门槛较高;
  • 稳定性方面,重度依赖 Zookeeper,Zookeeper 已经成为明显的中心化瓶颈,尤其在多副本场景下单机的写入、Merge、DDL 的执行都需要经过 Zookeeper 协调,一旦 Zookeeper 不稳定或者代码有 Bug,整个分布式集群都会不稳定;
  • 可维护性方面,缺少节点加入、节点退出、副本均衡等必要的分布式管理功能,一旦集群数量变多,维护代价巨大;
  • 功能特性方面,没有真正的 MPP 查询层,在分布式 Join、聚合等方面能力不足,语法上也不符合相关标准,有一定的学习成本;

Snowflake 是当下最火的云原生数仓,它 SaaS 化的设计理念极大的提升了数据开发者的使用体验,Clickhouse 高性能的存储引擎和计算算子是一个非常优秀的底座,我们希望以 Clickhouse 为基础,借鉴 Snowflake 的设计思路,打造一款高性能的云原生 OLAP 系统,为用户提供多场景下的一站式的数据分析平台,包括:

  • 数仓场景,支持数据实时入仓、实时分析,支持结构化、半结构化数据的统一分析,利用 Clickhouse 构建简单的流式 ETL 处理框架,简化 ETL 流程。
  • 数据湖场景,支持对象存储 COS、MySQL、Elasticsearch 等多个数据源的查询,通过跟多个数据源做深度的整合,利高速的向量化执行引擎,提升多源数据查询的速度。
  • HTAP 场景,跟腾讯 CynosDB,TDSQL 无缝集成,实时的同步 OLTP 系统中的变更,基于列存和并行执行引擎,实现海量数据下的毫秒级分析;同时支持 MySQL 协议和语法,无缝兼容用户现有的工具,达到零迁移成本。

云原生 Clickhouse 架构设计

存算分离正在数据库领域掀起一场变革,不论 OLTP 还是 OLAP 系统都在拥抱存算分离。通过对 Clickhouse 的源码进行阅读分析,发现在 Clickhouse 中一旦实现了存算分离,那么稳定性、可维护性以及成本等方面的问题都会迎刃可解。Clickhouse 虽然在分布式集群管理方面很弱,但是这也意味着在改造存算分离架构时的负担很少,成为了一个巨大的优势,所以我们把存算分离作为第一个目标,希望通过引入存算分离技术,并且围绕存算分离技术对分布式集群管理等各个方面进行改造,为用户提供一个更好的 Clickhouse。

资料领取直通车:Golang云原生最新资料+视频学习路线icon-default.png?t=M85Bhttps://docs.qq.com/doc/DTllySENWZWljdWp4

Go语言学习地址:Golang DevOps项目实战

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值