ClickHouse--01--简介

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

文章目录

  • 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 简介

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 功能

  • ClickHouse 是一个数据库管理系统,而不仅是一个数据库,作为数据库管理系统具备完备的管理功能:

在这里插入图片描述

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.mzph.cn/news/676620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenEuler20.03LTS SP2 上安装 OpenGauss3.0.0 单机部署过程(二)

开始安装 OpenGauss 数据库 3.1.7 安装依赖包 (说明:如果可以联网,可以通过网络 yum 安装所需依赖包,既可以跳过本步骤。如果网络无法连通,请把本文档所在目录下的依赖包上传到服务器上,手工安装后,即无需通过网络进行 Yum 安装了): 上传:libaio-0.3.111-5.oe1.x8…

保研机试算法训练个人记录笔记(四)——哈希算法

目录 两数之和 字母异位词分组 最长连续序列 力扣热题100——哈希算法 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答…

wireshark抓包问题及学习

wireshark抓包问题及学习 【场景1】服务A请求服务B经常超过3s,报错i/o timeout,想看下是否网络波动或者负载太高。需要抓包分析。 问题1: 超时时间不定,且请求量过大,一直抓了存文件里抓包文件过大。 解决学习&…

三、搜索与图论

DFS 排列数字 #include<iostream> using namespace std; const int N 10; int a[N], b[N]; int n;void dfs(int u){if(u > n){for(int i 1; i < n; i)cout<<a[i]<<" ";cout<<endl;return;}for(int i 1; i < n; i){if(!b[i]){b[…

LeetCode91. Decode Ways——动态规划

文章目录 一、题目二、题解 一、题目 A message containing letters from A-Z can be encoded into numbers using the following mapping: ‘A’ -> “1” ‘B’ -> “2” … ‘Z’ -> “26” To decode an encoded message, all the digits must be grouped then …

数据结构——5.3 二叉树的遍历和线索二叉树

第五章 树与二叉树 5.3 二叉树的遍历和线索二叉树 概念 1.线索二叉树&#xff1a;为了快速得到遍历序列的前驱和后继 2. 理解 1.线索二叉树是一种物理结构&#xff0c;二叉树一种逻辑结构 2.n个结点的线索二叉树具有2n个链域指针&#xff0c;除了根节点外&#xff0c;每个结…

自己DIY制作耳机壳一般用哪种材料比较好,性价比比较高

在选择耳机壳的材料时&#xff0c;除了考虑材料本身的性能外&#xff0c;还需要考虑成本、加工难度、耐用性、环保性等方面的因素。 从性能方面来看&#xff1a; 制作耳机壳的UV树脂和塑料材质各有其优缺点。UV树脂具有高硬度、耐磨、耐高温、环保等优点&#xff0c;能够提供更…

用爬虫自建行业知识库

一 几年前用 Python 写过一个程序&#xff0c;自动抓取各市文化局网站相关栏目文章&#xff0c;然后把抓到的文章&#xff0c;写成离线网页&#xff0c;发到指定邮箱。 当时针对每个网页写一个爬虫&#xff0c;对每一个网页都进行分析。比如&#xff0c;标题是什么&#xff0…

node.js 使用 elementtree 生成思维导图 Freemind 文件

请参阅: java : pdfbox 读取 PDF文件内书签 请注意&#xff1a;书的目录.txt 编码&#xff1a;UTF-8&#xff0c;推荐用 Notepad 转换编码。 npm install elementtree --save 编写 txt_etree_mm.js 如下 // 读目录.txt文件&#xff0c;使用 elementtree 生成思维导图 Free…

【FFmpeg】ffplay 命令行参数 ⑤ ( 设置音频滤镜 -af 参数 | 设置统计信息 -stats 参数 | 设置同步时钟类型 -sync 参数 )

文章目录 一、ffplay 命令行参数 - 音频滤镜1、设置音频滤镜 -af 参数2、常用的 音频滤镜 参数3、音频滤镜链 示例 二、ffplay 命令行参数 - 统计信息1、设置统计信息 -stats 参数2、关闭统计信息 -nostats 参数 三、ffplay 命令行参数 - 同步时钟类型1、设置同步时钟类型 -syn…

【前沿技术杂谈:多模态文档基础模型】使用多模态文档基础模型彻底改变文档 AI

【前沿技术杂谈&#xff1a;多模态文档基础模型】使用多模态文档基础模型彻底改变文档 AI 从文本到多模态模型&#xff1a;文档 AI 逐渐发展新技能。行业领先的型号Document AI 的下一步&#xff1a;开发通用和统一框架 您是否曾经被包含不同信息&#xff08;如应付账款、日期、…

Web后端开发:事务与AOP

事务管理 在学习数据库时&#xff0c;讲到&#xff1a;事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数据库提交或者是撤销操作请求&#xff0c;要么同时成功&#xff0c;要么同时失败。 事务的操作主要有三…

已解决org.springframework.web.HttpMediaTypeNotAcceptableException异常的正确解决方法,亲测有效!!!

已解决org.springframework.web.HttpMediaTypeNotAcceptableException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录 问题分析 报错原因 解决思路 解决方法 总结 问题分析 在Spring MVC应用中处理HTTP请求时&#xff0c;我们有…

C#向数组指定索引位置插入新的元素值:自定义插入方法 vs List<T>.Add(T) 方法

目录 一、使用的方法 1.自定义插入方法 2.使用List.Add(T) 方法 二、实例 1.示例1&#xff1a;List.Add(T) 方法 2.示例&#xff1a;自定义插入方法 一、使用的方法 1.自定义插入方法 首先需要定义一个一维数组&#xff0c;然后修改数组的长度(这里使用Length属性获取…

【OpenHarmony硬件操作】WIFI模块的操作(udp+tcp)

文章目录 前言一、网络的连接1.1 WIFI模块有三大功能1.2 相关接口连接网络等待网络连接成功创建一个热点获取本设备ip地址二、tcp客户端的使用2.1 创建socket2.2 sockaddr_in结构体2.3 connect连接服务器2.4 接收数据2.5 发送数据三、UDP

网关中全局过滤器实现jwt校验

意味着有很多相同接口的实现类&#xff0c;那么必定会有优先级的问题。于是Spring就提供了Ordered这个接口&#xff0c;来处理相同接口实现类的优先级问题。 public class AuthorizeFilter implements Ordered, GlobalFilter {Overridepublic Mono<Void> filter(ServerW…

Linux应用程序几种参数传递方式

大家好&#xff0c;今天给大家介绍Linux应用程序几种参数传递方式&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 在Linux中&#xff0c;应用程序可以通过多种方式接收参数。以下…

栈的基本操作

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

【Java面试】数据类型常见面试题

什么是包装类型 将基本类型包装进了对象中得到的类型 基本类型和包装类型有什么区别 用途不同&#xff1a;基本类型一般用于局部变量&#xff0c;包装类型用于其他地方存储方式不同&#xff1a;用于局部变量的基本类型存在虚拟机栈中的局部变量表中&#xff0c;用于成员变量…

(51)汉明距离

文章目录 每日一言题目解题思路代码结语 每日一言 岁月因青春慨然以赴而更加静好&#xff0c;世间因少年挺身向前而更加瑰丽。 题目 题目链接&#xff1a;汉明距离 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0…