- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
比Hive快800倍!大数据实时分析领域黑马ClickHouse入门
2021-08-26
一. 概述
随着物联网 IOT 时代的来临,IOT 设备感知和报警存储的数据越来越大,有用的价值数据需要数据分析师去分析。大数据分析成了格外重要的环节。当然近两年开启的开源大潮,为大数据分析工程师供应了格外富余的工具。但这同时也添加了开发者选择合适的工具的难度,尤其对于新入行的开发者来说。学习成本,框架的多样化和简单度成了很大的难题。例如 Kafka,Hdfs,Spark,Hive 等等组合才能产生最终的分析结果。把各种开源框架、工具、库、平台人工整合到一起所需工作之简单,是大数据领域开发和数据分析师常有的埋怨之一,也是他们支持大数据分析平台简约化和统一化的首要缘由。
二.ClickHouse 进展历史
Yandex 在 2021 年 6 月 15 日开源了一个数据分析的数据库,名字叫做 ClickHouse,这对保守俄罗斯人来说是个特大事。更让人惊异的是,这个列式存储数据库的跑分要超过很多流行的商业 MPP 数据库软件,例如 Vertica。假如你没有听过 Vertica,那你肯定听过 Michael Stonebraker,2021 年图灵奖的获得者,PostgreSQL 和 Ingres 创造者(Sybase 和 SQL Server 都是承继 Ingres 而来的), Paradigm4 和 SciDB 的创办者。Michael Stonebraker 于 2005 年创办 Vertica 公司,后来该公司被 HP 收购,HP Vertica 成为 MPP 列式存储商业数据库的高功能代表,Facebook 就购买了 Vertica 数据用于用户行为分析。
三.ClickHouse 支持特性剖析
在看 ClickHouse 运转场景之前,架构师或开发人员必需要了解技术的功能特性以及弊端。只要”知己知彼”才可以”百战不殆”,接下来我们看一下 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 支持主键表。为了快速执行对主键范围的查询,数据使用合并树 (MergeTr
原创力文档


文档评论(0)