自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 大数据之路:阿里巴巴大数据实践——大数据领域建模综述

数据建模解决数据冗余、资源浪费、一致性缺失及开发低效等核心问题,通过分层设计提升性能10~100倍,优化存储与计算成本,保障数据质量并提升开发效率。相比关系数据库,数据仓库采用维度建模与列式存储,支持高效分析。阿里巴巴采用Kimball模型与分层架构,实现OLAP场景下的高性能计算与实时离线一体化。

2025-07-27 16:44:47 638

原创 大数据之路:阿里巴巴大数据实践——实时技术与数据服务

实时技术通过流式架构实现数据的实时采集、处理与存储,支持高并发、低延迟的数据服务。架构涵盖数据分层、多流关联,结合Flink、Kafka等技术实现高效流计算。数据服务提供统一接口,支持SQL查询、数据推送与定时任务,保障数据实时性与可靠性。

2025-07-26 13:54:52 858

原创 大数据之路:阿里巴巴大数据实践——离线数据开发

该平台提供一站式大数据开发与治理服务,涵盖数据存储计算、任务调度、质量监控及安全管控。基于MaxCompute实现海量数据处理,结合D2与DataWorks进行任务开发与运维,通过SQLSCAN与DQC保障代码质量与数据准确性。任务调度系统支持定时、周期、手动运行等多种模式,确保高效稳定的数据生产流程。

2025-07-20 15:04:11 1010

原创 大数据之路:阿里巴巴大数据实践——日志采集与数据同步

本资料全面介绍大数据处理技术架构,涵盖数据采集、同步、计算与服务全流程。内容包括Web/App端日志采集方案、数据同步工具DataX与TimeTunnel、离线与实时数仓架构、OneData方法论及元数据管理等核心内容,适用于构建企业级数据平台体系。

2025-07-19 16:32:06 1210

原创 Apache Iceberg数据湖高级特性及性能调优

性能调优涵盖索引优化、排序策略与元数据管理。通过布隆过滤器、位图索引等提升查询效率,结合文件内/间排序优化I/O与压缩,辅以Z-Order实现多维数据聚集。同时,合理配置元数据缓存与清单合并,加速查询规划。适用于点查、全表扫描及高并发写入场景,显著提升系统性能与资源利用率。

2025-07-12 17:06:53 904

原创 Apache Iceberg数据湖基础

Apache Iceberg 是新一代数据湖表格式,旨在解决传统数据湖(如 Hive)在事务性、并发控制和元数据管理上的不足。它支持 Spark、Flink、Trino 等多种计算引擎,提供 ACID 事务、模式演化、分区演化等核心特性,具备良好的云存储兼容性和高性能查询能力,适用于大规模结构化数据分析场景。

2025-07-06 15:40:44 887

原创 Spark SQL架构及高级用法

Spark SQL基于Catalyst优化器与Tungsten引擎,提供高效的数据处理能力。其架构涵盖SQL解析、逻辑计划优化、物理计划生成及分布式执行,支持复杂数据类型、窗口函数与多样化聚合操作,结合自适应查询与代码生成技术,实现高性能大数据分析。

2025-07-05 17:13:33 965

原创 Trino权威指南

Trino(原Presto SQL)是一款开源分布式SQL查询引擎,专为大数据联邦查询设计。它支持秒级查询PB级数据,可无缝对接Hive、MySQL、Kafka等20+异构数据源。其核心特性包括高速查询、弹性扩展和低成本使用,适合交互式分析与BI场景。Trino采用无共享架构,通过列式内存格式和动态代码生成优化性能,并提供丰富的连接器实现计算存储分离,最大化下推优化以提升效率。

2025-06-14 18:52:37 960

原创 Spark RDD 及性能调优

RDD(弹性分布式数据集)是Spark的核心抽象,支持容错和并行计算。其架构包括分区、计算函数、依赖关系、分区器及优先位置等关键组件。操作分为转换(Transformations)与行动(Actions),提供丰富的API支持复杂数据处理。执行模型涵盖用户代码到分布式执行的全流程,通过DAG调度优化任务划分与资源分配。内存管理机制动态调整存储与执行内存,提升资源利用率。性能调优涉及资源配置、执行引擎优化及数据处理策略。Catalyst优化逻辑计划,Tungsten提高运行效率,而合理分区与缓解数据倾

