写点什么

ClickHouse 学习分享

作者:冰心的小屋
  • 2023-07-16
    中国香港
  • 本文字数:1147 字

    阅读完需:约 4 分钟

ClickHouse 学习分享

1. 收获

学习本片文章你会有如下收获:

  1. 了解数据库主要存储方式;

  2. 初步认识 ClickHouse,哪些场景下可以选择使用 ClickHouse;

  3. ClickHouse 的开发入门:数据类型、基础语法、各类函数、客户端工具、表引擎和丰富的学习资源。

2. OLTP 和 OLAP

OLTP:online transaction processing 联机事务处理

  • 事务是一种机制,包含了一组数据库操作序列;

  • 这些操作作为统一的整体提交给系统时,要么全都执行、要么全都不执行;

  • 常用来存储和业务强相关的结构化数据,会涉及到数据的增、删、改、查。


OLAP:online analytical processing 联机分析处理

计算机技术中快速解决多维分析问题的一种方法,让用户能够从多个角度交互地分析多维数据。

3. 行列式数据库

3.1 行式数据库

一行中的所有值组合在一起存储,之后存储下一行。

3.2 列式数据库

一列中的所有值组合在一起存储,之后存储下一列。

4. 为什么选择 ClickHouse ?

假设需要开发一套 OA 系统,基本功能有人员管理、流程管理、会议预定和报表导出,作为架构师的你应该如何设计?

4.1 基于 MySQL 的单表

初期系统聚焦关键功能,用户不是很多,数据量不会太大,基于 MySQL 使用几张表即简单又高效。

4.2 基于 MySQL 分库分表

数据 GB 级增长,单表分析遇到性能瓶颈,于是你选择了分库分表 。

4.3 基于 ElasticSearch

分库分表数据的写入和查询不同的路由策略,需要保证数据查询时的完整性和准确性,架构不易扩展,于是你想到了 ElasticSearch 近实时方案,只关心索引分片即可。

4.4 基于 Spark

数据 TB 级增长,ElasticSearch 集群的实时写入和查询性能上遇到瓶颈,于是你想到了通用的大数据解决方案:基于 Hadoop + Spark 体系,而报表查询由近实时变成了离线。

4.5 基于 ClickHouse

为了降低 Hadoop + Spark 带来的维护和开发成本,ClickHouse 来到了你的身边。

4.6 ClickHouse 为什么与众不同?

  • 减少数据分析路径长度;

  • 缩减数据存储成本:只需要存储主要维度和指标;

  • 降低开发难度:开发人员只需要写 SQL 即可;

  • 支持 PB 级数据存储查询;

  • 线性扩展、性能强悍,每秒可处理数亿行 10GB 数据;

  • 多样数据类型;

  • 函数应有尽有;

  • 库引擎、表引擎、物化视图适合复杂业务场景。

5. 介绍下 ClickHouse

ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),由俄罗斯的 Yandex 公司于 2016 年开源,目前 Star:29.8K。


5.1 ClickHouse Roadmap

  • Provide alternative for ZooKeeper

  • Nested and semistructured data

  • Limited support for transactions

  • Window functions

  • Separation of storage and compute

  • Workload management

  • User Defined Functions

6. 数据类型、基础语法和函数

6.1 数据类型: 简单类型

6.2 数据类型: 集合类型

6.3 数据类型: 特殊类型

6.4 基础语法: 数据库

6.5 基础语法: 表



6.6 基础语法: 查询

6.7 基础语法: 写入

6.8 基础语法: 基础函数

6.9 基础语法: 表函数和聚合函数

7. 学习资源


发布于: 刚刚阅读数: 5
用户头像

分享技术上的点点滴滴! 2013-08-06 加入

一杯咖啡,一首老歌,一段代码,欢迎做客冰屋。

评论

发布
暂无评论
ClickHouse 学习分享_OLAP_冰心的小屋_InfoQ写作社区