- 博客(16)
- 收藏
- 关注
原创 MergeTree底层原理解析
ClickHouse的MergeTree引擎是核心表引擎,支持主键索引、数据分区等关键特性。MergeTree表以数据片段形式存储,不可修改但会定期合并。创建表时可指定分区键、排序键等参数,数据按列存储为.bin文件,并配备一级索引和标记文件加速查询。分区目录包含校验文件、列信息和计数文件等元数据。合理使用分区可减少查询范围,提升性能。MergeTree家族还包括支持去重、聚合等特性的衍生引擎,是ClickHouse高效查询的基础。
2025-11-11 11:42:18
682
原创 Clickhouse数据副本和分片
本文介绍了ClickHouse的数据副本与分区机制。集群通过分片和副本解决单点故障问题,分片实现数据水平切分,副本保证数据高可用。ReplicatedMergeTree引擎通过ZooKeeper实现副本间的分布式协同,支持多主架构和原子性写入。文章详细阐述了副本的工作原理,包括数据结构、主副本选举、任务分发等机制,并展示了ZooKeeper的配置方式。副本机制通过监听节点实现操作日志同步,确保数据一致性,同时支持横向扩展。
2025-11-10 17:31:37
765
原创 Flink集群部署以及作业提交模式详解
Flink支持多种部署模式,包括Standalone独立部署和Yarn模式。集群包含三个角色:客户端提交任务、JobManager调度管理、TaskManager执行计算。 Flink提供三种作业部署模式: 会话模式:共享集群资源,适合频繁提交短作业 单作业模式:每个作业独立集群,资源隔离性好 应用模式:以应用为单位启动集群,解耦客户端 。Yarn模式下Flink通过ResourceManager动态分配资源。部署需要配置Hadoop环境变量,并支持三种提交方式:会话模式、单作业模式和应用模式,各具优缺点。
2025-11-05 16:13:26
1312
原创 【Flink】FlinkSQL-动态表和持续查询概念
FlinkSQL中的动态表与持续查询机制实现了对流式数据的表处理能力。动态表(Dynamic Tables)是随时间不断变化的表结构,与静态的关系型数据库表不同,它处理的是无限数据流而非有界数据集。持续查询(Continuous Query)对动态表执行不间断的查询操作,结果也是动态变化的。根据查询类型不同,结果流转换方式分为追加查询(toDataStream)和更新查询(toChangelogStream)。FlinkSQL支持事件时间和处理时间两种语义
2025-11-04 09:49:13
534
原创 【问题排查】hadoop-shaded-guava依赖问题
摘要: 文章记录了一个Hadoop依赖问题的排查过程。当使用Spark读取S3文件时出现NoClassDefFoundError错误,原因是hadoop-aliyun依赖需要hadoop-shaded-guava包。通过IDEA全局搜索和报错代码定位后,发现需要在pom.xml中添加hadoop-shaded-guava依赖。最终解决方案是引入该依赖,并提供了Maven仓库搜索该包的截图和XML配置示例。
2025-11-01 12:31:26
238
原创 【大数据系列】Flink两阶段提交协议详解
Flink通过两阶段提交协议实现端到端精确一次语义处理,结合检查点机制确保数据不丢失、不重复。关键点包括:1)预提交阶段通过barrier标记记录状态快照;2)提交阶段在检查点完成后提交外部事务;3)支持Kafka等外部系统的分布式事务。该机制适用于金融等高精度场景,但需权衡性能与延迟。Flink 1.4.0+通过TwoPhaseCommitSinkFunction抽象类简化实现,开发者只需少量代码即可构建精确一次处理应用。
2025-10-24 10:07:29
1060
原创 【大数据系列】Doris的自动分区和数据分桶详解
Doris自动分区与数据分桶技术解析 Doris自动分区功能(2.1版本后支持)解决了手动分区和动态分区的局限性,支持基于范围(RANGE)和列表(LIST)的自动分区方式。RANGE分区适用于时间类型数据,LIST分区支持多列分区但需注意分区名长度限制。自动分区可与动态分区的生命周期管理结合使用,其中RANGE分区支持数据自动管理。 数据分桶是Doris必须的物理数据分片方式,分为Hash分桶和Random分桶。
2025-10-21 16:54:36
794
原创 Clickhouse异步/同步写入配置详解
本文介绍了ClickHouse中控制数据插入行为的两个关键参数:insert_distributed_sync(新版为distributed_foreground_insert)和async_insert。前者控制分布式表数据分片的同步/异步写入,确保强一致性但影响吞吐量;后者控制插入请求的批处理方式,提高吞吐量但牺牲实时性。文章详细对比了两者的作用机制、重要性及适用场景,并提供了全局配置、会话设置和JDBC连接三种配置方式。最后简要分析了相关源码实现,展示了同步写入的核心逻辑。
2025-10-20 15:41:01
760
原创 【大数据系列】Doris模型介绍-聚合模型Aggregate
Doris聚合模型通过预聚合数据提升查询效率,将列分为Key(维度列)和Value(指标列)。相同Key的数据行会按指定聚合方式(如SUM、MAX等)合并。模型通过ETL、Compaction和查询三阶段实现数据聚合,对用户透明。建表时需注意:主键必须包含所有Key列且顺序正确,分区键必须是Key列。虽然可通过设置唯一Key保存明细数据,但生产环境不建议使用。该模型适用于数据汇总场景,能有效减少存储和计算开销。
2025-10-14 15:12:14
536
原创 【实时分析型数据库】Clickhouse字典表详细介绍
ClickHouse字典表是解决外部数据关联痛点的关键工具,通过内存缓存优化JOIN查询性能。
2025-07-04 17:14:54
754
原创 【大数据系列】三、Doris分区划分详解
在 Doris 中,数据分布通过合理的分区和分桶策略,将数据高效地映射到各个数据分片(Tablet)上,从而充分利用多节点的存储和计算能力,支持大规模数据的高效存储和查询。
2025-06-09 01:33:03
2024
原创 【配置优化】Clickhouse配置参数优化
ClickHouse配置参数优化摘要 本文总结了ClickHouse关键参数优化建议,主要涵盖三大类: MergeTree引擎参数、通用配置优化、分布式表配置
2025-06-03 11:34:38
1726
原创 【大数据系列】一、Apache Doris集群部署
Apache Doris是一款实时分析性数据库,同样是MPP(Massively Parallel Processing,即大规模并行处理)类型,本文章主要是从0到1搭建Doris数据库
2024-11-26 21:42:54
3241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2