正版保障 假一赔十 可开发票
¥ 77.54 5.6折 ¥ 139 全新
库存11件
作者陈光剑 著
出版社机械工业出版社
ISBN9787111727170
出版时间2023-06
装帧平装
开本16开
定价139元
货号29587650
上书时间2024-11-03
为何写作本书
ClickHouse在2016年发布了开源版本。自开源以来,社区一直保持着很高的活跃度,开发者与用户遍布全球各地。目前,ClickHouse是大数据实时分析领域的主流选择之一。ClickHouse的目标是向人们提供世界上快的分析型数据库。在各种OLAP查询引擎评测中,ClickHouse的查询性能横扫各大OLAP数据库引擎,尤其是Ad Hoc即席查询性能,一直遥遥领先。因此,ClickHouse被广泛应用于即席查询业务场景中。
在学习和使用ClickHouse的过程中,我发现我越来越喜欢ClickHouse,它的设计思想非常优秀,代码和架构都值得深入研究。ClickHouse团队精益求精的精神更值得我们每个人学习。虽然要快速迭代ClickHouse,但是ClickHouse团队依然不会放低要求,比如为了使用1个算法,会至少尝试10个算法,而且在选择了某个算法后,后续还会继续尝试其他更多算法,以便下次迭代时使用。正是由于这种精益求精、追求极致的态度,才有了ClickHouse的极致性能。感谢ClickHouse团队!
本书可以说是我对ClickHouse项目实践和学习思考过程的粗浅总结。我希望把这些学习经验和总结,分享给更多需要使用ClickHouse来解决实际业务问题的朋友们。同时,通过写作,我加深了对 ClickHouse功能特性和架构实现原理的理解,也深刻体会到了学无止境的含义。写书的过程也是我系统学习与思考ClickHouse的过程,如果这本书能够对你有所帮助或者启发,我将不胜欣慰。
本书主要特点
本书图文并茂、由浅入深地介绍了ClickHouse的前世今生、业界使用生态、基础知识和实现原理的诸多细节,以及ClickHouse在企业级大数据分析业务中的项目实战。本书非常注重实用性,给出了大量的操作实例和项目实战案例。
通过阅读这本书,你将理解ClickHouse是如何运行的,同时,你将掌握如何在实际业务项目中使用ClickHouse解决大数据实时分析问题。阅读本书,你将体验一场充实、惊奇的企业级大数据分析引擎设计与开发实战之旅。赶快开启旅程吧!
本书读者对象
本书是一本从入门到实战再到进阶,全方位介绍ClickHouse开发的专业技术书,适合的读者对象主要为:
计算机、大数据、人工智能等相关专业的师生;
对企业数字化、大数据OLAP分析引擎、数据库等领域感兴趣的初学者;
大数据从业者、BI工程师、数据分析师、程序员等。
如何阅读本书
本书共10章。我希望通过简练清晰的表述和丰富实用的实例说明,细致全面地讲清楚ClickHouse的基础知识和丰富的功能特性,以及如何使用ClickHouse进行实际业务项目的开发实战。通过本书,你将学会如何在几分钟内安装好ClickHouse环境并开始使用。然后,你将学习如何使用ClickHouse的更多功能,如基本数据类型、函数、SQL语法、稀疏索引、不同的表引擎、数据副本与分片、分布式库表管理查询和集群运维监控等。
本书整体上是按照由基础知识到实现原理再到项目实战的写作思路,循序渐进地铺展开的。如果你对ClickHouse已经有一定了解,需要进行实际的项目实践,可以直接阅读第7~ 10章。如果你对ClickHouse还不是很了解,那么建议你按照本书的章节顺序阅读。
各章的主要内容如下。
第1章带领读者快速进入ClickHouse的世界,让读者全面了解ClickHouse的前世今生和核心特性。主要内容包括ClickHouse是什么,具有哪些特性,适合哪些应用场景等。通过该章,你将掌握ClickHouse 的核心特性,了解列存储、数据压缩、稀疏索引等存储层设计原理,以及MPP 架构、向量化查询执行引擎、动态代码生成等计算层的主要设计思想与原理。
第2章将走进 ClickHouse世界,进行具体操作实践,包括安装、部署、系统配置、客户端连接、ClickHouse基础命令行操作等。
第3章介绍ClickHouse基础数据类型,包括数值类型、字符串类型和时间类型等基本内容,以及这些基础数据类型的常用函数操作。
第4章介绍 ClickHouse 高级数据类型,主要包括数组、元组和嵌套等复合数据类型。另外,还介绍了如何使用聚合函数类型动态自定义类型,比如说 Bitmap 类型等。
第5章介绍 ClickHouse 函数,主要包括算术函数、数组函数、字符串函数、条件函数、时间函数、数学函数、聚合函数、窗口函数、空值函数和常用算子等。
第6章介绍 ClickHouse SQL基础和查询配置等相关内容,主要包括使用 SQL 来创建数据库、表、视图,新增数据库用户账户、角色等,并进行库表权限管理;同时,介绍了如何向 ClickHouse 表中插入数据,并对表中的数据进行查询,以及各种SQL查询子句的用法;后,介绍了如何通过EXPLAIN语句查看SQL执行计划以及执行流程。
第7章介绍如何使用 Spring Boot 来连接 ClickHouse服务器,一步步实现前后端的开发和集成测试的全过程。
第8章介绍如何使用 ClickHouse的 Bitmap 高级数据类型来实现超大规模数据场景(千亿、万亿级)用户画像标签圈人和人群画像洞察。主要内容包括DMP的基本概念、事实、维度、指标与标签的基本知识,如何使用 ClickHouse Bitmap实现支持任意维度标签组合的人群圈选,以及具体实现原理和圈选洞察SQL实例。
第9章以清晰、详细的步骤展示如何创建具有多个节点的 ClickHouse 集群;同时,介绍如何在 ClickHouse 集群上创建分布式数据库、分布式表和本地表,以及数据的读写操作方法和原理;后,重点讲解ClickHouse集群分片与副本的工作原理及分布式查询等内容。
第10章介绍如何从0到1使用Docker安装和配置Grafana、clickhouse-exporter与Prometheus,并搭建一个ClickHouse集群监控平台;同时,还介绍了如何自定义指标面板以及集群常用监控指标等实用内容。
勘误
虽然在本书写作过程中我尽力追求简洁正确、清晰流畅地表达内容,但限于自身水平,可能仍有错误与疏漏之处,还望各位读者不吝指正。你可以在https://github.com/ClickHouse-InAction/book_issues/issues提Issue,我将在线上为你提供解答。
关于本书的任何问题、意见或者建议,你都可以通过邮件 universsky@163.com 与我交流。
致谢
在本书的写作和出版过程中,我得到了很多人的帮助和陪伴。
首先感谢我的妻子和两个可爱的孩子。正是有了你们的陪伴,我的工作和生活才更加有意义。我还要感谢我的父母。虽然你们可能不知道我写的是什么,但是正是有了你们的辛勤养育,我才能长成今天的我。
我衷心地感谢本书的编辑杨福川老师和李艺老师。在本书的写作过程中,你们耐心细致地对稿件进行了详尽、细致的审阅和批注,提出了很多宝贵的修改建议,也给予了我极大的鼓励,才让我终完成了这本书。同时,我还要感谢本书出版过程中所有付出辛勤劳动的机械工业出版社的工作人员。
在此,我还要特别感谢朱金清、刘兵兵、肖玉哲、张小侠、刘杰、罗光、郭宇、梁莹莹、彭家学等亲爱的同事们和朋友们(还有很多,在此就不一一列出了),非常感谢你们能够抽出宝贵时间审阅本书,同时给出了本书内容的勘误,倾情为本书写了推荐语。能与你们成为同事和朋友,是我莫大的荣幸。
感谢在工作学习旅程中认识的所有师长、前辈、朋友和同事,能够认识你们并与你们一起学习、共事,是我的荣幸。
快乐生活,快乐学习,快乐分享,快乐实践,知行合一。
后,祝大家阅读愉快!
陈光剑
2023年4月于杭州
本书是ClickHouse领域的集大成之作,从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,表述简练清晰、案例丰富实用,既可以作为入门的标准参考书,又适合作为案头速查手册。书中内容是作者在阿里巴巴、字节跳动多年实战经验的总结,得到了字节跳动和阿里巴巴9位大数据专家的高度评价。
全书共10章,主要内容如下:
第1~3章整体介绍ClickHouse概念、特性、应用场景、技术生态、快速入门和基础数据类型等基础内容,目的是从本质上揭开ClickHouse高性能背后的秘密,帮助读者快速上手实践。
第4~6章重点讲解ClickHouse的高级数据类型、函数和SQL查询语法与配置实践等进阶内容,通过该部分内容的阅读和学习,你将全面掌握ClickHouse核心功能的使用方法和技巧。
第7~10章从企业级项目实战的角度出发,详细解析ClickHouse在实际业务项目中的使用,主要包括基于Spring Boot开发ClickHouse SQL查询工具、基于ClickHouse Bitmap实现DMP用户画像标签圈选人、基于ZooKeeper搭建ClickHouse分布式集群、基于Grafana搭建ClickHouse集群监监控平台等相关内容。通过该部分内容的阅读学习,你将掌握ClickHouse企业级项目实战开发的方方面面。
本书非常注重实用性和实战性,不仅在各个知识点都辅有大量的实际案例、图表说明和小贴士,而且还有多个综合性的项目案例贯穿全书。
目 录
赞 誉
前 言
第1章 全面了解ClickHouse 1
1.1 ClickHouse概述 1
1.2 ClickHouse特性 6
1.2.1 深度列存储 7
1.2.2 向量化查询执行引擎 12
1.2.3 数据压缩 18
1.2.4 使用磁盘 19
1.2.5 支持SQL 19
1.2.6 实时数据更新 20
1.2.7 稀疏索引 20
1.2.8 运行时代码生成 21
1.2.9 支持近似计算 22
1.2.10 数据TTL 22
1.2.11 高吞吐写入能力 22
1.2.12 多核心并行计算 22
1.2.13 多服务器分布式计算 22
1.2.14 分布式 MPP 计算架构 23
1.2.15 分片和副本 26
1.2.16 完整的DBMS能力 26
1.2.17 自适应连接算法 28
1.2.18 数据复制和数据完整性 28
1.2.19 提供复合数据类型和丰富的
函数库 28
1.3 ClickHouse应用场景 28
1.3.1 典型应用场景 28
1.3.2 通用解决方案 29
1.4 ClickHouse技术生态 29
1.4.1 ClickHouse用户都有哪些 29
1.4.2 ClickHouse的优点 36
1.4.3 ClickHouse的缺点 37
1.4.4 ClickHouse未来展望 37
1.5 本章小结 37
第2章 ClickHouse 快速入门 38
2.1 安装与运行ClickHouse 38
2.1.1 在macOS系统中安装
ClickHouse 39
2.1.2 在Linux系统中安装
ClickHouse 40
2.1.3 在Windows系统中使用
Docker安装ClickHouse 42
2.2 ClickHouse常用命令行 49
2.2.1 ClickHouse命令行清单 49
2.2.2 实用命令行工具 49
2.3 本章小结 55
第3章 ClickHouse基础数据类型 56
3.1 基础数据类型概述 57
3.2 数值类型 62
3.3 字符串类型 67
3.4 时间类型 70
3.5 本章小结 75
第4章 ClickHouse高级数据类型 76
4.1 数组类型 76
4.1.1 数组类型定义 76
4.1.2 创建数组 77
4.1.3 数组基础操作 78
4.2 元组类型 86
4.2.1 元组定义 86
4.2.2 创建元组 87
4.2.3 使用元组 87
4.3 嵌套数据类型 89
4.3.1 嵌套类型定义 89
4.3.2 创建嵌套类型 90
4.3.3 嵌套类型的使用 90
4.4 Map类型 91
4.4.1 Map类型定义 91
4.4.2 创建Map类型 91
4.4.3 Map常用操作 92
4.5 Nullable类型 95
4.6 聚合函数类型 96
4.6.1 聚合函数类型定义 96
4.6.2 使用-State函数聚合物化
视图指标 97
4.6.3 使用-Merge函数读取聚合
结果值 99
4.7 Bitmap类型 100
4.7.1 Bitmap简介 100
4.7.2 创建Bitmap类型 101
4.7.3 Bitmap常用操作函数 103
4.8 本章小结 112
第5章 ClickHouse函数 113
5.1 概述 113
5.1.1 ClickHouse函数简介 113
5.1.2 ClickHouse函数分类 114
5.1.3 表级别函数 116
5.1.4 聚合函数算子 118
5.2 算术函数 118
5.2.1 加法函数 119
5.2.2 减法函数 119
5.2.3 乘法函数 120
5.2.4 浮点除法函数 120
5.2.5 整数除法函数 121
5.2.6 带0整数除法函数 121
5.2.7 取余函数 121
5.2.8 带0取余函数 122
5.2.9 负数函数 122
5.2.10 值函数 123
5.2.11 公约数函数 123
5.2.12 小公倍数函数 123
5.2.13 数函数 124
5.2.14 小数函数 124
5.3 数组函数 124
5.3.1 判断空数组函数 124
5.3.2 判断非空数组函数 125
5.3.3 数组长度函数 125
5.3.4 根据范围构造数组函数 126
5.3.5 根据元素字面量构造数组 126
5.3.6 拼接数组函数 126
5.3.7 根据下标获取元素函数 127
5.3.8 判断是否包含元素函数 127
5.3.9 判断是不是子数组函数 128
5.3.10 判断两个数组是否有交集
函数 128
5.3.11 返回元素下标函数 129
5.3.12 数组切片函数 129
5.3.13 数组升序排序函数 129
5.3.14 数组降序排序函数 130
5.3.15 数组自定义排序函数 130
5.3.16 数组自定义逆序排序
函数 130
5.3.17 计算数组不重复元素个数
函数 131
5.3.18 数组元素去重函数 131
5.3.19 数组交集函数 131
5.3.20 数组归并函数 131
5.3.21 数组逆序函数 132
5.3.22 数组拍平函数 132
5.3.23 数组压缩函数 132
5.3.24 数组元素映射函数 133
5.3.25 数组过滤函数 133
5.3.26 求数组小元素函数 134
5.3.27 求数组元素函数 134
5.3.28 数组元素求和函数 135
5.3.29 数组元素平均值函数 135
5.3.30 数组元素相乘函数 136
5.3.31 数组元素展开函数 136
5.4 字符串函数 136
5.4.1 字符串判空函数 137
5.4.2 字符串非空判断函数 137
5.4.3 字符串字节长度函数 137
5.4.4 左补齐字符串函数 138
5.4.5 右补齐字符串函数 138
5.4.6 字符串转小写函数 138
5.4.7 字符串转大写函数 139
5.4.8 重复字符串函数 139
5.4.9 拼接字符串函数 139
本书是ClickHouse领域的集大成之作,从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,表述简练清晰、案例丰富实用,既可以作为入门的标准参考书,又适合作为案头速查手册。书中内容是作者在阿里巴巴、字节跳动多年实战经验的总结,得到了字节跳动和阿里巴巴9位大数据专家的高度评价。
全书共10章,主要内容如下:
第1~3章整体介绍ClickHouse概念、特性、应用场景、技术生态、快速入门和基础数据类型等基础内容,目的是从本质上揭开ClickHouse高性能背后的秘密,帮助读者快速上手实践。
第4~6章重点讲解ClickHouse的高级数据类型、函数和SQL查询语法与配置实践等进阶内容,通过该部分内容的阅读和学习,你将全面掌握ClickHouse核心功能的使用方法和技巧。
第7~10章从企业级项目实战的角度出发,详细解析ClickHouse在实际业务项目中的使用,主要包括基于Spring Boot开发ClickHouse SQL查询工具、基于ClickHouse Bitmap实现DMP用户画像标签圈选人、基于ZooKeeper搭建ClickHouse分布式集群、基于Grafana搭建ClickHouse集群监监控平台等相关内容。通过该部分内容的阅读学习,你将掌握ClickHouse企业级项目实战开发的方方面面。
本书非常注重实用性和实战性,不仅在各个知识点都辅有大量的实际案例、图表说明和小贴士,而且还有多个综合性的项目案例贯穿全书。
(1)作者背景资深:现就职于字节跳动,曾就职于阿里巴巴,主要从事企业智能数字化经营管理、电商智能数字化运营等系统架构设计和研发工作。
(2)作者经验丰富:作者在大数据、后端开发和架构领域有10余年研发和管理经验,积累非常深厚。
(3)内容系统全面:从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,是ClickHouse领域集大成之作。
(4)注重实用实战:不仅在各个知识点都辅有大量的实际案例、图表说明和小贴士,而且还有多个综合性的项目案例贯穿全书。
— 没有更多了 —
以下为对购买帮助不大的评价