- 博客(10)
- 收藏
- 关注
原创 Netty框架及主要特性浅析
根据官方定义:Netty 是一款异步、事件驱动的网络应用程序框架,支持快速地开发可维护、高性能、面向协议的服务器和客户端。接下来我们由最基础概念逐渐深入到Netty功能特性。IO模型 1)BIO:同步阻塞IO 每建立一个连接需要创建一个线程,用户线程通过系统调用read向Socket发起IO读操作(用户空间转到内核空间),内核等到数据包到达后将数据拷贝到用户空间的buffer,完成read操作。整个IO读取过程中用户线程是被阻塞的。...
2021-07-19 17:34:18
209
原创 ClickHouse表引擎
经常使用MySQL,应该知道InnoDB和MyISAM存储引擎,不同的引擎提供了不同的功能特性。而ClickHouse提供了丰富的表引擎,不同的引擎代表了对数据的不同加载和存储等方式。下面按照不同的分类进行介绍。日志具有最小功能的轻量级引擎。当需要快速写入许多小表(最多约100万行)并在以后整体读取它们时,该类型的引擎是最有效的。主要共性有:数据存储在磁盘,不支持索引,不支持原子写,不支持alter操作等。详情如下图:MergeTree适...
2021-07-17 17:27:56
146
原创 MapReduce工作流
如图,在MapReduce阶段,工作流程包括:数据输入分片、Map、Combiner(可选)、Shuffle、Reduce。数据分片 在文件输入Map之前,需要进行数据分片,每一个InputSplit对应一个Mapper,其中分片信息是由List<InputSplit>存储的,包含数据路径、开始地址、长度、host。分片大小一般和HDFS块大小等同,主要是根据max(blockSize, min(minSize, maxSize))计算得到;其中blo...
2021-07-16 20:14:27
185
2
原创 Kafka组件
Kakfka是高吞吐量的分布式发布订阅消息系统。具备高吞吐、持久化、分布式等优秀特性。下面我们先根据下图对Kafka系统中的组件逐一介绍,再结合组件阐述其工作过程,以及各类特性实现。Kafka系统组件 1)Producer:生产者,数据的发布者,将消息发布到Kafka的topic中。 2)Broker:服务器节点被称为Broker,每个服务器上有一个或多个kafka的实例。 3)Topic:每条发布到Kafka集群的消息都有一个...
2021-07-15 16:06:00
1545
原创 JVM架构&GC基础
JVM 是java虚拟机,是用来执行java字节码(二进制的形式)的虚拟计算机。Java能够被称为“一次编译,到处运行”的原因就是Java屏蔽了很多的操作系统平台相关信息,使得Java只需要生成在JVM虚拟机运行的字节码,就可以在多种平台运行。下面我们以JVM架构图为基础,对类加载子系统、运行时区、执行引擎三个模块逐一介绍。类加载子系统--类的生命周期 一个类的生命周期是加载->连接(验证->准备->解析)->初始化(至此阶段为类的加载过...
2021-07-13 17:02:11
144
原创 HBase系统架构解析
HBase是一种分布式的、面向列的开源NoSQL数据库。根据官方的说明,其更像是一个数据存储而非数据库,因为其缺失很多数据库的特性。但是其自身又有区别于传统数据库的强大特性,如: 强一致性读写,很适合高速计数聚合类任务; HBase 表通过region被分发在集群中。并且随着数据增长,region会自动切分和重新分发; RegionServer自动故障转移; 支持HDFS作为它的分布式文件系统; 通过MapReduce支持大规模并行处理,并且HB...
2021-07-12 19:32:46
1129
原创 数据治理浅析
数据治理是一个宏观的概念,各种标准范围也是迥然不同。但是随着业务的发展,数据也在快速膨胀,对数据体系也造成了一定的腐化,并且进一步影响了的整个开发效率,甚至会影响公司的战略决策。那么如何数据治理?数据治理的目标 百度百科给出的是“数据治理的最终目标是提升数据的价值”,貌似有点形而上。我认为治理的目标是实现管理,治理只是一个过程,管理才是要达到的一种状态。围绕治理提出的是手段,围绕管理确定的是规范。数据治理的策略 千里之行始于足下。数据...
2021-07-11 16:22:40
810
原创 PostgreSQL-Vacuum
Postgresql表中隐藏字段 -oid: 行的对象标识符,创建表的时候使用了with oid,或者是设置了default_with_oids 配置参数时出现; -tableoid:包含本行的表的 OID。 -xmin:插入该行版本的事务的标识(事务 ID); -xmax:删除事务的标识(事务ID),如果不是被删除的行版本,那么是零; -cmin:插入事务内部的命令标识,从0开始; -cmax:删除...
2021-07-10 16:07:01
719
原创 数据仓库-建模
范式模型数仓之父 Inmon 所倡导的,从全企业的高度设计一个 3NF 模型,用实体关系(Entity Relationship)模型来描述企业业务,满足 3NF。这种模型实施周期非常长,一致性和扩展性比较好,能经得起时间的考验。但是随着企业数据的高速增长、复杂化,这个模型便因为复杂性和变化性无法很好的适应。该模型最典型的应用时基于金融业务发布的 FS-LDM (Financial Services Logical Data Model ),它通过对金融业务的高度抽象和总结,将金...
2021-07-10 11:43:40
159
原创 Hive优化策略
SQL级别优化--列、分区裁剪 查询过程中减少不必要的分区和列的查询。--NULL处理 如无需对应字段可以在语句中直接过滤;如需要可以提前筛选出来Union all关联输出,或者赋予新值(测试结果显示更优于前者)。--不同类型字段关联 会导致按照数据类型分配Reducer,导致数据倾斜,此处需要转化为同一类型。--Join操作 大&小表:小表在左(会被先加载),大表在右。新版Hive已经处理了这个问题,会自动优化...
2021-07-09 19:47:12
140
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人