Clickhouse学习整理

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

前言

吃水不忘挖井人,我看的视频课:https://www.bilibili.com/video/BV1Yh411z7os?spm_id_from=333.337.search-card.all.click
我看的参考书是下面这本,整体介绍很全面,但是不用全都读,需要的地方看一看就好,有几章废话很多…但是整体质量不错
在这里插入图片描述

Clickhouse学习笔记

clickhouse:列式存储数据库,C++编写,主要用于在线分析处理查询(OLAP),支持SQL,多主架构(客户端访问任何一个节点效果相同)

适合的场景:大体量,数据分析类场景

不支持事务,不擅长按行删除

简述

列式存储:对于聚合,计数等等操作速度更快;每列数据类型相同,压缩更快

引擎多样化:支持 合并树,日志,接口,其他 四大类引擎

高写入能力:使用类LSM TREE结构,数据写入后定期在后台合并,数据写入全部是顺序append写

数据分区与线程级并行:clickhouse可以将数据分为多个分区,多个索引粒度,可以支持多个CPU核心一起处理数据处理,单条数据查询速度快(非常占用CPU)

查询速度:单表查询速度优于关联查询,差距大(因为clickhouse的join实现是通过将右表完全加载入内存,然后用左表每一条数据去对应,所以速度很慢。一般用in代替join/能过滤先过滤/右边放小表)

数据类型

Int32 对应java的32位int

Uint32 对应从0开始的int [0:4294967295]

Float32 对应java的float

布尔型一般用Uint8代替

保证精度的浮点数 Decimal64(s),相当于Decimal(18-s,s),有效位数为1~18,s表示小数位

枚举类型:只能存储定义中列出的值

CREATE TABLE t_enum
(
   x Enum8('hello' = 1, 'world' = 2)
)
ENGINE = TinyLog;

如果需要看到对应行的数值,则必须将 Enum 值转换为整数类型 
hadoop102 : SELECT CAST(x, 'Int8') FROM t_enum;

时间类型 Date,Datetime,Datetime64

表引擎

TinyLog

以列文件的形式保存在磁盘上,不支持索引,没有并发控制。一般保存少量数据的小表, 生产环境上作用有限。可以用于平时练习测试用。

不支持分区,只有每列对应的.bin文件,没有.mrk文件,不支持索引

Memory

内存引擎,数据以未压缩的原始形式直接保存在内存当中,服务器重启数据就会消失。 读写操作不会相互阻塞,不支持索引。简单查询下有非常非常高的性能表现

Memory表更为 广泛的应用场景是在ClickHouse的内部,它会作为集群间分发数据的 存储载体来使用。例如在分布式IN查询的场合中,会利用Memory临 时表保存IN子句的查询结果,并通过网络将它传输到远端节点。

MergeTree

支持索引和分区,写入数据后根据后台线程定期合并数据片段

物理存储中包含.idx索引文件,.mrk列字段标记文件,.bin数据文件(一列对应一个bin文件,写入bin文件之前先经过默认LZ4压缩)

MergeTree通过标记文件建立了 primary.idx稀疏索引与.bin数据文件之间的映射关系。即首先通过稀疏索引(primary.idx)找到对应数据的偏移量信息(.mrk),再通过偏移量直接从.bin文件中读取数据。

稀疏索引一行索引对应一段数据,而不是一行

建表

