开源OLAP迁移至Hologres

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本文将会为您介绍开源OLAP如ClickHouse/Druid/Presto等架构同Hologres的深度对比,并介绍如何如何平滑迁移到Hologres技术体系,实现更稳定,更可扩展,更多功能的HSAP架构。

点击免费下载
《实时数仓技术入门一本通》>>>

test

也可在PC端打开 https://developer.aliyun.com/topic/download?id=961 下载

一、背景介绍

从技术影响力的角度来说,Github Star排名前5的系统也是目前市面上比较流行的开源OLAP系统,它们的开源时间以及产品的定位各不相同,我们将会选取排名前3的系统来与Hologres做深度的对比。
image.png
另外再从业务的视角来看一下大数据架构中OLAP系统的一个定位和功能,以及它在业务系统中的作用,可以看到,在整个大数据架构中,为了解决不同的问题,需要用到不同的系统,在大数据架构中,OLAP系统百家争鸣、万花齐放。
image.png
 

二、开源系统对比

将会从以下几个方面来深度对比Hologres和开源OLAP系统。

1)存储计算角度

在存储方面,Hologres支持毫秒级的写入可见性,Druid和ClickHouse支持的是秒级。同时Hologres支持写入更新。
在计算方面,Hologres同Druid和ClickHouse都采用了向量化/SIMD执行器,值得一体的是,因Hologres底层技术原理可以支持联邦查询和高QPS的点查,这些都是Druid和ClickHouse无法做到的。
image.png
 

2)SQL、高级功能和生态 

在SQL方面,Hologres是兼容Postgres语法,开箱即可用,学习成本低,而Druid和ClickHouse的语法都是较复杂,难以上手。并且对于update、delete、join等,Druid和ClickHouse的支持都是比较有限。
在高级功能上,Hologres支持向量检索、空间数据等,支持更加丰富的业务场景,并且对于安全管控方面,Hologres也有着非常严苛的权限管理,例如RAM、IP白名单等。
在生态上Hologres支持会更加丰富,Hologres提供JDBC接口,且能通过Flink或者DataX、StreamX写入,实现多种异构数据源轻松导入Hologres。
image.png
 

三、迁移指南

对比完主流的开源OLAP引擎之后,肯定就会有人问,要是想把OLAP引擎迁移到Hologres,应该怎么做呢?它们的不同点在哪里呢?下面将会一一讲述。

1)Presto迁移

  • Presto简介及应用场景

Presto是Facebook推出的一个分布式的SQL查询引擎,基于内存的并行计算,它可以提供比较快速的一个交互式查询能力。应用场景有离线加速,联邦查询,数据湖,以及实时数仓。
从Presto迁移到Hologres后,基本上功能可以无缝的得到支持,而且Presto不支持实时数仓,而Hologres支持实时数仓,提供写入和更新能力,并支持高QPS的查询能力。
 image.png

  • 迁移方案

可以分别从数据模型,数据类型,SQL,数据接入,BI生态来看。数据模型上2者概念类似,只不过Presto的Catalog需要变成Hologres的Database。数据类似方面Hologres同Presto一致都支持基本以及复杂类型,无需做修改。SQL层面,2者都是支持ANSI SQL,学习成本也比较低。对于数据接入和生态而言,Hologres同Presto都提供JDBC接口,无需更换工具,只需要更换对应的连接信息就能立即使用
总结来看,迁移的成本是非常低的,基本上可以做到无缝的迁移。
image.png

 2)Druid迁移

  • Druid简介及应用场景

Druid自带存储引擎,支持实时数据,并提供亚秒级查询的OLAP引擎。
Druid的适用场景有:

  • 时序组织数据(点击,曝光,监控)
  • 数据质量要求不高(有可能重复/丢失)
  • 海量append only数据 (不支持更新)
  • 单表聚合类查询

Druid不适用的场景有:

  • 高QPS明细场景
  • 有一致性要求的场景
  • 需要更新的场景
  • 需要join的场景

 从Druid迁移到Hologres后,可以支持一些原来Druid不适用的场景

  • 迁移方案

下面来看实践,首先是数据模型的迁移。Druid所有数据都存储在dataSource中,dataSource类似于Hologres的表。Druid通过json的方式来描述一个dataSource的schema,dataSource schema与Hologres的概念映射,如下图所示。
 image.png

  •  迁移示例

下图是一个具体的从Druid迁移Hologres的示例。
就DDL而言,如上面所诉,Datasorce修改为table,其余的参数都配置为Hologres的字段信息即可。
image.png
 再来看Query相关的Query迁移,Druid当前版本支持两种查询方式:SQL查询和Native查询,SQL查询和Hologres的SQL查询方式类似,在此主要介绍Native query到Hologres的迁移方式。
