您现在的位置是:课程

2021年大数据实时分析领域黑马ClickHouse教程

2023-06-29 21:13课程 人已围观

课程购买咨询和资料获取请加老师QQ  2020363447      

ClickHouse 是俄罗斯最大的搜索公司 Yandex 推出的大数据存储和开源组件,在 2017 年易观 OLAP 大赛获得黑马冠军之后,得到了大量的媒体曝光和开发者的认同,大家戏称这是俄罗斯送来的“喀秋莎数据库”。

随着物联网 IOT 时代的来临,IOT 设备感知和报警存储的数据越来越大,有用的价值数据需要数据分析师去分析。大数据分析成了非常重要的环节。当然近两年开启的开源大潮,为大数据分析工程师提供了十分富余的工具。但这同时也增加了开发者选择合适的工具的难度,尤其对于新入行的开发者来说。学习成本,框架的多样化和复杂度成了很大的难题。例如 Kafka,Hdfs,Spark,Hive 等等组合才能产生最后的分析结果。把各种开源框架、工具、库、平台人工整合到一起所需工作之复杂,是大数据领域开发和数据分析师常有的抱怨之一,也是他们支持大数据分析平台简单化和统一化的首要原因。
 

ClickHouse 的具体特点。其中的一些功能简介: 

1. 真正的面向列的 DBMS

在一个真正的面向列的 DBMS 中,没有任何“垃圾”存储在值中。例如,必须支持定长数值,以避免在数值旁边存储长度“数字”。例如,十亿个 UInt8 类型的值实际上应该消耗大约 1 GB 的未压缩磁盘空间,否则这将强烈影响 CPU 的使用。由于解压缩的速度(CPU 使用率)主要取决于未压缩的数据量,所以即使在未压缩的情况下,紧凑地存储数据(没有任何“垃圾”)也是非常重要的。

因为有些系统可以单独存储单独列的值,但由于其他场景的优化,无法有效处理分析查询。例如 HBase,BigTable,Cassandra 和 HyperTable。在这些系统中,每秒钟可以获得大约十万行的吞吐量,但是每秒不会达到数亿行。

另外,ClickHouse 是一个 DBMS,而不是一个单一的数据库。ClickHouse 允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器。 

2. 数据压缩

一些面向列的 DBMS(InfiniDB CE 和 MonetDB)不使用数据压缩。但是,数据压缩确实提高了性能。

 3. 磁盘存储的数据

许多面向列的 DBMS(SAP HANA 和 GooglePowerDrill)只能在内存中工作。但即使在数千台服务器上,内存也太小,无法在 Yandex.Metrica 中存储所有浏览量和会话。

 4. 多核并行处理

多核多节点并行化大型查询。 

5. 在多个服务器上分布式处理

上面列出的列式 DBMS 几乎都不支持分布式处理。在 ClickHouse 中,数据可以驻留在不同的分片上。每个分片可以是用于容错的一组副本。查询在所有分片上并行处理。这对用户来说是透明的。 

6.SQL 支持

如果你熟悉标准的 SQL 语法,那么大家在谈论 ClickHouse SQL 语法的支持层面上,就不能算真正全面的支持 SQL 语法了。ClickHouse  SQL 有跟真正 SQL 不一样的函数名称。不过语法基本跟 SQL 语法兼容,支持 JOIN、FROM、IN 和 JOIN 子句以及标量子查询支持子查询。不支持关联子查询。ClickHouse 支持基于 SQL 的声明性的查询语言,并且在许多情况下符合 SQL 标准。支持 FROM BY、IN 和 JOIN 子句中的 GROUP BY、ORDER BY,标量子查询和子查询。不支持特殊的子查询和窗口函数。 

7. 向量化引擎

数据不仅按列存储,而且由矢量 - 列的部分进行处理。这使我们能够实现高 CPU 性能。 

8. 实时数据更新

ClickHouse 支持主键表。为了快速执行对主键范围的查询,数据使用合并树 (MergeTree) 进行递增排序。由于这个原因,数据可以不断地添加到表中。添加数据时无锁处理。 

9. 索引

例如,带有主键可以在特定的时间范围内为特定客户端(Metrica 计数器)抽取数据,并且延迟时间小于几十毫秒。 

10. 支持在线查询

这让我们使用该系统作为 Web 界面的后端。低延迟意味着可以无延迟实时地处理查询,而 Yandex.Metrica 界面页面正在加载(在线模式)。 

11. 支持近似计算

系统包含用于近似计算各种值,中位数和分位数的集合函数。

支持基于部分(样本)数据运行查询并获得近似结果。在这种情况下,从磁盘检索比例较少的数据。

支持为有限数量的随机密钥(而不是所有密钥)运行聚合。在数据中密钥分发的特定条件下,这提供了相对准确的结果,同时使用较少的资源。 

12. 数据复制和对数据完整性的支持。

使用异步多主复制。写入任何可用的副本后,数据将分发到所有剩余的副本。系统在不同的副本上保持相同的数据。数据在失败后自动恢复

 

ClickHouse 不完美之处: 

不支持事物。

不支持 Update/Delete 操作。

支持有限操作系统。

现在支持 ubuntu,CentOS 需要自己编译,不过有热心人已经编译好了,拿来用就行。对于 Windows 不支持。

 ClickHouse 与已有大数据分析技术有何不同

知道了 ClickHouse 的特性和不完美,下面我们可以对比一下之前的大数据分析跟现在的有啥区别?

|  代替复杂的多样大数据技术组合架构

之前的大数据分析,例如 Hadoop 家族由很多技术和框架组合而成,犹如一头大象被拆分后其实所剩下的价值也就是 HDFS、Kafka、Spark ,其他的几乎都没有任何价值。

这些可以用 ClickHouse 一项技术代替。

典型的大数据分析架构 =>ClickHouse

本套教程可以让你快速入门ClickHouse技术。

-->

站点信息

  • 文章统计篇文章