create table t_order_mt3(
  id UInt32,
	sku_id String,
	total_amount Decimal(16,2) TTL create_time+interval 10 
ClickHouse学习笔记(一):ClickHouse架构概述(为什么ClickHouse这么快呢?) ClickHouse是一款MPP架构的数据库,它没有采用Hadoop生态中的主从架构,而是使用了多主对等网络结果,同时它也是基于关系模型的ROLAP方案。 阅读详情

相关推荐

clickhouse学习(一):clickhouse的安装与可视化工具连接

一、安装 1、打开clickhouse官网地址:https://clickhouse.tech/,拖动网页到底部,找到安装命令参考: 2、找到与自己电脑系统适配的安装命令,博主此处使用的是Ubuntu系统(注:如果不想使用虚拟机或者docker,可以参考https://blog.youkuaiyun.com/qq_38830964/article/details/113242723,直接以类似应用程序的形式下载Ubuntu) sudo apt-get install apt-transport-https

qq_38830964的博客 1万+

ClickHouse学习资料整理(持续更新中)

文章目录ClickHouse学习资料整理(持续更新中)网站图书文章视频公众号 ClickHouse学习资料整理(持续更新中) 网站 ClickHouse官网:https://clickhouse.tech/ ClickHouse GitHub:https://github.com/ClickHouse/ClickHouse ClickHouse中文社区:http://clickhouse.com.cn/ 《ClickHouse原理解析与应用实践》示例代码:https://github.com/nauu/c

锐意工作室 2831

ClickHouse怎么学习

ClickHouse的知识点比较多,而且相互之间也有一定的联系。在学习的过程中,要善于总结归纳,把零散的知识点串联起来,形成一个完整的知识体系。比如说,你在学习索引优化的过程中,要把不同类型的索引适用场景、优缺点都总结出来,然后思考在不同的业务场景下应该选择哪种索引。这样当你遇到类似的问题时,就能举一反三,快速找到解决方案。好啦,宝子们,关于ClickHouse的学习方法就给大家分享到这里啦!

Kenneth55的专栏 715

《ClickHouse入门、实战与进阶》的创作之路

很高兴为您推荐一本有关ClickHouse的入门、实战与进阶书籍。这本书对于那些想要深入学习ClickHouse以及数据分析的朋友们来说,是一个非常不错的选择。我相信通过阅读这本书,您会对ClickHouse有更深入的了解,并且掌握更多实用的技巧。如果您有任何问题,欢迎随时与我交流,共同进步。《ClickHouse入门、实战与进阶》,欢迎一起交流学习,共同进步!《FFmpeg原理》的创作之路_Loken2020的博客-优快云博客另外,本文由WPS AI辅助写作。

AI天才研究院 7778

用R搞定生态溯源:MixSIAR贝叶斯混合模型从安装到出图的保姆级教程

本文提供了一份详细的MixSIAR贝叶斯混合模型教程,涵盖从R环境配置、数据预处理到模型参数设置和可视化分析的完整流程。通过实战案例和常见问题解决方案,帮助生态学研究者快速掌握混合模型在生态溯源中的应用,提升数据分析效率。

weixin_42531516的博客 467

主成分分析避坑指南:为什么你的PCA结果总是不理想?

本文深入剖析了主成分分析(PCA)在实际应用中效果不佳的常见原因与解决方案。针对数据标准化、协方差矩阵选择、主成分数量确定、载荷矩阵解读等关键环节,提供了详细的避坑指南和诊断方法,并探讨了PCA的局限性及非线性数据结构下的备选方案,帮助数据分析师获得更稳健、可解释的降维结果。

convnet3designer的博客 512

傅里叶光学(1)

傅里叶光学,可以看作是通信理论中傅里叶变换等一系列数学思想以及系统理论与光学(主要是衍射光学)相结合的产物关于傅里叶光学的应用领域,本节介绍了成像,当然事实上不可能仅限于成像,经典的还如激光散斑的一些应用,干涉计量,还有傅里叶变换光谱学等等。最后总结一下,傅里叶光学我认为可以看做一个工具,对于任意的系统,它能给出一些数学思想与物理原理进行解释和分析,找出系统的扰动和响应的关系,或者说根据扰动和响应,来研究或者设计一个系统。

m0_53607446的博客 1682

VirtualBox虚拟机拖放文件总失败?手把手教你配置双向拖放与共享文件夹(Ubuntu版)

本文详细指导如何在VirtualBox的Ubuntu虚拟机中配置高效的数据交换方案。核心是安装VirtualBox Guest Additions,并在此基础上开启双向拖放与共享粘贴板功能,同时建立稳定的共享文件夹,彻底解决主机与虚拟机间文件传输失败的问题,构建无缝的跨系统工作环境。

weixin_29245767的博客 232

CloudCompare横截面工具实战:从点云切片到轮廓提取的完整流程

本文详细介绍了CloudCompare软件中Cross Section工具的核心功能与实战流程。从交互式裁剪框的精准操控,到包络线提取的参数设置与优化,再到内部轮廓提取及批量处理技巧,完整解析了如何从三维点云中高效提取建筑立面、隧道断面等关键轮廓信息,是点云数据处理与分析的实用指南。

weixin_29290963的博客 286

MIPI转LVDS芯片调试实战:从Kernel到UEFI的完整点亮流程

本文详细解析了MIPI转LVDS芯片调试的全流程,从Kernel驱动开发到UEFI早期初始化,涵盖I2C通信、电源时序控制等核心挑战。通过LT9211芯片实战案例,提供设备树配置、电源时序优化及显示异常排查等实用技巧,助力工程师高效完成屏幕调试工作。

weixin_30314813的博客 450

Oracle EBS Interface/API(29) - AP发票API

续上编文章《Oracle EBS Interface/API(28) - 客制化开发AP付款API》背景,介绍如调用官方提供标准AP发票API调用 用户界面 Invoices(Payables Manager->Invoices->Entry->Invoices) Open Interface Invoices(Payables Manager->Invoices->Entry->Open Interface Invoices) 快速参考 参考点 内容.

陈显平的专栏-Oracle EBS 1151

Python爬虫实战:爬取携程旅游平台数据,我拆解了动态反爬+Cookie续命(附完整可运行代码)

反爬类型表现形式应对思路sign参数返回403/空数据逆向JS还原加密逻辑Cookie时效登录后1小时Cookie失效定时刷新Cookie/保存登录态行为检测爬取过快触发验证码模拟真人延时/随机点击IP封禁单IP爬取超50条数据被封付费代理池/降低请求频率爬取携程旅游平台数据的核心,不是“简单的HTTP请求”,而是“理解平台的反爬逻辑并合规适配”——从sign参数破解到Cookie维护,再到行为模拟,每一步都是对HTTP协议、前端加密、用户行为的深度理解。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1715

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: Hive学习整理
Foools
博客等级 码龄9年 1万+粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值