展开全部

主编推荐语

Calcite数据库原理及应用教程,SQL大数据技术原理及应用,帮助你解决数据源管理难题。

内容简介

Calcite是一款开源的动态数据管理框架,其目标是一种方案适应所有需求场景,能为不同计算平台和数据源提供统一的查询引擎,它对于没有高并发、低延时的多数据源间的数据管理有着天然的优势,是解决多数据源统一管理问题的利器。

本书围绕Calcite,结合其数据库基础知识、核心理论以及相关的项目实践情况,从SQL的解析、校验、优化、执行等流程,对Calcite组件进行介绍。同时本书为部分章节配置对应的代码和实例,帮助读者加深理解。

本书内容由理论到实践,将源码解析与实际案例相结合,可以作为Calcite新手的入门图书以及快速上手的参考书,也可以作为大数据开发人员和从业人员的学习用书,还可以作为相关培训机构以及高等院校的教学用书。

目录

  • 版权信息
  • 内容提要
  • 推荐辞
  • 序一
  • 序二
  • 前言
  • 资源与支持
  • 第1章 Calcite的前世今生
  • 1.1 数据管理系统的发展历史
  • 1.2 当前数据管理系统的困境
  • 1.3 Calcite简史
  • 1.3.1 发源时期
  • 1.3.2 Apache Calcite时期
  • 1.3.3 项目分拆阶段
  • 1.4 Calcite生态系统
  • 1.5 为什么使用Calcite
  • 1.6 本章小结
  • 第2章 Calcite架构概述
  • 2.1 设计思想
  • 2.1.1 聚焦查询优化
  • 2.1.2 数据联邦
  • 2.1.3 流式系统
  • 2.2 整体架构
  • 2.3 使用方式
  • 2.4 核心特性
  • 2.4.1 灵活可插拔
  • 2.4.2 支持流式SQL
  • 2.4.3 支持物化视图
  • 2.4.4 支持多种数据模型
  • 2.5 执行流程
  • 2.5.1 服务的接收
  • 2.5.2 SQL语法解析
  • 2.5.3 语法树的校验
  • 2.5.4 关系代数优化
  • 2.5.5 执行并获取数据
  • 2.6 本章小结
  • 第3章 Calcite快速上手
  • 3.1 下载、编译和运行
  • 3.2 SQLLine操作方法
  • 3.2.1 SQLLine的基本操作
  • 3.2.2 SQLLine的进阶操作
  • 3.2.3 其他操作
  • 3.3 集成CSV文件开发实例
  • 3.3.1 元数据定义
  • 3.3.2 优化规则管理
  • 3.4 本章小结
  • 第4章 数据库查询优化技术
  • 4.1 什么是数据库查询优化技术
  • 4.2 查询优化器的内外结构
  • 4.2.1 查询优化器的内部结构
  • 4.2.2 优化器的外部关系
  • 4.3 逻辑计划优化
  • 4.3.1 关系代数
  • 4.3.2 关系代数优化规则
  • 4.4 物理计划优化
  • 4.4.1 代价模型
  • 4.4.2 逻辑代价
  • 4.4.3 物理执行代价
  • 4.4.4 算法代价
  • 4.5 优化模型
  • 4.5.1 启发式模型
  • 4.5.2 火山模型
  • 4.5.3 向量化模型
  • 4.6 本章小结
  • 第5章 服务层
  • 5.1 Avatica架构介绍
  • 5.2 Avatica执行结构和流程
  • 5.2.1 Service接口
  • 5.2.2 Meta接口
  • 5.2.3 启动服务
  • 5.3 Avatica鉴权
  • 5.3.1 BASIC
  • 5.3.2 DIGEST
  • 5.3.3 SPNEGO
  • 5.3.4 自定义鉴权
  • 5.4 客户端驱动
  • 5.4.1 Java驱动
  • 5.4.2 Python驱动
  • 5.5 命令行工具
  • 5.5.1 使用SQLLline
  • 5.5.2 自定义命令行交互方式
  • 5.6 本章小结
  • 第6章 解析层
  • 6.1 语法解析过程
  • 6.2 Calcite中的解析体系
  • 6.2.1 抽象语法树的概念
  • 6.2.2 SqlNode体系
  • 6.3 JavaCC
  • 6.3.1 JavaCC简介
  • 6.3.2 JavaCC简单示例
  • 6.3.3 Calcite中JavaCC的使用方法
  • 6.4 Calcite整合Antlr方法
  • 6.4.1 Antlr简介
  • 6.4.2 上手Antlr
  • 6.4.3 Calcite集成Antlr
  • 6.5 Antlr对比JavaCC
  • 6.5.1 输入输出
  • 6.5.2 易用性
  • 6.5.3 效率
  • 6.5.4 在Calcite中如何选择
  • 6.6 本章小结
  • 第7章 校验层
  • 7.1 何谓校验
  • 7.2 元数据定义
  • 7.2.1 Calcite中元数据的基本概念
  • 7.2.2 数据模型定义
  • 7.2.3 自定义表元数据实现
  • 7.2.4 解析数据模型
  • 7.3 校验流程
  • 7.3.1 Calcite校验过程中的核心类
  • 7.3.2 校验流程
  • 7.4 元数据DDL
  • 7.5 本章小结
  • 第8章 优化层
  • 8.1 关系代数与火山模型
  • 8.1.1 关系代数
  • 8.1.2 火山模型
  • 8.2 优化器
  • 8.2.1 优化器介绍
  • 8.2.2 RBO模型和CBO模型
  • 8.2.3 寻找关系代数最优解
  • 8.3 Calcite优化器
  • 8.3.1 构建算子树
  • 8.3.2 RelNode
  • 8.3.3 Calcite优化模型
  • 8.4 自定义优化规则
  • 8.4.1 CSV规则
  • 8.4.2 RBO模型与CBO模型的对比
  • 8.5 本章小结
  • 第9章 数据源接入
  • 9.1 Redis
  • 9.1.1 配置model.json文件
  • 9.1.2 配置Schema信息
  • 9.1.3 定义表元数据
  • 9.1.4 定义迭代器
  • 9.2 PostgreSQL
  • 9.2.1 构建元数据
  • 9.2.2 自定义优化规则
  • 9.2.3 整体流程
  • 9.3 Janino介绍
  • 9.4 本章小结
  • 第10章 SQL函数扩展
  • 10.1 UDF
  • 10.1.1 UDF介绍
  • 10.1.2 Calcite中如何定义UDF
  • 10.2 UDAF
  • 10.2.1 UDAF介绍
  • 10.2.2 Calcite中如何定义UDAF
  • 10.3 UDTF
  • 10.3.1 UDTF介绍
  • 10.3.2 Calcite中如何定义UDTF
  • 10.4 执行流程
  • 10.5 本章小结
  • 第11章 空间数据查询
  • 11.1 OGC简介
  • 11.2 空间数据类型
  • Calcite中的空间数据类型
  • 11.3 空间函数
  • 11.3.1 创建类函数
  • 11.3.2 转换类函数
  • 11.3.3 属性查询函数
  • 11.3.4 空间判断函数
  • 11.4 使用方法
  • 11.5 自定义空间函数
  • 11.6 本章小结
  • 第12章 流式处理
  • 12.1 流式查询简介
  • 12.2 流式查询初体验
  • 12.3 流式聚合查询
  • 12.4 本章小结
  • 第13章 视图
  • 13.1 普通视图
  • 13.2 物化视图
  • 13.2.1 Join重写
  • 13.2.2 联合重写
  • 13.3 格
  • 13.4 本章小结
  • 第14章 Calcite在开源项目中的使用
  • 14.1 Hive
  • 14.1.1 Hive简介
  • 14.1.2 Hive架构与执行流程
  • 14.1.3 Hive集成Calcite
  • 14.2 Kylin
  • 14.2.1 Kylin简介
  • 14.2.2 Kylin架构及执行流程
  • 14.2.3 Kylin集成Calcite
  • 14.3 Flink
  • 14.3.1 Flink简介
  • 14.3.2 Flink架构与执行流程
  • 14.3.3 Flink集成Calcite
  • 14.4 本章小结
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0

    Calcite 是一款开源的动态数据管理框架,其目标是一种方案适应所有需求场景,能为不同计算平台和数据源提供统一的查询引擎,它对于没有高并发、低延时的多数据源间的数据管理有着天然的优势,是解决多数据源统一管理问题的利器。本书围绕 Calcite,结合其数据库基础知识、核心理论以及相关的项目实践情况,从 SQL 的解析、校验、优化、执行等流程,对 Calcite 组件进行介绍。同时本书为部分章节配置对应的代码和实例,帮助读者加深理解。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。