大数据技术之ClickHouse---入门篇---介绍

简介: 大数据技术之ClickHouse---入门篇---介绍

                                                                                 

?????????????????????? 星光下的赶路人star的个人主页

??????????????????????知世故而不世故 是善良的成熟


文章目录



1、Clickhouse入门


1.1 什么是Clickhouse


ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C++

语言编写,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报

告。


1.1.1 Clickhouse的特点


1.1.1.1 列示储存

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

好处是想查某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以。但是当想

查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的

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

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

3、列示储存的好处

对于列的聚合,计数,求和等统计操作原因优于行式存储。


由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列

选择更优的数据压缩算法,大大提高了数据的压缩比重。


由于数据压缩比更好,一方面节省了磁盘空间,另一方面对于 cache 也有了更大的

发挥空间。


1.1.1.2 DBMS的功能


几乎覆盖了标准 SQL 的大部分语法,包括 DDL 和 DML,以及配套的各种函数,用户管

理及权限管理,数据的备份与恢复。


1.1.1.3 多样化引擎


ClickHouse 和 MySQL 类似,把表级的存储引擎插件化,根据表的不同需求可以设定不同

的存储引擎。目前包括合并树、日志、接口和其他四大类 20 多种引擎。


1.1.1.4 高吞吐写入能力


ClickHouse 采用类 LSM Tree的结构,数据写入后定期在后台 Compaction。通过类 LSM tree的结构,ClickHouse 在数据导入时全部是顺序 append 写(与Kafka的读写类似),写入后数据段不可更改,在后台compaction 时也是多个段 merge sort 后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力,即便在 HDD 上也有着优异的写入性能。

官方公开 benchmark 测试显示能够达到 50MB-200MB/s 的写入吞吐能力,按照每行

100Byte 估算,大约相当于 50W-200W 条/s 的写入速度。


1.1.1.5 数据分区与线程级并行


ClickHouse 将数据划分为多个 partition,每个 partition 再进一步划分为多个 index

granularity(索引粒度),然后通过多个 CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下,单条 Query 就能利用整机所有 CPU。极致的并行处理能力,极大的降低了查询延时。


所以,ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端

就是对于单条查询使用多 cpu,就不利于同时并发多条查询。所以对于高 qps 的查询业务,ClickHouse 并不是强项。


1.1.1.6 性能对比


某网站精华帖,中对几款数据库做了性能对比。

1、单表查询

2、关联查询

结论: ClickHouse 像很多 OLAP 数据库一样,单表查询速度由于关联查询,而且 ClickHouse的两者差距更为明显。

                                                                                     

                                                                        您的支持是我创作的无限动力

                                                                                     

??????????????????????希望我能为您的未来尽绵薄之力

                                                                                     

????????????????????如有错误,谢谢指正若有收获,谢谢赞美

相关文章
|
5天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
5天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
5天前
|
存储 数据采集 数据可视化
大数据处理技术
【4月更文挑战第10天】大数据处理涵盖采集、预处理、存储、分析挖掘、展现和应用等关键步骤。采集涉及多种类型数据,预处理确保数据质量,存储管理关注规模、速度和安全,分析挖掘利用机器学习发现价值,展现和应用则通过可视化和检索实现数据价值。云计算和AI强化了大数据处理能力,整体目标是提取数据中的价值,驱动企业和社会进步。
35 4
大数据处理技术
|
5天前
|
机器学习/深度学习 运维 算法
大数据基础工程技术团队4篇论文入选ICLR,ICDE,WWW
近日,由阿里云计算平台大数据基础工程技术团队主导的四篇时间序列相关论文分别被国际顶会ICLR2024、ICDE2024和WWW2024接收。
|
5天前
|
存储 机器学习/深度学习 数据采集
大数据处理与分析实战:技术深度剖析与案例分享
【5月更文挑战第2天】本文探讨了大数据处理与分析的关键环节,包括数据采集、预处理、存储、分析和可视化,并介绍了Hadoop、Spark和机器学习等核心技术。通过电商推荐系统和智慧城市交通管理的实战案例,展示了大数据在提高用户体验和解决实际问题上的效能。随着技术进步,大数据处理与分析将在更多领域发挥作用,推动社会进步。
|
5天前
|
分布式计算 大数据 数据处理
[AIGC大数据基础] Spark 入门
[AIGC大数据基础] Spark 入门
143 0
|
5天前
|
存储 数据可视化 大数据
大数据技术框架
【4月更文挑战第20天】大数据一般需要经过6个主要环节,包括数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析和数据可视化。
|
5天前
|
存储 大数据 数据管理
大数据技术是如何发展的?
大数据虽已发展多年,但仍面临将恰当信息在正确时间传递给合适人员的挑战。尽管技术进步,大部分企业员工仍难以获取所需信息。数据仓库、数据湖和数据结构等存储系统涌现,但集中数据并不实际,数据去中心化趋势明显。数据结构允许异构数据并促进治理,同时,云计算影响大数据战略,提供灵活实验空间。数据治理和隐私规则的遵守至关重要,流程成熟度聚焦于数据质量和共享。目前大数据正处于“幻灭低谷”,成功的关键在于数据治理和处理流程的改进。
|
5天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
5天前
|
机器学习/深度学习 人工智能 数据可视化
基于Python的数据可视化技术在大数据分析中的应用
传统的大数据分析往往注重数据处理和计算,然而数据可视化作为一种重要的技术手段,在大数据分析中扮演着至关重要的角色。本文将介绍如何利用Python语言中丰富的数据可视化工具,结合大数据分析,实现更直观、高效的数据展示与分析。

热门文章

最新文章

http://www.vxiaotou.com