ClickHouse原理解析与应用实践

ClickHouse原理解析与应用实践

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本系统介绍Clickhouse的指导型工具书。

内容简介

本书是一本系统介绍Clickhouse的指导型工具书,全书总共分为11章:第1章介绍ClickHouse的由来、发展历程、核心特点与核心特点。第2~6章介绍了ClickHouse基础使用部分,包括整体架构、如何安装、数据定义、数据引擎、数据查询和函数的特性和使用方法。第7~9章介绍了ClickHouse高级特性部分,包括数据库管理操作,数据分片、数据副本和高可用的特性和使用方法。第10~11章介绍了如果自己手动实现ClickHouse中间件的思路和示例,同时也介绍了几款可视化工具与ClickHouse集成的方法。

作者简介

作者朱凯,ClickHouse贡献者之一,ClickHouse布道者,资深架构师,腾讯云最具价值专家TVP,开源爱好者,Apache DolphinScheduler Committer,《企业级大数据平台构建:架构与实现》作者,公众号“ClickHouse的秘密基地”运营者。十多年IT从业经验,对大数据领域主流技术与解决方案有深入研究,擅长分布式系统的架构设计与整合。曾主导过多款大数据平台级产品的规划、设计与研发工作,一线实战经验丰富。现就职于远光软件股份有限公司,任大数据事业部平台开发部总经理。

章节目录

版权信息

推荐序一

推荐序二

推荐序三

推荐序四

推荐序五

赞誉

前言

第1章 ClickHouse的前世今生

1.1 传统BI系统之殇

1.2 现代BI系统的新思潮

1.3 OLAP常见架构分类

1.4 OLAP实现技术的演进

1.5 一匹横空出世的黑马

1.5.1 天下武功唯快不破

1.5.2 社区活跃

1.6 ClickHouse的发展历程

1.6.1 顺理成章的MySQL时期

1.6.2 另辟蹊径的Metrage时期

1.6.3 自我突破的OLAPServer时期

1.6.4 水到渠成的ClickHouse时代

1.7 ClickHouse的名称含义

1.8 ClickHouse适用的场景

1.9 ClickHouse不适用的场景

1.10 有谁在使用ClickHouse

1.11 本章小结

第2章 ClickHouse架构概述

2.1 ClickHouse的核心特性

2.1.1 完备的DBMS功能

2.1.2 列式存储与数据压缩

2.1.3 向量化执行引擎

2.1.4 关系模型与SQL查询

2.1.5 多样化的表引擎

2.1.6 多线程与分布式

2.1.7 多主架构

2.1.8 在线查询

2.1.9 数据分片与分布式查询

2.2 ClickHouse的架构设计

2.2.1 Column与Field

2.2.2 DataType

2.2.3 Block与Block流

2.2.4 Table

2.2.5 Parser与Interpreter

2.2.6 Functions与Aggregate Functions

2.2.7 Cluster与Replication

2.3 ClickHouse为何如此之快

2.3.1 着眼硬件,先想后做

2.3.2 算法在前,抽象在后

2.3.3 勇于尝鲜,不行就换

2.3.4 特定场景,特殊优化

2.3.5 持续测试,持续改进

2.4 本章小结

第3章 安装与部署

3.1 ClickHouse的安装过程

3.1.1 环境准备

3.1.2 安装ClickHouse

3.2 客户端的访问接口

3.2.1 CLI

3.2.2 JDBC

3.3 内置的实用工具

3.3.1 clickhouse-local

3.3.2 clickhouse-benchmark

3.4 本章小结

第4章 数据定义

4.1 ClickHouse的数据类型

4.1.1 基础类型

4.1.2 复合类型

4.1.3 特殊类型

4.2 如何定义数据表

4.2.1 数据库

4.2.2 数据表

4.2.3 默认值表达式

4.2.4 临时表

4.2.5 分区表

4.2.6 视图

4.3 数据表的基本操作

4.3.1 追加新字段

4.3.2 修改数据类型

4.3.3 修改备注

4.3.4 删除已有字段

4.3.5 移动数据表

4.3.6 清空数据表

4.4 数据分区的基本操作

4.4.1 查询分区信息

4.4.2 删除指定分区

4.4.3 复制分区数据

4.4.4 重置分区数据

4.4.5 卸载与装载分区

4.4.6 备份与还原分区

4.5 分布式DDL执行

4.6 数据的写入

4.7 数据的删除与修改

4.8 本章小结

第5章 数据字典

5.1 内置字典

5.1.1 内置字典配置说明

5.1.2 使用内置字典

5.2 外部扩展字典

5.2.1 准备字典数据

5.2.2 扩展字典配置文件的元素组成

5.2.3 扩展字典的数据结构

5.2.4 扩展字典的类型

5.2.5 扩展字典的数据源

5.2.6 扩展字典的数据更新策略

5.2.7 扩展字典的基本操作

5.3 本章小结

第6章 MergeTree原理解析

6.1 MergeTree的创建方式与存储结构

6.1.1 MergeTree的创建方式

6.1.2 MergeTree的存储结构

6.2 数据分区

6.2.1 数据的分区规则

6.2.2 分区目录的命名规则

6.2.3 分区目录的合并过程

6.3 一级索引

6.3.1 稀疏索引

6.3.2 索引粒度

6.3.3 索引数据的生成规则

6.3.4 索引的查询过程

6.4 二级索引

6.4.1 granularity与index_granularity的关系

6.4.2 跳数索引的类型

6.5 数据存储

6.5.1 各列独立存储

6.5.2 压缩数据块

6.6 数据标记