2025-06-14 14:53:25 1190

原创 Apache Spark详解

Apache Spark 是一个开源、分布式计算引擎,专为大规模数据处理设计。它以高速、易用和通用为核心目标。通过内存计算、DAG 执行引擎和惰性求值等特性,大幅提升数据处理效率。其核心组件包括 Spark Core、Spark SQL、Spark Streaming、MLlib 和 GraphX,支持批处理、实时流处理、机器学习和图计算。Spark 提供统一编程模型,支持多语言(Scala/Java/Python/R),并拥有强大的 Catalyst 优化器和类型安全的 Dataset API,广泛应用于

2025-06-08 17:13:06 1456

原创 深入浅出Docker

Docker是一种基于容器技术的开源平台,用于自动化应用的部署、扩展和管理。其核心组件包括镜像(Image)、容器(Container)和仓库(Registry)。镜像是静态只读模板,采用分层存储结构;容器是镜像的运行实例,通过Linux Namespace和Cgroups实现隔离与资源限制;仓库用于集中存储和分发镜像。Docker支持数据持久化(Volumes)、多种网络配置(如Bridge、Host、Overlay等)以及高效的操作命令,帮助企业实现快速开发、测试和部署流程。

2025-06-07 16:22:58 1252

原创 分布式消息中间件设计与实现

本文深入探讨了消息中间件的核心功能实现与高并发、高可用设计。在生产者设计中,涵盖消息构造、序列化、路由策略及可靠性保障(如ACK机制)。消费者部分分析了拉取/推送模式、分区分配与消息确认机制。同时,Broker作为核心组件,负责消息路由、存储和投递,并通过索引技术实现快速检索。高并发设计方面,重点讨论了文件存储(顺序写入、分段存储)、日志结构存储及负载均衡策略(如哈希分区、轮询分区)。为确保高可用性,文章详细解析了主从复制、故障转移机制以及同城/异地多活容灾方案。

2025-05-25 18:33:41 971

原创 分布式消息中间件基础

消息中间件是一种基于异步消息传递的分布式系统通信工具,核心功能包括消息传输、存储、路由与投递,能够实现系统解耦、异步处理和流量削峰。其主要组件包括生产者、消费者、Broker、主题/队列等,支持点对点和发布-订阅两种消息模型。主流中间件如Kafka(高吞吐)、RabbitMQ(灵活路由)、RocketMQ(事务支持)各有特色,适用于不同场景。此外,中间件还涉及多种协议(AMQP、MQTT等)、可靠性传输机制(持久化、确认机制)、顺序性与重复性问题解决以及事务支持(两阶段提交、本地消息表等)。选择中间件需根据

2025-05-24 14:29:50 593

原创 Nginx配置与命令

Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。

2025-05-18 19:53:19 793

原创 Redis设计与实现——Redis命令参考与高级特性

Redis 是一个高性能的键值存储系统,支持丰富的数据类型(字符串、列表、哈希、集合等)和多种高级功能。本文档涵盖 Redis 的核心命令分类,包括数据类型操作、事务与脚本、持久化、集群管理、系统监控等。特别介绍了事务的原子性特性、Lua 脚本的执行方式及优势、排序机制、发布订阅模型以及慢查询日志和监视器工具的使用方法。适用于开发者快速掌握 Redis 常用命令及其应用场景,优化系统性能与可靠性。

2025-05-17 19:45:30 1234

原创 Redis设计与实现——分布式Redis

Redis Sentinel 和 Cluster 是 Redis 高可用与分布式架构的核心组件。Sentinel 提供主从故障检测与自动切换,通过主观/客观下线判断及 Raft 算法选举领导者完成故障转移,但存在数据一致性和复杂度问题。Cluster 支持数据分片和水平扩展,基于哈希槽分配数据,具备自动故障转移和节点发现机制,适合大规模高并发场景。复制机制包括全量同步和部分同步,通过复制积压缓冲区优化同步效率,但仍面临延迟和资源消耗挑战。两者各有优劣,需根据业务需求选择合适方案。

2025-05-17 14:38:50 1274