Scan查询修改为Hologres中的Select 字段即可
image.png
 
TOPN查询修改为Sum和Group by查询即可。
image.png
 
Timeseries查询修改where条件的sum查询。
image.png
 
GroupBy查询在Hologres中也是Group by,无需做大幅度的修改。
image.png

3) ClickHouse迁移

  • ClickHouse简介及应用场景

ClickHouse自带存储引擎,支持实时数据,并提供亚秒级查询,C++实现的OLAP分布式列式数据库。
适用场景有:

  • 海量明细数据存储
  • 单表聚合类查询
  • 写入可见性/一致性要求不高

不适用的场景有:

  • 高QPS查询
  • 高QPS更新
  • 需要join的场景

 

  • 迁移方案 

常见实时数仓写入链路如下图所示,通过Flink将实时日志数据写入到ClickHouse中。这里将会设计到两种数据迁移。
首先是增量数据迁移,Hologres紧密结合Flink生态,如果客户之前是通过Flink来向ClickHouse写入实时数据,那么通过Hologres Connector就能可以方便地将数据导入Hologres,将增量数据迁移过来。
然后是存量数据迁移,由于DataX等插件,暂不支持ClickHouse Reader。 如果已经在ClickHouse中存储了存量数据,需要搬迁至Hologres,目前可以用ClickHouse -> COPY OUT -> Data File -> COPY IN -> Hologres的链路,需要确定好字符集、分隔符和NULL标记等规范就能迁移。
image.png
 
迁移过程中,数据模型的对应关系,如下图所示。
 image.png
 

  • 迁移示例 

迁移的DDL示例如下图所示,建表语句可以保持一致,但是索引的创建需要改成call set语句。
image.png
 对于一些典型查询Query,只需要修改部分的语法即可达到更好的效果。
image.png
 

四、典型案例分享

从Hologres诞生到赋能阿里巴巴集团内大多数核心业务再到云上商业化,已经沉淀无数开源OLAP成功迁移Hologres的案例。下面将会介绍典型的成功迁移案例。
1)搜索业务
在最开始的时候,阿里巴巴的搜索推荐的业务,用到的是一个非常复杂的架构,如下图所示。我们把这个业务架构仔细拆开来看,它具有需要系统具备多种能力:第一,KVStore:Redis/Mysql/Hbase/Cassandra 存储能力。第二,交互式计算能力: Presto/Drill 计算能力。第三, 实时数仓:Clickhouse/Druid存储+计算。
 image.png
正是因为这样一些复杂的业务架构,我们做了一个HSAP的系统,进行了业务的架构升级,把多种能力有机统一于一个引擎。这样,用户只需要通过Hologres就可以解决问题,让用户的学习成本降低非常多,不需要再去学习多个系统。 升级后的架构:
image.png
 
下图是具体的迁移表现。迁移到Hologres后,资源节省60%。平均查询性能大幅提升,开发周期显著加快。
 image.png
 
2)某社交网站替换ClickHouse
在阿里云上也有成功的迁移案例,例如某个社交网站的客户成功从ClickHouse迁移到Hologres,资源也节省了几百core,原来只能存储7天的数据,现在能无限制存储并支持7-15天的明细数据复杂查询,相比之前的实时写入QPS也有大幅提升。
 
image.png
 
3)某游戏客户替换Redis
下面是公共云上某个游戏客户替换Redis后的收益,首先是成本下降了50%,也支持了复杂查询,学习成本也降低了,无需特别维护,就能开箱即用。
image.png

五、总结 

Hologres作为HSAP服务分析一体化的最佳落地实践,。支持联邦查询,通过Hologres完全无缝的加速离线场景。同时也能解决AP常见的能力,同时比AP系统的性能更好。并且还能解决HBASE这种点查系统的能力,可以解决实时推荐的一些场景的能力。
在整个大数据架构中,通过Hologres完成了非常好的业务架构的整合,让业务能力得到非常大的扩张,用户可以非常方便的使用一套系统来完成各种各样的业务。
 image.png
 
