基于 Hudi 和 Kylin 构建准实时高性能数据仓库
程序员文章站
2022-03-24 09:01:48
在近期的 Apache Kylin × Apache Hudi Meetup 直播上,Apache Kylin PMC Chair 史少锋和 Kyligence 解决方案工程师刘永恒就 Hudi + Kylin 的准实时数仓实现进行了介绍与演示。本文是分享现场的回顾。 ......
在近期的 apache kylin × apache hudi meetup 直播上,apache kylin pmc chair 史少锋和 kyligence 解决方案工程师刘永恒就 hudi + kylin 的准实时数仓实现进行了介绍与演示。下文是分享现场的回顾。
我的分享主题是《基于 hudi 和 kylin 构建准实时、高性能数据仓库》,除了讲义介绍,还安排了 demo 实操环节。下面是今天的日程:01 数据库、数据仓库
先从基本概念开始。我们都知道数据库和数据仓库,这两个概念都已经非常普遍了。数据库 database,简称 db,主要是做 oltp(online transaction processing),也就是在线的交易,如增删改;数据仓库 data warehouse,简称 dw,主要是来做olap(online analytics processing),也就是在线数据分析。oltp 的典型代表是 oracle、mysql,olap 则像 teradata、greenplum,近些年有 clickhouse、kylin 等。数据库和数据仓库两者在存储实现上是不一样的,数据库一般是按行存,这样可以按行来增加、修改;数据仓库是按列来存储,是为了分析的时候可以高效访问大量的数据,同时跳过不需要的列;这种存储差异导致两个系统难以统一,数据从数据库进入到数据仓库需要一条链路去处理。
02 数据湖
近些年出现了数据湖(data lake)的概念,简单来说数据湖可以存储海量的、不同格式、汇总或者明细的数据,数据量可以达到 pb 到 eb 级别。企业不仅可以使用数据湖做分析,还可以用于未来的或未曾预判到的场景,因此需要的原始数据存储量是非常大的,而且模式是不可预知的。数据湖产品典型的像 hadoop 就是早期的数据湖了,现在云上有很多的数据湖产品,比方 amazon s3,azure blob store,阿里云 oss,以及各家云厂商都有自己的存储服务。有了数据湖之后,企业大数据处理就有了一个基础平台,非常多的数据从源头收集后都会先落到数据湖上,基于数据湖再处理和加载到不同的分析库去。但是,数据湖开始设计主要是用于数据的存储,解决的是容量的水平扩展性、数据的持久性和高可用性,没有太多考虑数据的更新和删除。例如 hdfs 上通常是将文件分块(block)存储,一个 block 通常一两百兆;s3 同样也是类似,大的 block 可以节省管理开销,并且这些文件格式不一,通常没有高效的索引。如果要修改文件中的某一行记录,对于数据湖来说是非常难操作的,因为它不知道要修改的记录在哪个文件的哪个位置,它提供的方式仅仅是做批量替换,代价比较大。
赞 (0)
打赏
微信扫一扫
相关文章:
-
-
主从复制原理 Mysql 中有一个binlog 二进制日志,这个日志会记录下所有修改了的SQL 语句,从服务器把主服务器上的binlog二进制日志在指定... [阅读全文]
-
本篇博客是Redis系列的第5篇,主要讲解下Redis的过期键删除策略。 本系列的前4篇可以点击以下链接查看: "Redis系列(一):Redis简介及... [阅读全文]
-
本篇文章主要是写一下我在配置redis时遇到的坑,安装redis的教程可以查看这篇文章:https://www.cnblogs.com/wuwuyong... [阅读全文]
-
Redis 6在许多关键方面对Redis进行了改进,并且是该项目历史上最大的Redis版本之一,因此,这里我们仅列出此版本中的最大功能: *模块系统现在... [阅读全文]
-
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
推荐阅读
- 大家感兴趣的文章
-
- 1 pyhton3解决"tuple parameter unpacking is not supported"问题
- 2 [LTR] RankLib.jar 包介绍
- 3 分享《Hadoop权威指南(第四版)》中文PDF+英文PDF+源代码
- 4 Python连接presto
- 5 Mycat 连接 双击表 提示 1146-Table XXXX doesn‘t exist
- 6 ES 16 - 对Elasticsearch中的索引数据进行增删改查 (CRUD)
- 7 全球疫情实时监控——约翰斯·霍普金斯大学数据大屏实现方案
- 8 Kettle使用心得汇总系列一
- 9 MapPartition和Map的区别
- 10 Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException的解决方案
发表评论