原创 Redis设计与实现——单机Redis实现

Redis 是一个高性能的键值存储系统,支持丰富的数据结构(字符串、列表、哈希等)。其核心由键空间、过期字典和阻塞/监控键组成,通过惰性删除与定期删除策略管理过期数据。持久化方面,Redis 提供 RDB 快照和 AOF 日志两种机制,分别适用于快速恢复和高数据安全性场景。RDB 以二进制格式保存数据库快照,AOF 则记录写操作命令并支持重写优化文件大小。此外,Redis 支持多数据库切换、内存淘汰策略(如 LRU)、慢查询日志等功能,满足不同业务需求。在生产环境中,推荐结合 RDB 和 AOF 的混合持

2025-05-11 14:37:26 1253

原创 Redis设计与实现——数据结构与对象

Redis 是一个高性能的键值存储系统,其数据结构设计精妙且高效。主要包括以下几种核心数据结构:SDS、链表、字典、跳跃表、整数集合、压缩列表。此外,Redis 对象通过类型和编码方式动态转换,优化内存使用,并支持引用计数、共享对象和淘汰策略(如 LRU/LFU)。这些特性共同确保 Redis 在性能与灵活性之间的平衡。

2025-05-11 11:39:17 877

原创 Spring MVC设计与实现

DispatcherServlet 是 Spring MVC 的核心组件,负责请求的分发与处理。其初始化阶段包括加载 WebApplicationContext、配置策略组件(如 HandlerMapping、HandlerAdapter、ViewResolver 等)。请求处理时,通过 HandlerMapping 匹配处理器,HandlerAdapter 执行具体逻辑,并由 ViewResolver 完成视图解析与渲染。此外,参数绑定、数据转换及异常处理机制确保了灵活且强大的请求处理能力。

2025-05-04 16:59:08 1297

原创 Spring AOP实现原理

本内容主要介绍了Spring AOP的核心概念、实现机制及代理生成流程。涵盖切面(Aspect)、连接点(Join Point)、通知(Advice)、切点(Pointcut)等关键概念,解析了JDK动态代理与CGLIB代理的原理及对比,并深入探讨了通知执行链路和责任链模式的应用。同时,详细分析了AspectJ注解驱动的AOP解析过程,包括切面识别、切点表达式匹配及通知适配为Advice的机制,帮助理解Spring AOP的工作原理与实现细节。

2025-05-02 15:02:33 973

原创 Spring IoC容器的设计与实现

Spring 是一个功能强大且模块化的 Java 开发框架,其核心架构围绕 IoC 容器、AOP、数据访问与集成、Web 层支持等展开。其中,`BeanFactory` 和 `ApplicationContext` 是 Spring 容器的核心组件,分别定位为基础容器和高级容器,前者提供轻量级的 Bean 管理,后者扩展了事件发布、国际化等功能。

2025-05-01 21:54:43 904

原创 ClickHouse查询执行与优化

本文详细介绍了SQL语法扩展、执行计划分析及优化策略,涵盖特殊函数与子句(如`WITH`、`ANY JOIN`)、聚合函数扩展(如`uniqCombined`、`quantileTDigest`)以及执行计划优化技巧。同时深入解析了ClickHouse的索引原理,包括主键索引和跳数索引的工作机制与优化方法。针对查询优化,文章提供了过滤条件下推、分布式查询优化和数据预聚合等策略,并探讨了资源管理与并发控制的核心参数(如`max_memory_usage`、`max_threads`)及队列优先级调度机制,助力

2025-04-26 15:28:49 1346

原创 ClickHouse核心架构设计

本文深入解析了列式存储、数据压缩、向量化执行引擎、分布式计算模型及MergeTree引擎的底层原理。首先对比列式与行式存储,阐述列式存储在减少I/O、高效压缩及向量化处理方面的优势;接着分析常用压缩算法(如LZ4、ZSTD)及其优化策略。随后探讨向量化执行引擎的工作机制,包括数据块结构、SIMD指令加速及零拷贝技术,显著提升OLAP查询性能。分布式计算部分详解分片与副本机制,确保高可用与扩展性。最后聚焦MergeTree引擎,涵盖数据写入、合并、主键索引、跳数索引及分区管理等核心功能,并提供最佳实践建议。

