如何免费建一个网站,兴安盟市住房和城乡建设局网站,公司网站二维码生成器,发布信息的平台有哪些一、离线数仓 缺点#xff1a;
ETL计算、存储、时间成本高数据处理链路过长无法支持实时、近实时的数据分析数据采集对业务库造成影响
二、Lambda架构#xff0c;离线实时分开 缺点#xff1a;
组件多#xff0c;不方便管理很难保证数据一致数据探查困难#xff0c;出现…一、离线数仓 缺点
ETL计算、存储、时间成本高数据处理链路过长无法支持实时、近实时的数据分析数据采集对业务库造成影响
二、Lambda架构离线实时分开 缺点
组件多不方便管理很难保证数据一致数据探查困难出现问题很难排查 三、Kappa架构实时为主 缺点
kafka无法支持海量存储kafka无法支持高效的OLAP无法复用数据血缘管理体系kafka不支持update 四、数据湖流批一体 数据采集之前是sqoop,flume,maxwell,datax等各种组件采集引入组件多链路复杂现在是cdc千表入湖
计算引擎之前spark、impala、presto、flink现在flink流批一体
即席查询之前impala、presto、hbase、kudo现在doris,starrocks 五、实战FlinkPaimon数据湖架构
Apache Paimon | Apache Paimon
1、Paimon官网基础知识
采集使用CDC Ingestion可以同步表、同步库常见配置看Maintenance-Configurations包括了file.formatparquet,flie.block-size等默认参数表更日志看Table with PK(主键表)-Changelog Producer快照管理看Maintenance-Manage Snapshots表引擎看Merge-Engine包括了部分更新、聚合等 2、LSM-Tree 日志结构合并树
关系型数据库重点是查询在读性能上有很高的要求 通过二分查找、hash、B树等方式虽然数据查询很快但是底层磁盘造成了大量随机写。同时对表的要求很高比如结构化、索引、主键等。 因为磁盘随机写慢顺序写快的特性想要提高写操作性能设计成顺序写。顺序写很简单就是直接将数据追加到文件后面但是读取/查询是就需要扫描所有数据很浪费时间。 LSM-Tree日志结构合并树是一种分层有序面向磁盘的数据结构其核心思想就是充分利用了磁盘批量顺序写要远比随机写性能快很多对读和写性能做了权衡。
保证写操作性能发挥磁盘特性一次性地读取或写入固定大小的一批数据尽可能减少随机寻道操作。写入LSM树的新记录将首先缓存在内存中。当内存缓冲区满时内存中的所有记录将被排序并刷新到磁盘也就是批量写入保证读操作性能 通过划分内存磁盘的多层合并结构及各种优化尽量保证读操作性能按照时间顺序来存储数据最新的数据存放在内存中方便实时计算LSM树把文件分成多个sorted run分成很多批一个sorted run包含多个文件每个文件中的数据按主键排序实现了磁盘的分批顺序写入查询的时候需要将所有Sorted Run合并起来并根据时间戳合并相同主键的数据太多Sorted Run合并将导致查询性能较差甚至内存不足。为了限制Sorted Run的数量我们必须偶尔将多个Sorted Run合并为一个大的Sorted Run。这个过程称为Compaction。
但是过于频繁的Compaction可能会导致写入速度变慢这是查询和写入性能之间的权衡。
HBase、MongoDB等存储引擎都是LSM树kafka用到了磁盘顺序读写。 3、Paimion写入流程
写操作触发首先将数据记录在写前日志Write Ahead Log相当于checkpoint,以便故障时恢复数据。把数据追加到内存中的C0层。当C0层数量达到一定大小就把C0和C1层以归并的方式合并覆盖C1这个过程称为Compaction。合并出来的新文件会顺序写入磁盘替换掉旧文件。当C1层达到一定大小会继续和下层合并合并之后所有旧文件都可以删除。需要注意写入可能重复新版本会覆盖老版本比如a老版本已经来到Ci层了C0层来了个新版本这个时候不会去更新下层老文件而只是在C0层写入一个新的数据等待后面合并自动覆盖。 参考视频011.精通Paimon—大数据环境概览_哔哩哔哩_bilibili