ClickHouse的介绍、安装、数据类型

1、介绍和安装

1.1、简介

ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。

OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;
OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。

特点 列式存储,以下面的表为例:

采用行式存储时,数据在磁盘上的组织结构为:好处是想查某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以。但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。

采用列式存储时,数据在磁盘上的组织结构为:

采用列式存储时,数据在磁盘上的组织结构为:

这时想查所有人的年龄只需把年龄那一列拿出来就可以了。

列式存储的好处:

对于列的聚合、计数、求和等统计操作原因优于行式存储;
由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重;
由于数据压缩比更好,一方面节省了磁盘空间,另一方面对于cache也有了更大的发挥空间

1.2、DBMS的功能

几乎覆盖了标准SQL的大部分语法,包括DDL和DML,以及配套的各种函数,用户管理及权限管理,数据的备份与恢复;

1.3、多样化引擎

ClickHouse和MySQL类似,把表级的存储引擎插件化,根据表的不同需求可以设定不同的存储引擎。目前包括合并树、日志、接口和其他四大类20多种引擎;

相关推荐
阿波罗尼亚1 小时前
数据库序列(Sequence)
数据库
Junsir大斗师1 小时前
Nginx服务器代理Postgresql-16后端数据库
数据库·nginx
Je1lyfish1 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
m0_596749093 小时前
如何防止SQL拼接漏洞_使用PDO对象实现安全的SQL交互
jvm·数据库·python
老纪的技术唠嗑局4 小时前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
2301_795099746 小时前
golang如何在Gin中自定义验证器_golang Gin自定义验证器实现方法
jvm·数据库·python
2301_766283446 小时前
如何在MongoDB GridFS中进行按文件大小(length)范围的查询
jvm·数据库·python
萧曵 丶7 小时前
MySQL 高频面试题(由浅到深 完整版,面试必背)
数据库·mysql·面试
czlczl200209257 小时前
MySQL 执行引擎:排序与临时表机制深度解析
数据库·mysql
lifewange8 小时前
DBeaver如何安装
数据库