2025-04-20 18:38:34 1583

原创 ClickHouse简介

ClickHouse是一款专注于OLAP(联机分析处理)的列式存储数据库,以其极致的查询性能、高压缩率和实时分析能力著称。它通过列式存储、向量化查询引擎及分布式架构,满足大规模数据复杂聚合需求,适用于实时日志分析、用户行为分析等场景。然而,ClickHouse不支持事务(ACID),JOIN性能较弱,且对单行更新/删除效率低,不适合OLTP场景。其丰富的表引擎(如MergeTree系列)和数据类型(如LowCardinality优化类型)为不同业务需求提供了灵活支持。

2025-04-20 18:01:26 1357

原创 凤凰架构-数据管理与存储

任何读操作都能读到最新写入的数据,所有节点数据实时一致。

2025-04-20 11:26:15 904

原创 微服务治理与可观测性

系统运行时生成的文本记录,包含时间戳、事件描述和上下文信息。

2025-04-19 20:22:16 950

原创 分布式系统核心原理

如用户会话管理、新闻Feed流,使用最终一致性(如Redis跨机房异步复制)。:如订单支付、库存扣减,使用分布式事务(如Seata的AT模式)或同步复制。:不同子系统采用不同CAP策略。

2025-04-19 15:07:03 1100

原创 微服务与事件驱动架构(EDA)

根据业务领域划分服务边界(如“订单上下文”与“支付上下文”),避免模型混杂。:当服务失败率超过阈值时,快速失败(如Hystrix、Sentinel)。:系统中发生的状态变化或业务动作的描述(如“订单已创建”“库存已扣减”)。:服务消费者通过注册中心(如Eureka、Consul)获取服务实例列表。:动态管理服务配置(如Apollo、Nacos),支持灰度发布和实时生效。:解耦服务,实现最终一致性(如订单创建后发送事件通知库存服务)。:接收HTTP请求,区分命令(POST/PUT)与查询(GET)。

2025-04-19 12:08:16 1204

原创 Docker + Kubernetes(k8s) + Serverless详解

用户对存储资源的请求(如“需要10GiB SSD存储”),由K8s动态绑定PV。:通过Sidecar代理(Envoy)实现流量管理、熔断限流、分布式追踪。:根据CPU、内存或自定义指标(如QPS)动态调整Pod副本数。:确保Pod副本数与声明一致(如扩缩容、滚动更新)。:大规模容器集群的管理(调度、网络、存储、自愈)。:限制Pod只能在特定节点运行(如GPU节点)。:集群级别的存储资源抽象(如NFS卷、云存储)。:加密存储敏感数据(如数据库密码、TLS证书)。:存储非敏感配置(如环境变量、配置文件)。

2025-04-14 09:00:00 952 1

原创 数据中台架构与技术体系

数据采集层数据源类型:业务系统(ERP、CRM)、日志、IoT设备、第三方API等。采集方式:数据缓冲与预处理:使用消息队列(如Kafka)作为缓冲区,应对数据流量峰值。数据存储层数据湖(Data Lake) :存储原始数据(结构化、半结构化、非结构化),支持低成本、高扩展性(HDFS、阿里云OSS)。数据仓库(Data Warehouse) :存储清洗后的结构化数据,面向主题建模(Hive、ClickHouse、Snowflake)。融合架构(LakeHouse) :结合数据湖与数据仓库优势(湖仓一体),

2025-04-13 14:46:30 2471

原创 Java并发编程实战-多线程任务执行

作用:尝试取消任务的执行。参数表示是否允许中断正在执行任务的线程。返回值true:任务成功取消(任务未启动或已启动且允许中断)。false:任务已结束或无法取消。cancel()

2025-04-13 11:52:23 522

原创 Java并发并发编程实战-并发容器和同步工具类

主线程等待所有子任务完成;多线程等待同一事件触发(如模拟并发测试):限流(如数据库连接池);实现互斥锁(许可证为1的信号量))减少线程饥饿,但降低吞吐量;非公平锁(默认)反之。多线程数据合并(如分布式计算)

2025-04-13 11:45:07 715

原创 数据密集型应用系统设计-流处理系统架构与优化

