互联网
类型
可以朗读
语音朗读
161千字
字数
2023-04-01
发行日期
展开全部
主编推荐语
ClickHouse领域集大成之作。
内容简介
本书从基础知识、实现原理、项目实战、扩展应用4个维度全面展开,表述简练清晰、案例丰富实用,既可以作为入门的标准参考书,又适合作为案头速查手册。
全书共10章,主要内容如下:
第1~3章整体介绍ClickHouse概念、特性、应用场景、技术生态、快速入门和基础数据类型等基础内容,目的是从本质上揭开ClickHouse高性能背后的秘密,帮助读者快速上手实践。
第4~6章重点讲解ClickHouse的高级数据类型、函数和SQL查询语法与配置实践等进阶内容,通过该部分内容的阅读和学习,你将全面掌握ClickHouse核心功能的使用方法和技巧。
第7~10章从企业级项目实战的角度出发,详细解析ClickHouse在实际业务项目中的使用,主要包括基于Spring Boot开发ClickHouse SQL查询工具、基于ClickHouse Bitmap实现DMP用户画像标签圈选人、基于ZooKeeper搭建ClickHouse分布式集群、基于Grafana搭建ClickHouse集群监监控平台等相关内容。
目录
- 版权信息
- 赞誉
- 前言
- 第1章 全面了解ClickHouse
- 1.1 ClickHouse概述
- 1.2 ClickHouse特性
- 1.2.1 深度列存储
- 1.2.2 向量化查询执行引擎
- 1.2.3 数据压缩
- 1.2.4 使用磁盘
- 1.2.5 支持SQL
- 1.2.6 实时数据更新
- 1.2.7 稀疏索引
- 1.2.8 运行时代码生成
- 1.2.9 支持近似计算
- 1.2.10 数据TTL
- 1.2.11 高吞吐写入能力
- 1.2.12 多核心并行计算
- 1.2.13 多服务器分布式计算
- 1.2.14 分布式MPP计算架构
- 1.2.15 分片和副本
- 1.2.16 完整的DBMS能力
- 1.2.17 自适应连接算法
- 1.2.18 数据复制和数据完整性
- 1.2.19 提供复合数据类型和丰富的函数库
- 1.3 ClickHouse应用场景
- 1.3.1 典型应用场景
- 1.3.2 通用解决方案
- 1.4 ClickHouse技术生态
- 1.4.1 ClickHouse用户都有哪些
- 1.4.2 ClickHouse的优点
- 1.4.3 ClickHouse的缺点
- 1.4.4 ClickHouse未来展望
- 1.5 本章小结
- 第2章 ClickHouse快速入门
- 2.1 安装与运行ClickHouse
- 2.1.1 在macOS系统中安装ClickHouse
- 2.1.2 在Linux系统中安装ClickHouse
- 2.1.3 在Windows系统中使用Docker安装ClickHouse
- 2.2 ClickHouse常用命令行
- 2.2.1 ClickHouse命令行清单
- 2.2.2 实用命令行工具
- 2.3 本章小结
- 第3章 ClickHouse基础数据类型
- 3.1 基础数据类型概述
- 3.2 数值类型
- 3.3 字符串类型
- 3.4 时间类型
- 3.5 本章小结
- 第4章 ClickHouse高级数据类型
- 4.1 数组类型
- 4.1.1 数组类型定义
- 4.1.2 创建数组
- 4.1.3 数组基础操作
- 4.2 元组类型
- 4.2.1 元组定义
- 4.2.2 创建元组
- 4.2.3 使用元组
- 4.3 嵌套数据类型
- 4.3.1 嵌套类型定义
- 4.3.2 创建嵌套类型
- 4.3.3 嵌套类型的使用
- 4.4 Map类型
- 4.4.1 Map类型定义
- 4.4.2 创建Map类型
- 4.4.3 Map常用操作
- 4.5 Nullable类型
- 4.6 聚合函数类型
- 4.6.1 聚合函数类型定义
- 4.6.2 使用-State函数聚合物化视图指标
- 4.6.3 使用-Merge函数读取聚合结果值
- 4.7 Bitmap类型
- 4.7.1 Bitmap简介
- 4.7.2 创建Bitmap类型
- 4.7.3 Bitmap常用操作函数
- 4.8 本章小结
- 第5章 ClickHouse函数
- 5.1 概述
- 5.1.1 ClickHouse函数简介
- 5.1.2 ClickHouse函数分类
- 5.1.3 表级别函数
- 5.1.4 聚合函数算子
- 5.2 算术函数
- 5.2.1 加法函数
- 5.2.2 减法函数
- 5.2.3 乘法函数
- 5.2.4 浮点除法函数
- 5.2.5 整数除法函数
- 5.2.6 带0整数除法函数
- 5.2.7 取余函数
- 5.2.8 带0取余函数
- 5.2.9 负数函数
- 5.2.10 绝对值函数
- 5.2.11 最大公约数函数
- 5.2.12 最小公倍数函数
- 5.2.13 最大数函数
- 5.2.14 最小数函数
- 5.3 数组函数
- 5.3.1 判断空数组函数
- 5.3.2 判断非空数组函数
- 5.3.3 数组长度函数
- 5.3.4 根据范围构造数组函数
- 5.3.5 根据元素字面量构造数组
- 5.3.6 拼接数组函数
- 5.3.7 根据下标获取元素函数
- 5.3.8 判断是否包含元素函数
- 5.3.9 判断是不是子数组函数
- 5.3.10 判断两个数组是否有交集函数
- 5.3.11 返回元素下标函数
- 5.3.12 数组切片函数
- 5.3.13 数组升序排序函数
- 5.3.14 数组降序排序函数
- 5.3.15 数组自定义排序函数
- 5.3.16 数组自定义逆序排序函数
- 5.3.17 计算数组不重复元素个数函数
- 5.3.18 数组元素去重函数
- 5.3.19 数组交集函数
- 5.3.20 数组归并函数
- 5.3.21 数组逆序函数
- 5.3.22 数组拍平函数
- 5.3.23 数组压缩函数
- 5.3.24 数组元素映射函数
- 5.3.25 数组过滤函数
- 5.3.26 求数组最小元素函数
- 5.3.27 求数组最大元素函数
- 5.3.28 数组元素求和函数
- 5.3.29 数组元素平均值函数
- 5.3.30 数组元素相乘函数
- 5.3.31 数组元素展开函数
- 5.4 字符串函数
- 5.4.1 字符串判空函数
- 5.4.2 字符串非空判断函数
- 5.4.3 字符串字节长度函数
- 5.4.4 左补齐字符串函数
- 5.4.5 右补齐字符串函数
- 5.4.6 字符串转小写函数
- 5.4.7 字符串转大写函数
- 5.4.8 重复字符串函数
- 5.4.9 拼接字符串函数
- 5.4.10 计算子串函数
- 5.4.11 base64编码函数
- 5.4.12 base64解码函数
- 5.4.13 判断开头字符串函数
- 5.4.14 判断结尾字符串函数
- 5.4.15 删除空白字符函数
- 5.4.16 从HTML提取纯文本函数
- 5.4.17 字符串部分替换函数
- 5.4.18 字符串全部替换函数
- 5.4.19 字符串正则部分替换函数
- 5.4.20 字符串正则全部替换函数
- 5.4.21 计算子串下标函数
- 5.4.22 正则匹配函数
- 5.4.23 模糊匹配函数
- 5.4.24 正则匹配次数函数
- 5.5 条件函数
- 5.5.1 单条件分支函数
- 5.5.2 多条件分支函数
- 5.5.3 NULL值判断
- 5.6 时间函数
- 5.6.1 计算当前时间函数
- 5.6.2 计算今天日期函数
- 5.6.3 计算昨天日期函数
- 5.6.4 计算当前时区函数
- 5.6.5 计算时区函数
- 5.6.6 时区转换函数
- 5.6.7 计算年份函数
- 5.6.8 计算季度函数
- 5.6.9 计算月份函数
- 5.6.10 计算该年中第几天函数
- 5.6.11 计算该月中第几天函数
- 5.6.12 计算该周中第几天函数
- 5.6.13 计算小时函数
- 5.6.14 计算分钟函数
- 5.6.15 计算秒函数
- 5.6.16 计算UNIX时间戳函数
- 5.6.17 时间加法函数
- 5.6.18 时间减法函数
- 5.6.19 计算相差天数函数
- 5.7 数学函数
- 5.7.1 生成随机数函数
- 5.7.2 生成随机字符串函数
- 5.7.3 向下取整函数
- 5.7.4 向上取整函数
- 5.7.5 最大绝对值函数
- 5.7.6 自然常数函数
- 5.7.7 圆周率函数
- 5.7.8 自然指数函数
- 5.7.9 自然对数函数
- 5.7.10 求根函数
- 5.7.11 三次方根函数
- 5.7.12 正弦函数
- 5.7.13 余弦函数
- 5.7.14 正切函数
- 5.7.15 反正弦函数
- 5.7.16 反余弦函数
- 5.7.17 反正切函数
- 5.7.18 指数函数
- 5.7.19 符号函数
- 5.7.20 伽马函数
- 5.8 聚合函数
- 5.8.1 计数函数
- 5.8.2 近似去重计数函数
- 5.8.3 精确去重计数函数
- 5.8.4 近似计算不同值数量
- 5.8.5 使用哈希算法近似计算不同值数量
- 5.8.6 计算出现频率最高的值
- 5.8.7 计算总和函数
- 5.8.8 计算最大值函数
- 5.8.9 计算最小值函数
- 5.8.10 计算平均值函数
- 5.8.11 绘制柱状图函数
- 5.8.12 计算序列的偏度
- 5.8.13 计算序列的样本偏度
- 5.8.14 线性回归函数
- 5.8.15 计算分位数
- 5.8.16 用列值创建数组
- 5.8.17 用列值创建数组并去重
- 5.9 窗口函数
- 5.9.1 自增行号函数
- 5.9.2 跳跃排名函数
- 5.9.3 连续排名函数
- 5.9.4 窗口计数函数
- 5.9.5 窗口最大值函数
- 5.9.6 窗口最小值函数
- 5.9.7 窗口平均值函数
- 5.10 空值函数
- 5.11 常用算子
- 5.12 本章小结
- 第6章 ClickHouse SQL基础
- 6.1 SQL概述
- 6.1.1 SQL简史
- 6.1.2 SQL命令类型
- 6.1.3 ClickHouse SQL
- 6.1.4 ClickHouse查询分类
- 6.2 数据定义
- 6.2.1 概述
- 6.2.2 创建数据库
- 6.2.3 删除数据库
- 6.2.4 创建MergeTree表
- 6.2.5 复制表
- 6.2.6 从查询语句创建表
- 6.2.7 从表函数创建表
- 6.2.8 创建视图
- 6.2.9 创建函数
- 6.2.10 创建字典
- 6.2.11 RENAME操作
- 6.2.12 ALTER操作
- 6.2.13 DROP操作
- 6.3 数据操作
- 6.3.1 概述
- 6.3.2 插入数据
- 6.3.3 UPDATE操作
- 6.3.4 DELETE操作
- 6.3.5 EXCHANGE操作
- 6.3.6 OPTIMIZE操作
- 6.3.7 ATTACH操作
- 6.3.8 DETACH操作
- 6.4 数据查询
- 6.4.1 概述
- 6.4.2 WITH子句
- 6.4.3 FROM子句
- 6.4.4 SAMPLE子句
- 6.4.5 JOIN子句
- 6.4.6 PREWHERE子句
- 6.4.7 WHERE子句
- 6.4.8 GROUP BY子句
- 6.4.9 HAVING子句
- 6.4.10 SELECT子句
- 6.4.11 DISTINCT子句
- 6.4.12 LIMIT子句
- 6.4.13 SETTINGS子句
- 6.4.14 UNION子句
- 6.4.15 INTERSECT子句
- 6.4.16 EXCEPT子句
- 6.4.17 INTO OUTFILE子句
- 6.4.18 FORMAT子句
- 6.4.19 SHOW查询
- 6.4.20 EXISTS查询
- 6.4.21 KILL查询
- 6.5 数据控制
- 6.5.1 概述
- 6.5.2 创建用户
- 6.5.3 创建角色
- 6.5.4 创建行策略
- 6.5.5 创建配额
- 6.5.6 创建配置文件
- 6.5.7 修改用户、角色、行策略、配额和配置
- 6.5.8 撤销授权
- 6.6 PROJECTION特性
- 6.6.1 新增高基维度投影
- 6.6.2 构建测试数据
- 6.6.3 关闭投影优化开关测试
- 6.6.4 开启投影优化开关测试
- 6.6.5 性能数据
- 6.6.6 维度字段基数对投影性能的影响
- 6.7 EXPLAIN命令
- 6.7.1 EXPLAIN概述
- 6.7.2 EXPLAIN语句类型
- 6.7.3 EXPLAIN AST
- 6.7.4 EXPLAIN SYNTAX
- 6.7.5 EXPLAIN PLAN
- 6.7.6 EXPLAIN PIPELINE
- 6.7.7 EXPLAIN ESTIMATE
- 6.8 本章小结
- 第7章 基于Spring Boot开发ClickHouse SQL查询工具
- 7.1 项目概述
- 7.1.1 功能界面
- 7.1.2 项目技术栈
- 7.2 开发后端查询服务
- 7.2.1 创建Spring Boot工程
- 7.2.2 配置ClickHouse JDBC依赖
- 7.2.3 配置ClickHouse数据库连接信息
- 7.2.4 ClickHouse客户端查询实现
- 7.2.5 查询功能单元测试
- 7.2.6 实现SQL查询HTTP接口
- 7.2.7 HTTP接口测试
- 7.3 开发前端UI界面
- 7.3.1 Node环境准备
- 7.3.2 Arco Design简介
- 7.3.3 创建Arco React工程
- 7.3.4 实现SQL编辑器
- 7.3.5 SQL查询功能实现
- 7.3.6 格式化SQL实现
- 7.3.7 实现JSONEditor来展示查询结果
- 7.3.8 格式化JSON实现
- 7.4 系统集成部署
- 7.4.1 打包前端静态资源
- 7.4.2 集成到后端工程
- 7.5 项目测试
- 7.6 本章小结
- 第8章 基于ClickHouse Bitmap实现DMP用户画像标签圈人
- 8.1 项目背景知识
- 8.1.1 数据管理平台
- 8.1.2 客户数据平台
- 8.1.3 客户关系管理
- 8.1.4 数据仓库
- 8.1.5 数据统计分析术语
- 8.2 项目技术方案
- 8.2.1 创建用户标签宽表
- 8.2.2 创建Bitmap圈选表
- 8.2.3 将用户标签宽表转为Bitmap表
- 8.2.4 人群数量计算
- 8.2.5 实时人群圈选
- 8.2.6 圈选人群包存储
- 8.2.7 人群画像洞察
- 8.3 本章小结
- 第9章 基于ZooKeeper搭建ClickHouse分布式集群
- 9.1 方案概述
- 9.2 ZooKeeper集群环境准备
- 9.2.1 ZooKeeper简介
- 9.2.2 使用Docker安装ZooKeeper
- 9.2.3 配置ZooKeeper集群
- 9.2.4 创建ZooKeeper集群的docker-compose.yaml配置文件
- 9.3 ClickHouse集群环境准备
- 9.3.1 使用Docker创建ClickHouse集群
- 9.3.2 配置ClickHouse分布式集群
- 9.3.3 新建docker-compose.yaml配置文件
- 9.3.4 启动ClickHouse集群所有容器节点
- 9.3.5 查看ClickHouse集群节点状态
- 9.3.6 查看ZooKeeper集群上的ClickHouse元数据路径节点
- 9.3.7 停止容器运行
- 9.3.8 到ClickHouse系统表中查看ClickHouse集群信息
- 9.4 创建库表
- 9.4.1 登录到ClickHouse集群ch1容器实例节点
- 9.4.2 使用on cluster创建分布式集群上的数据库
- 9.4.3 查看ZooKeeper上分布式DDL路径节点数据
- 9.4.4 创建分布式表
- 9.4.5 创建集群分布式逻辑表
- 9.5 数据写入
- 9.5.1 写数据方案
- 9.5.2 写数据具体操作
- 9.6 数据查询
- 9.6.1 分布式查询原理
- 9.6.2 分布式查询过程分析
- 9.6.3 分布式子查询
- 9.7 集群副本与分片
- 9.7.1 简介
- 9.7.2 副本离线
- 9.7.3 副本扩缩容
- 9.7.4 分片扩缩容
- 9.8 本章小结
- 第10章 基于Grafana搭建ClickHouse集群监控平台
- 10.1 方案简介
- 10.2 环境准备
- 10.2.1 Grafana简介
- 10.2.2 安装Grafana
- 10.2.3 安装Grafana ClickHouse插件
- 10.2.4 配置ClickHouse数据源
- 10.2.5 安装clickhouse-exporter
- 10.2.6 安装Prometheus
- 10.2.7 启动Prometheus服务
- 10.2.8 查看容器实例状态
- 10.2.9 查看Prometheus容器详情
- 10.2.10 访问Prometheus服务
- 10.2.11 添加Prometheus数据源
- 10.3 常用监控
- 10.3.1 仪表盘模板
- 10.3.2 创建可用内存看板
- 10.3.3 自定义最近查询
- 10.3.4 常用监控指标
- 10.4 本章小结
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。