关键词:Hologres实时数仓,开源OLAP系统,HSAP升级实践,大数据
 

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
16天前
|
存储 消息中间件 OLAP
Hologres+Flink企业级实时数仓核心能力介绍-2024实时数仓Hologres线上公开课03
本次分享由阿里云产品经理骆撷冬(观秋)主讲,主题为“Hologres+Flink企业级实时数仓核心能力”,是2024实时数仓Hologres线上公开课的第三期。课程详细介绍了Hologres与Flink结合搭建的企业级实时数仓的核心能力,包括解决实时数仓分层问题、基于Flink Catalog的Streaming Warehouse实践,并通过典型客户案例展示了其应用效果。
40 10
Hologres+Flink企业级实时数仓核心能力介绍-2024实时数仓Hologres线上公开课03
|
16天前
|
SQL 存储 JSON
实时数仓 Hologres 产品介绍:一体化实时湖仓平台
本次方案的主题是实时数仓 Hologres 产品介绍:一体化实时湖仓平台,介绍了 Hologres 湖仓存储一体,多模式计算一体、分析服务一体和 Data+AI 一体四方面一体化场景,并对其运维监控方面及客户案例进行一定讲解。 1. Hologres :面向未来的一体化实时湖仓 2. 运维监控 3. 客户案例 4. 总结
55 14
|
16天前
|
存储 SQL 运维
Hologres OLAP场景核心能力介绍-2024实时数仓Hologres线上公开课02
本次分享由Hologres产品经理赵红梅(梅酱)介绍Hologres在OLAP场景中的核心能力。内容涵盖OLAP场景的痛点、Hologres的核心优势及其解决方法,包括实时数仓分析、湖仓一体加速、丰富的索引和查询性能优化等。此外,还介绍了Hologres在兼容PG生态、支持多种BI工具以及高级企业级功能如计算组隔离和serverless computing等方面的优势。最后通过小红书和乐元素两个典型客户案例,展示了Hologres在实际应用中的显著效益,如运维成本降低、查询性能提升及成本节省等。
|
17天前
|
SQL 存储 运维
云端问道5期方案教学-基于 Hologres 轻量实时的高性能OLAP分析
本文介绍了基于Hologres的轻量实时高性能OLAP分析方案,涵盖OLAP典型应用场景及Hologres的核心能力。Hologres是阿里云的一站式实时数仓,支持多种数据源同步、多场景查询和丰富的生态工具。它解决了复杂OLAP场景中的技术栈复杂、需求响应慢、开发运维成本高、时效性差、生态兼容弱、业务间相互影响等难题。通过与ClickHouse对比,Hologres在性能、写入更新、主键支持等方面表现更优。文中还展示了小红书、乐元素等客户案例,验证了Hologres在实际应用中的优势,如免运维、查询快、成本节约等。
云端问道5期方案教学-基于 Hologres 轻量实时的高性能OLAP分析
|
29天前
|
DataWorks 关系型数据库 OLAP
云端问道5期实践教学-基于Hologres轻量实时的高性能OLAP分析
本文基于Hologres轻量实时的高性能OLAP分析实践,通过云起实验室进行实操。实验步骤包括创建VPC和交换机、开通Hologres实例、配置DataWorks、创建网关、设置数据源、创建实时同步任务等。最终实现MySQL数据实时同步到Hologres,并进行高效查询分析。实验手册详细指导每一步操作,确保顺利完成。
|
2月前
|
SQL 分布式计算 大数据
湖仓融合:MaxComputee与Hologres基于OpenLake的湖上解决方案
本次主题探讨湖仓融合:MaxCompute与Hologres基于OpenLake的湖上解决方案。首先从数据湖和数据仓库的历史及业界解决方案出发,分析湖仓融合的两种思路;接着针对国内问题,介绍阿里云如何通过MaxCompute和Hologres解决湖仓融合中的挑战,特别是在非结构化数据处理方面的能力。最后,重点讲解Object Table为湖仓增添了SQL生态的非结构化数据处理能力,提升数据处理效率和安全性,使用户能够在云端灵活处理各类数据。
|
2月前
|
SQL 存储 人工智能
化整为零:湖仓数据平台一站式迁移
本文介绍了湖仓平台迁移的概况、痛点及解决方案。首先概述了数据湖和数据仓库迁移的现状与背景,强调其重要性及挑战。接着分析了迁移过程中的主要痛点,如数据量大、业务变更频繁等。最后提出了一种化整为零的新范式,通过精细化设计和自动化工具提升迁移效率,并展示了一站式湖仓迁移中心的关键阶段和产品大图,旨在加速迁移过程并减少人工成本。
|
2月前
|
SQL 存储 分布式计算
Hologres+Paimon构建一体化实时湖仓
Hologres 3.0全新升级,面向未来的一体化实时湖仓。它支持多种Table Format,提供湖仓存储、多模式计算、分析服务和Data+AI一体的能力。Hologres与Paimon结合,实现统一元数据管理、极速查询性能、增量消费及ETL功能。Dynamic Table支持流式、增量和全量三种刷新模式,满足不同业务需求,实现一份数据、一份SQL、一份计算的多模式刷新。该架构适用于高时效性要求的场景,也可用于成本敏感的数据共享场景。
|
2月前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
4月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
297 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展

相关产品

  • 实时数仓 Hologres