04 2025 档案

摘要:本文详细介绍了SQL语法扩展、执行计划分析及优化策略,涵盖特殊函数与子句(如`WITH`、`ANY JOIN`)、聚合函数扩展(如`uniqCombined`、`quantileTDigest`)以及执行计划优化技巧。同时深入解析了ClickHouse的索引原理,包括主键索引和跳数索引的工作机制与优化方法。针对查询优化,文章提供了过滤条件下推、分布式查询优化和数据预聚合等策略,并探讨了资源管理与并发控制的核心参数(如`max_memory_usage`、`max_threads`)及队列优先级调度机制,助力高效使用ClickHouse。 阅读全文
posted @ 2025-04-26 15:29 Aurora_NeAr 阅读(210) 评论(0) 推荐(0)
摘要:本文深入解析了列式存储、数据压缩、向量化执行引擎、分布式计算模型及MergeTree引擎的底层原理。首先对比列式与行式存储,阐述列式存储在减少I/O、高效压缩及向量化处理方面的优势;接着分析常用压缩算法(如LZ4、ZSTD)及其优化策略。随后探讨向量化执行引擎的工作机制,包括数据块结构、SIMD指令加速及零拷贝技术,显著提升OLAP查询性能。分布式计算部分详解分片与副本机制,确保高可用与扩展性。最后聚焦MergeTree引擎,涵盖数据写入、合并、主键索引、跳数索引及分区管理等核心功能,并提供最佳实践建议。 阅读全文
posted @ 2025-04-20 18:38 Aurora_NeAr 阅读(137) 评论(0) 推荐(0)
摘要:ClickHouse是一款专注于OLAP(联机分析处理)的列式存储数据库,以其极致的查询性能、高压缩率和实时分析能力著称。它通过列式存储、向量化查询引擎及分布式架构,满足大规模数据复杂聚合需求,适用于实时日志分析、用户行为分析等场景。然而,ClickHouse不支持事务(ACID),JOIN性能较弱,且对单行更新/删除效率低,不适合OLTP场景。其丰富的表引擎(如MergeTree系列)和数据类型(如LowCardinality优化类型)为不同业务需求提供了灵活支持。 阅读全文
posted @ 2025-04-20 18:01 Aurora_NeAr 阅读(67) 评论(0) 推荐(0)
摘要:数据库选型策略 数据模型 数据库类型 数据模型 典型场景 代表产品 关系型数据库(RDBMS) 表格结构,强Schema约束 事务处理(OLTP)、复杂查询 MySQL、PostgreSQL、Oracle 文档数据库 JSON/BSON文档,弱Schema 灵活模式、半结构化数据存储 MongoDB 阅读全文
posted @ 2025-04-20 11:27 Aurora_NeAr 阅读(36) 评论(0) 推荐(0)
摘要:服务注册与发现 核心功能 服务实例动态变化:实例可能因扩缩容、故障或迁移导致IP变动。 服务依赖解耦:调用方无需硬编码服务地址,降低耦合度。 负载均衡:自动选择健康实例,提升系统可用性。 核心组件 服务注册中心(Registry) : 作用:存储服务实例的元数据(如IP、端口、健康状态、标签),提供 阅读全文
posted @ 2025-04-19 20:22 Aurora_NeAr 阅读(23) 评论(0) 推荐(0)
摘要:CAP定理与权衡实践 CAP定理 一致性(Consistency) 强一致性:所有读写操作均基于最新数据(如银行转账)。 最终一致性:数据副本经过一段时间后达到一致(如社交媒体的点赞数)。 技术实现:两阶段提交(2PC)、Paxos/Raft共识算法。 可用性(Availability) 响应要求: 阅读全文
posted @ 2025-04-19 15:07 Aurora_NeAr 阅读(50) 评论(0) 推荐(0)
摘要:微服务架构 微服务架构核心特征 服务自治:每个服务拥有独立的代码库、数据库和运维流程。 轻量级通信:服务间通过API(REST/gRPC)或消息队列(如Kafka)交互。 去中心化治理:允许技术栈多样化(如不同服务使用Java、Go、Python)。 故障隔离:单个服务故障不影响全局系统可用性。 微 阅读全文
posted @ 2025-04-19 12:08 Aurora_NeAr 阅读(115) 评论(0) 推荐(0)
摘要:容器化(Docker)革命 Docker的核心架构 镜像(Image) : 只读模板,包含应用代码、运行时、库和配置文件。 分层存储:每层可复用(如基础OS层、Java环境层、应用层),减少重复传输。 容器(Container) : 镜像的运行实例,具有可写层(存储运行时数据)。 通过Linux N 阅读全文
posted @ 2025-04-13 22:42 Aurora_NeAr 阅读(69) 评论(0) 推荐(0)
摘要:数据中台整体架构设计 数据中台分层架构 数据采集层 数据源类型:业务系统(ERP、CRM)、日志、IoT设备、第三方API等。 采集方式: 实时采集:Kafka、Flink CDC(变更数据捕获)。 离线采集:Sqoop、DataX(批量同步数据库)。 日志采集:Flume、Filebeat。 数据 阅读全文
posted @ 2025-04-13 14:46 Aurora_NeAr 阅读(204) 评论(0) 推荐(0)
摘要:Executor框架与线程池(ThreadPoolExecutor) Executor框架的组成 组件 作用 Executor 基础接口,仅定义execute(Runnable)方法,用于执行任务。 ExecutorService 扩展Executor,提供任务提交(submit)、线程池关闭(sh 阅读全文
posted @ 2025-04-13 11:52 Aurora_NeAr 阅读(88) 评论(0) 推荐(0)
摘要:并发容器 ConcurrentHashMap 设计原理 分段锁(JDK 7) :将数据分成多个段(Segment),每个段独立加锁,不同段的操作可并行执行。 CAS + synchronized(JDK 8+) :取消分段锁,改用CAS(无锁算法)和细粒度synchronized锁桶(Node),进 阅读全文
posted @ 2025-04-13 11:45 Aurora_NeAr 阅读(42) 评论(0) 推荐(0)
摘要:流处理系统架构 流处理架构图 [数据源] → [数据接入层] → [流处理引擎] → [数据输出层] ↑ ↓ [状态存储层] [协调服务层] 数据源(Source) 功能:持续生成或传输数据流,作为系统的输入。 消息队列:Kafka、RabbitMQ、AWS Kinesis(高吞吐、持久化)。 日志 阅读全文
posted @ 2025-04-12 16:38 Aurora_NeAr 阅读(97) 评论(0) 推荐(0)
摘要:MapReduce:批处理的基石 MapReduce 的核心思想 Map 阶段:将输入数据拆分为多个分片(Split),并行处理生成中间键值对(Key-Value Pairs)。 Shuffle 阶段:隐式阶段,负责将 Map 输出排序、分组并传输到 Reduce 节点。 Reduce 阶段:对中间 阅读全文
posted @ 2025-04-12 14:19 Aurora_NeAr 阅读(105) 评论(0) 推荐(0)
摘要:线程安全级别 级别 描述 示例 不可变(Immutable) 对象状态不可变,天然线程安全。 String、Integer 绝对线程安全 所有操作都线程安全(Java 中极少见)。 Vector(通过同步实现,但复合操作仍不安全) 相对线程安全 单次操作线程安全,复合操作需同步。 Collectio 阅读全文
posted @ 2025-04-12 11:36 Aurora_NeAr 阅读(33) 评论(0) 推荐(0)
摘要:Java内存模型(JMM) JMM 的核心概念 主内存与工作内存: 主内存(Main Memory)是所有线程共享的内存区域,存放着所有变量的值 每个线程都有自己的 工作内存(Working Memory),它是该线程的私有内存区域。线程操作共享变量时,先从主内存将变量拷贝到工作内存中,然后对工作内 阅读全文
posted @ 2025-04-12 11:31 Aurora_NeAr 阅读(18) 评论(0) 推荐(0)
摘要:第一部分 设计模式与设计原则 设计模式概述 创建型模式(Creational Patterns) 工厂模式(Factory):通过工厂类统一创建对象,隐藏实例化细节 单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点 建造者模式(Builder):分步骤构建复杂对象,分离构造过 阅读全文
posted @ 2025-04-04 17:07 Aurora_NeAr 阅读(29) 评论(0) 推荐(0)