Chandy-Lamport算法(Flink使用)确保全局一致性。:执行实时计算逻辑,包括过滤、转换、聚合、关联、排序等。2.数据源重置到对应位置(如Kafka偏移量回滚)。:仅保存状态变化(如RocksDB的SST文件)。:持久化计算过程中的中间状态,支持容错与恢复。:定期保存完整状态(适用于小状态)。:滚动窗口、滑动窗口、会话窗口。1.从最近检查点恢复任务状态。3.重新处理检查点后的数据。

2025-04-12 16:37:45 715 2

原创 数据密集型应用系统设计-批处理系统&流批一体

支持批处理(Spark Core)、流处理(Spark Streaming)、机器学习(MLlib)。:将输入数据拆分为多个分片(Split),并行处理生成中间键值对(Key-Value Pairs)。:隐式阶段,负责将 Map 输出排序、分组并传输到 Reduce 节点。已完成的 Map 任务需重新执行(因中间结果存储在失败节点的本地磁盘)。:通过心跳检测(Heartbeat)发现宕机节点,重新分配其任务。:对中间结果按 Key 分组,进行聚合或转换,输出最终结果。:按时间或哈希分区,加速过滤和聚合。

2025-04-12 14:18:31 711

原创 深入理解Java虚拟机-线程安全与锁优化

深入理解Java虚拟机-线程安全与锁优化

2025-04-12 11:36:27 249

原创 深入理解Java虚拟机-JAVA内存模型(JMM)

深入理解Java虚拟机-JAVA内存模型与线程

2025-04-12 11:31:28 578

原创 设计模式之美

工厂模式(Factory):通过工厂类统一创建对象,隐藏实例化细节单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点建造者模式(Builder):分步骤构建复杂对象,分离构造过程与表示原型模式(Prototype):通过克隆已有对象创建新对象,避免重复初始化定义:提供一个接口,用于创建相关或依赖对象的家族,而无需指定具体类工厂方法:针对单一产品等级结构抽象工厂:针对多个产品等级结构(如UI库中的按钮、文本框、滚动条等)应用场景:跨平台UI库(保证同一家族的控件风格一致);

2025-04-04 16:48:33 790

原创 深入理解Java虚拟机-类加载机制

阶段输入输出核心操作加载.class文件Class对象查找字节码,生成内存结构验证字节码合法字节码检查格式、元数据、字节码逻辑准备静态变量符号引用静态变量内存分配(零值)分配内存,设置默认值解析符号引用直接引用绑定类、字段、方法的内存地址初始化静态变量和代码块类完全可用执行<clinit>(),赋真实值,执行静态代码块继承:重写方法加载字节码:从自定义路径(如网络、加密文件)读取字节码定义类:调用生成Class对象使用场景。

2025-04-04 14:24:54 789

原创 深入理解Java虚拟机-垃圾收集器与内存分配策略

内存分区:将堆划分为多个等大的Region(1MB~32MB),每个Region可属于Eden、Survivor、Old或Humongous(大对象区)并发标记(Concurrent Mark):遍历对象图,标记可达对象(与用户线程并发)适用场景:大内存(6GB以上)、多核CPU,需平衡吞吐量与延迟(如大数据平台)并发清除(Concurrent Sweep):回收垃圾对象(与用户线程并发)老年代(Parallel Old):多线程标记-整理算法。重新标记(Remark):修正并发标记期间的变化(STW)

2025-04-04 11:02:06 974

原创 深入理解Java虚拟机-Java内存区域与内存溢出异常

设置对象头:Mark Word(哈希码、GC分代年龄、锁状态) + Klass Pointer(元数据) + 数组长度(仅限数组)存储方法调用的栈帧(Stack Frame),每个方法调用对应一个栈帧,包含局部变量表、操作数栈、动态链接等。逃逸分析(Escape Analysis):分析对象的作用域是否仅限于方法内部(不逃逸、方法逃逸、线程逃逸)若未加载,则执行类加载过程(加载、验证、准备、解析、初始化)对象头:Mark Word(8B) + Klass Pointer(4B/8B) + 数组长度(4B)

2025-04-04 10:35:00 823

app_tk.pyw

app_tk.pyw

2022-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除