6.6.1 数据标记的生成规则

6.6.2 数据标记的工作方式

6.7 对于分区、索引、标记和压缩数据的协同总结

6.7.1 写入过程

6.7.2 查询过程

6.7.3 数据标记与压缩数据块的对应关系

6.8 本章小结

第7章 MergeTree系列表引擎

7.1 MergeTree

7.1.1 数据TTL

7.1.2 多路径存储策略

7.2 ReplacingMergeTree

7.3 SummingMergeTree

7.4 AggregatingMergeTree

7.5 CollapsingMergeTree

7.6 VersionedCollapsingMergeTree

7.7 各种MergeTree之间的关系总结

7.7.1 继承关系

7.7.2 组合关系

7.8 本章小结

第8章 其他常见类型表引擎

8.1 外部存储类型

8.1.1 HDFS

8.1.2 MySQL

8.1.3 JDBC

8.1.4 Kafka

8.1.5 File

8.2 内存类型

8.2.1 Memory

8.2.2 Set

8.2.3 Join

8.2.4 Buffer

8.3 日志类型

8.3.1 TinyLog

8.3.2 StripeLog

8.3.3 Log

8.4 接口类型

8.4.1 Merge

8.4.2 Dictionary

8.4.3 Distributed

8.5 其他类型

8.5.1 Live View

8.5.2 Null

8.5.3 URL

8.6 本章小结

第9章 数据查询

9.1 WITH子句

9.2 FROM子句

9.3 SAMPLE子句

9.4 ARRAY JOIN子句

9.5 JOIN子句

9.5.1 连接精度

9.5.2 连接类型

9.5.3 多表连接

9.5.4 注意事项

9.6 WHERE与PREWHERE子句

9.7 GROUP BY子句

9.7.1 WITH ROLLUP

9.7.2 WITH CUBE

9.7.3 WITH TOTALS

9.8 HAVING子句

9.9 ORDER BY子句

9.10 LIMIT BY子句

9.11 LIMIT子句

9.12 SELECT子句

9.13 DISTINCT子句

9.14 UNION ALL子句

9.15 查看SQL执行计划

9.16 本章小结

第10章 副本与分片

10.1 概述

10.2 数据副本

10.2.1 副本的特点

10.2.2 ZooKeeper的配置方式

10.2.3 副本的定义形式

10.3 ReplicatedMergeTree原理解析

10.3.1 数据结构

10.3.2 副本协同的核心流程

10.4 数据分片

10.4.1 集群的配置方式

10.4.2 基于集群实现分布式DDL

10.5 Distributed原理解析

10.5.1 定义形式

10.5.2 查询的分类

10.5.3 分片规则

10.5.4 分布式写入的核心流程

10.5.5 分布式查询的核心流程

10.6 本章小结

第11章 管理与运维

11.1 用户配置

11.1.1 用户profile

11.1.2 配置约束

11.1.3 用户定义

11.2 权限管理

11.2.1 访问权限

11.2.2 查询权限

11.2.3 数据行级权限

11.3 熔断机制

11.4 数据备份

11.4.1 导出文件备份

11.4.2 通过快照表备份

11.4.3 按分区备份

11.5 服务监控

11.5.1 系统表

11.5.2 查询日志

11.6 本章小结

ClickHouse原理解析与应用实践是2020年由机械工业出版社出版,作者朱凯。

得书感谢您对《ClickHouse原理解析与应用实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
联邦学习:原理与算法 电子书
人工智能机器学习教程书籍,平安科技联邦学习团队执笔,由浅入深介绍联邦机器学习的算法体系,注重工程实践,保证理论前沿性。
说服力 电子书
提升PPT演示能力,打造专业漂亮的PPT。
Spark海量数据处理:技术详解与平台实战 电子书
在数字经济时代,数据是重要的资源要素;同时,新的数据又在源源不断地产生,企业面临的一个基本问题就是如何管理和利用这些数据,这对传统的数据处理方法与分析框架提出了新的诉求和挑战,也是全球业界与学界为关心的问题。为了满足大数据时代对信息的快速处理的需求,一个分布式的开源计算框架Apache Spark应运而生。经过十年的发展,Spark已经成为目前大数据处理的标杆,在整个业界得到了广泛的使用。对大数据工程师来说,用Spark构建数据管道无疑是很好的选择,而对数据科学家来说,Spark也是高效的数据探索工具。 本书基于Spark发行版2.4.4写作而成,包含大量的实例与一个完整项目,技术理论与实战相结合,层次分明,循序渐进。本书不仅介绍了如何开发Spark应用的基础内容,包括Spark架构、Spark编程、SparkSQL、Spark调优等,还探讨了Structured Streaming、Spark机器学习、Spark图挖掘、Spark深度学习、Alluxio系统等高级主题,同时完整实现了一个企业背景调查系统,借鉴了数据湖与Lambda架构的思想,涵盖了批处理、流处理应用开发,并加入了一些开源组件来满足业务需求。学习该系统可以使读者从实战中巩固所学,并将技术理论与应用实战融会贯通。 本书适合准备学习Spark的开发人员和数据分析师,以及准备将Spark应用到实际项目中的开发人员和管理人员阅读,也适合计算机相关专业的高年级本科生和研究生学习和参考,对于具有一定的Spark使用经验并想进一步提升的数据科学从业者也是很好的参考资料。
PowerBI零售数据分析实战 电子书
一本讲解如何将Power BI应用于零售业务领域的实战指南。
MySQL数据库基础与实践 电子书
本书从实用的角度出发,全面讲解MySQL数据库技术。