ClickHouse--01--简介

news/2024/6/19 3:24:47 标签: clickhouse, oracle, 数据库

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1. ClickHouse 简介
    • 1.1 大数据处理场景
    • 1.2 什么是 ClickHouse
    • 1.3 OLAP 场景的特征
  • 2. ClickHouse 特性
    • 2.1 完备的 DBMS 功能
    • 2.2 列式存储
        • 行式存储: 在数据==写入==和==修改==上具有优势
        • 列式存储: 在数据==读取和解析==、==分析数据==上具有优势
        • 列式储存的好处:
    • 2.3 数据压缩
    • 2.4 向量化执行引擎
    • 2.5 关系模型与标准 SQL 查询
        • ClickHouse 是==大小写敏感==,SELECT a 和 SELECT A 所代表的语义不同
    • 2.6 多样化的表引擎
    • 2.7 多线程与分布式
    • 2.8 多主架构
    • 2.9 交互式查询
    • 2.10 数据分片与分布式查询


1. ClickHouse 简介

官网: clickhouse.com/docs/zh" rel="nofollow">https://clickhouse.com/docs/zh

在这里插入图片描述

1.1 大数据处理场景

在大数据处理场景中,流处理和批处理使用到的技术大致如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 什么是 ClickHouse

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

  • ClickHouse 是一个开源的,用于联机分析(OLAP)的列式数据库管理系统(DBMS-database manager system), 它是面向列的,并允许使用 SQL 查询,实时生成分析报告。ClickHouse 最初是一款名Yandex.Metrica 的产品,主要用于 WEB流量分析。ClickHouse 的全称是 Click Stream,Data WareHouse,简称 ClickHouse。
  • ClickHouse 不是一个单一的数据库,它允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器。ClickHouse 同时支持列式存储和数据压缩,这是对于一款高性能数据库来说是必不可少的特性。

一个非常流行的观点认为,如果你想让查询变得更快,最简单且有效的方法是减少数据扫描范围和数据传输时的大小,而列式存储和数据压缩就可以帮助我们实现上述两点,列式存储和数据压缩通常是伴生的,因为一般来说列式存储是数据压缩的前提

1.3 OLAP 场景的特征

 绝大多数是读请求。
 数据以相当大的批次(> 1000 行)更新,而不是单行更新;或者根本没有更新。
 已添加到数据库的数据不能修改。
 对于读取,从数据库中提取相当多的行,但只提取列的一小部分。
 宽表,即每个表包含着大量的列。
 查询相对较少(通常每台服务器每秒查询数百次或更少)。
 对于简单查询,允许延迟大约 50 毫秒。
 列中的数据相对较小:数字和短字符串(例如,每个 URL 60 个字节)。
 处理单个查询时需要高吞吐量(每台服务器每秒可达数十亿行)。
 事务不是必须的。
 对数据一致性要求低。有副本情况下,写入一个即可,后台自动同步。
 每个查询有一个大表。除了他以外,其他的都很小。
 查询结果明显小于源数据。换句话说,数据经过过滤或聚合,因此结果适合于单个服务
器的 RAM 中。

通过以上 OLAP 场景分析特点很容易可以看出,OLAP 场景与其他通常业务场景(例如,OLTP 或 K/V)有很大的不同, 因此想要使用 OLTP 或 Key-Value 数据库去高效的处理分析查询场景,并不是非常完美的适用方案。例如,使用 OLAP 数据库去处理分析请求通常要优于使用 MongoDB 或 Redis 去处理分析请求。

2. ClickHouse 特性

2.1 完备的 DBMS 功能

在这里插入图片描述

2.2 列式存储

目 前 大 数 据 存 储 有 两 种 方 案 可 以 选 择 , 行 式 存 储 (Row-Based) 和 列 式 存 储(Column-Based)
在这里插入图片描述

行式存储: 在数据写入修改上具有优势

在这里插入图片描述

列式存储: 在数据读取和解析分析数据上具有优势

在这里插入图片描述

在这里插入图片描述

案例
在这里插入图片描述

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

2.3 数据压缩

在这里插入图片描述

2.4 向量化执行引擎

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 关系模型与标准 SQL 查询

在这里插入图片描述

ClickHouse 是大小写敏感,SELECT a 和 SELECT A 所代表的语义不同

2.6 多样化的表引擎

在这里插入图片描述

2.7 多线程与分布式

在这里插入图片描述
在这里插入图片描述

2.8 多主架构

在这里插入图片描述

2.9 交互式查询

在这里插入图片描述

2.10 数据分片与分布式查询

在这里插入图片描述


http://www.niftyadmin.cn/n/5372422.html

相关文章

掌握Pandas数据筛选方法与高级应用全解析【第70篇—python:数据筛选】

文章目录 掌握Pandas:数据筛选方法与高级应用全解析1. between方法2. isin方法3. loc方法4. iloc方法5. 查询复杂条件的结合应用6. 避免inplace参数7. 利用Lambda函数进行自定义筛选8. 处理缺失值9. 多条件排序10. 数据统计与分组 总结: 掌握Pandas&…

4 scala集合-Map

和 Java 一样,Scala 也有表示键值对(Key-Value)集合的 Map 数据结构。同样,Map 也分不可变和可变,不可变需要使用类 scala.collection.mutable.Map。 1 不可变 Map 可以使用以下语法定义不可变 Map 对象 val/var ma…

WWW 2024 | 时间序列(Time Series)和时空数据(Spatial-Temporal)论文总结

WWW 2024已经放榜,本次会议共提交了2008篇文章,research tracks共录用约400多篇论文,录用率为20.2%。本次会议将于2024年5月13日-17日在新加坡举办。 本文总结了WWW 2024有关时间序列(Time Series)和时空数据&#xf…

[每周一更]-(第86期):PostgreSQL入门学习和对比MySQL

入门学习PostgreSQL可以遵循以下步骤: 安装 PostgreSQL: 首先,你需要在你的计算机上安装 PostgreSQL。你可以从 PostgreSQL 官方网站 下载适合你操作系统的安装包,并按照官方文档的指导进行安装。 学习 SQL: PostgreS…

面试经典150题 -- 栈(总结)

总的链接 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 关于栈 -- stack 的学习链接 c的STL中的栈 -- stack-CSDN博客 20 . 有效的括号 这题直接用栈模拟就好了; 这里用一种取巧的方法 , 当遇见左括号,加入右…

手撸一个M3U8下载插件

M3U8嗅探下载 思路与核心代码 基本思路 ​ M3U8视频格式是一种基于HTTP Live Streaming(HLS)协议的视频文件格式。它是苹果公司开发的,目前广泛应用于iOS、macOS和tvOS等系统中。与传统的视频格式不同,M3U8视频格式将整个视频分…

黄金交易策略(Nerve Knife):反趋势锁定单的处理机制

锁定单是由大趋势反转之后原来的趋势单转变而来的,会在趋势再次反转时变为趋势单或者转入保留单,也有很大概率在趋势识别到转变之前就被减仓减掉了。 完整EA:Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 一、锁定单怎么样来的&#xf…

java中ArrayList类常用API

前言:在学习java的ArrayList类的时候,有很多的API需要了解,下面我将举出其中在新手学习时使用频率较大的几个API。 先大体看一下有哪几个:(如图) 目录 1.add() 解释: …