大数据分析引擎ClickHouse是什么
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,这篇文章的内容主要围绕大数据分析引擎ClickHouse是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
千家信息网最后更新 2025年01月27日大数据分析引擎ClickHouse是什么一、什么是ClickHouse? 二、传统分析数据库的解决方案:
1、传统面对大数据量的处理方式:对数据进行分层,通过层层递进形成数据集市,从而减少最终查询的数据体量,比如提出数据立方体概念,通过对数据进行预先处理,以空间换时间,提升查询性能。 2、OLAP分类 关系型ROLAP:使用关系型模型构建,数据模型常使用星型模型或雪花模型 多维型MOLAP:使用多维数组的形式保存数据,其核心思想是借助预处理聚合结果,使用空间换时间的形式提升查询性能 混合架构HOLAP:可以理解ROLAP和MOLAP两者集成 ClickHouse(全称:Click Stream,Data WareHouse)具有ROLAP、在线实时查询、完整的DBMS、列式存储、不需要任何数据预处理、支持批量更新、非常完善的SQL和函数支持、支持高可用、不依赖Hadoop生态及开箱即用等特点。 ClickHouse 历史演化过程: Mysql时期->另辟蹊径的Metrage时期->自我突破的OLAPServer时期->水到渠成的ClickHouse时期 1、MySQL时期: 采用MyISAM表引擎,采用B+数结构存储索引,而数据文件使用另外单独的存储文件,(区别于InnoDB表引擎使用B+树同时存储索引和数据,数据直接挂载在叶子节点中) 2、Metrage时期: 数据模型层面:关系型模型改为Key-Value模型 索引层面:LSM树代替了B+树 数据处理层面:实时查询改为预处理方式 使用LSM树最具代表性的是Hbase数据库,LSM本质可以看成将原本一颗大树拆成了许多颗小树,每一批次写入的数据会在内存中构建出一个小树,构建完成即完成写入(这里会通过预写日志的方式,防止内存故障而导致数据丢失),写入数据只发生在内存,不涉及磁盘操作,所以极大的提高了写入速度。 3、OLAPServer时期: 设计思路:取众家之长 数据模型:换回了关系型,理由:关系型有更好的描述能力 存储层面:与MyISAM表引擎类似,分为索引文件和数据文件 索引层面:沿用LSM树,将索引文件和数据文件按列进行拆分,每个列字段独立存储。 1、ClickHouse适用场景: 非常适用商业智能领域,也广泛应用于广告流量、web、app流量、电信、金融、电子商务、信息安全、网络游戏、物联网等 2、ClickHouse不适用场景: 不支持事务 不擅长根据主键按行粒度查询(虽然支持),所以不应该把ClickHouse当作Key-Value数据库使用 不擅长按行删除数据(虽然支持) ClickHouse是一款MPP架构的列式存储数据库,汲取了各家技术的精髓,将每一个细节做到了极致。 1、完备的DBMS(数据库管理系统)功能 DDL(数据库定义语言):可以动态的创建数据库、表和视图 DML(数据库操作语言):动态的查询、新增、修改及删除数据 权限控制、数据备份与恢复、分布式管理等 2、列式存储与数据压缩 不同的列保存在不同的文件中,数据中的重复项越多压缩率就越高,数据的体量就越小,传输就越快,对网络带宽和磁盘IO的压力就越小,使用LZ4算法压缩,压缩率达8:1. 3、向量化执行引擎 向量化引擎可以简单的理解做一项消除程序中循环的优化,原理是在寄存器层面的并行操作,寄存器的访问速度是内存的300倍,硬盘的3000万倍。 4、关系模型与SQL查询 关系模型(包括星型模型、雪花模型乃至宽表模型)相当于其它模型有更好的数据描述能力,另外注意ClickHouse SQL语法区分大小写。 5、多样化的表引擎 拥有合并数、内存、文件、接口和其他六大类20多种表引擎,每种引擎都有各自的特点,适用于不同的场景。 6、多线程与分布式 如果说向量化执行是通过数据级并行方式提升了性能,那么多线程处理就是通过线程级并行方式实现了性能提升,相比底层硬件实现的向量化执行SIMD(单个指令处理多条数据),线程级并行方式由高层次的软件层面控制。 分布式设计的思想是分而治之,在分布式有一条金科定律:移动计算比移动数据更划算。 在存储方面ClickHouse既支持分区(纵向扩展,利用多线程原理),也支持分片(横向扩展,利用分布式原理),可以说将多线程和分布式技术应用到了极致。 7、多主架构 HDFS、Spark、Hbase和ElasticSearch这类分布式系统都采用了Master-Slave主从架构,由一个节点管控,而ClickHouse采用多主架构,客户端访问任何一个节点都能得到相同的结果。 8、在线查询 能够做到急速响应,且无须对数据进行任何预处理加工。 9、数据分片与分布式查询 数据分片是一种将数据横向切分,ClickHouse提供了本地表(Local Table)和分布式表(Distributed Table),本地表相当于一份数据分片,而分布式表本身不存储任何数据,它是本地表的访问代理,其作用类似分库中间件,借助分布式表可访问多个本地表,从而实现分布式查询。 1、着眼硬件,先想后做 2、算法在前,抽象在后 3、勇于尝鲜,不行就换 4、特定场景,特殊优化 5、持续测试,持续改进
这篇文章的内容主要围绕大数据分析引擎ClickHouse是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
对于存储而言,列式数据库总是将同一列的数据存储在一起,不同列的数据也总是分开存储。
常见的列式数据库有:Vertica、 Paraccel (Actian Matrix,Amazon Redshift)、 Sybase IQ、 Exasol、 Infobright、 InfiniDB、 MonetDB (VectorWise, Actian Vector)、 LucidDB、 SAP HANA、 Google Dremel、 Google PowerDrill、 Druid、 kdb+。
三、一匹横空出世的黑马ClickHouse
四、ClickHouse(全称:Click Stream,Data WareHouse)
五、ClickHouse架构详解
六、ClickHouse的设计原则,如此之快的秘诀
感谢你的阅读,相信你对"大数据分析引擎ClickHouse是什么"这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注网站!小编会继续为大家带来更好的文章!
数据
模型
存储
分布式
数据库
查询
引擎
文件
支持
层面
时期
方式
架构
索引
线程
内存
处理
分析
不同
场景
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
滁州联想服务器内存条推荐商家
砀山软件开发商
上海朋利网络技术公司注册时间
怎么拷贝数据库到另一台电脑
3d网络安全吗
虚幻五做软件开发卡顿怎么办
互联网网络安全信息
实验4 数据库的安全性
呼市网络安全周
银行网络安全防护规范
全日制大专计算机网络技术
猫和老鼠服务器被关
商城购物车数据库设计
智慧软件开发关键因素
数据库的管理员等级
极米能做网络安全吗
sybase 数据库价格
软件开发 20%提成
金宝网世纪网络技术 北京
充电桩网络安全
2022年网络安全动漫
重庆工业软件开发哪里有
c 怎么连sql数据库
戴尔服务器双电改单电源
数据库附加出错905
lucid中心数据库
tbc 70数据库
西宁网络安全技术提升费用多少
网络技术与应用论文
德州网络技术学校