ClickMouse | 青训营笔记

67 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 17 天

数据库基本概念

数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统DBMS来控制。在现实中,数据、DBMS及关联应用一起被称为数据库系统,通常简称为数据库。

数据库的类型

  • 关系型数据库:关系型数据库是把数据以表的形式进行储存,然后在各个表之间建立关系,通过这些表之间的关系来操作不同表之间的数据。

  • 非关系型数据库:NoSQL或非关系型数据库。支持存储和操作非结构化及半结构化数据。相比于关系型数据库,NoSQL没有固定的表结构,且数据之间不存在表与表之间的关系,数据之间可以独立。

  • OLTP数据库:OLTP(Online transactional processing)数据库是一种高速分析数据库,专为多个用户执行大量事务而设计。

  • OLAP数据库:OLAP(Online analytical processing)数据库旨在同时分析多个数据维度,帮助团队更好的理解其数据中的复杂关系。

OLAP数据库

  • 大量数据的读写,PB级别的存储
  • 多维分析,复杂的聚合函数
  • 窗口函数,自定义UDF(User Define Function)
  • 离线/实时分析

SQL

一种编程语言,目前几乎所有的关系型数据库都使用SQL(Structured Query Language)编程语言来查询、操作和定义数据,进行数据访问控制。

一个简单的SQL查询包含SELECT关键词。星号✳也可以用来指定查询应该返回查询表所有字段,可选的关键词和子句。

FROM子句指定了选择的数据表。FROM子句也可以包含JOIN二层子句来为数据表的连接设置规则。

WHERE子句后接一个比较谓词以限制返回的行。WHERE子句仅保留返回结果里使得比较谓词的值为True的行。

GROUP BY通常与SQL聚合函数连用,或者用于清除数据重复的行。GROUP BY子句要用在WHERE子句之后。

  • 定义数据模型
  • 读写数据库模型

列式存储

Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS)。
传统数据库在数据大小比较小,索引大小适合内存,数据缓存命中率足够高的情形下能正常提供服务。