ClickHouse概述 - 简书


本站和网页 https://www.jianshu.com/p/350b59e8ea68 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

ClickHouse概述 - 简书登录注册写文章首页下载APP会员IT技术ClickHouse概述liuzx32关注赞赏支持ClickHouse概述 一. 概述随着物联网IOT时代的来临,IOT设备感知和报警存储的数据越来越大,有用的价值数据需要数据分析师去分析。大数据分析成了非常重要的环节。当然近两年开启的开源大潮,为大数据分析工程师提供了十分富余的工具。但这同时也增加了开发者选择合适的工具的难度,尤其对于新入行的开发者来说。学习成本,框架的多样化和复杂度成了很大的难题。例如kafka,hdfs,spark,hive 等等组合才能产生最后的分析结果。把各种开源框架、工具、库、平台人工整合到一起所需工作之复杂,是大数据领域开发和数据分析师常有的抱怨之一,也是他们支持大数据分析平台简单化和统一化的首要原因。二.Clickhouse 发展历史Yandex在2016年6月15日开源了一个数据分析的数据库,名字叫做ClickHouse,这对保守俄罗斯人来说是个特大事。更让人惊讶的是,这个列式存储数据库的跑分要超过很多流行的商业MPP数据库软件,例如Vertica。如果你没有听过Vertica,那你一定听过 Michael Stonebraker,2014年图灵奖的获得者,PostgreSQL和Ingres发明者(Sybase和SQL Server都是继承 Ingres而来的), Paradigm4和SciDB的创办者。Michael Stonebraker于2005年创办Vertica公司,后来该公司被HP收购,HP Vertica成为MPP列式存储商业数据库的高性能代表,Facebook就购买了Vertica数据用于用户行为分析。三.Clickhouse 支持特性剖析在看Clickhouse 运行场景之前要了解技术的功能特性以及弊端是一个技术架构以及开发人员所要了解的。只有”知己知彼”才可以”百战不殆”,接下来我们看一下Clickhouse的具体特点;Ø  1.真正的面向列的DBMSØ  2.数据高效压缩Ø  3.磁盘存储的数据Ø  4.多核并行处理Ø  5.在多个服务器上分布式处理Ø  6.SQL语法支持Ø  7.向量化引擎Ø  8.实时数据更新Ø  9.索引Ø  10.适合在线查询Ø  11.支持近似预估计算Ø  12.支持嵌套的数据结构Ø  支持数组作为数据类型Ø  13.支持限制查询复杂性以及配额Ø  14.复制数据复制和对数据完整性的支持#我们来看看其中的一些功能: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,我们不能真正谈论SQL的支持。NULL不支持。所有的函数都有不同的名字。JOIN支持。子查询在FROM,IN,JOIN子句中被支持;标量子查询支持。关联子查询不支持。7.向量化引擎数据不仅按列存储,而且由矢量 - 列的部分进行处理。这使我们能够实现高CPU性能。8.实时数据更新ClickHouse支持主键表。为了快速执行对主键范围的查询,数据使用合并树(MergeTree)进行递增排序。由于这个原因,数据可以不断地添加到表中。添加数据时无锁处理。9.索引例如,带有主键可以在特定的时间范围内为特定客户端(Metrica计数器)抽取数据,并且延迟时间小于几十毫秒。10.支持在线查询这让我们使用该系统作为Web界面的后端。低延迟意味着可以无延迟实时地处理查询,而Yandex.Metrica界面页面正在加载(在线模式)。11.支持近似计算1.系统包含用于近似计算各种值,中位数和分位数的集合函数。2.支持基于部分(样本)数据运行查询并获得近似结果。在这种情况下,从磁盘检索比例较少的数据。3.支持为有限数量的随机密钥(而不是所有密钥)运行聚合。在数据中密钥分发的特定条件下,这提供了相对准确的结果,同时使用较少的资源。12.数据复制和对数据完整性的支持。使用异步多主复制。写入任何可用的副本后,数据将分发到所有剩余的副本。系统在不同的副本上保持相同的数据。数据在失败后自动恢复ClickHouse的不完美:Ø  1.不支持事物。Ø  2.不支持Update/Delete操作。Ø  3.支持有限操作系统。现在支持ubuntu,centos 需要自己编译,不过有热心人已经编译好了,拿来用就行。对于Windows  不支持。四.ClickHouse应用场景自从ClickHouse2016年6月15日开源后,ClickHouse中文社区随后成立。中文开源组开始以易观,海康威视,美团,新浪,京东,58,腾讯,酷狗音乐和俄罗斯开源社区等人员组成,随着开源社区的不断活跃,陆续有神州数码,青云,PingCAP,中软国际等公司成员加入以及其他公司成员加入。初始在群里讨论技术后续有一些大型公司陆续运用到项目中,介于分享不方便问题解决,建立了相应的论坛。根据交流得知一些大公司已经运用。#可以应用以下场景:1.电信行业用于存储数据和统计数据使用。2.新浪微博用于用户行为数据记录和分析工作。3.用于广告网络和RTB,电子商务的用户行为分析。4.信息安全里面的日志分析。5.检测和遥感信息的挖掘。6.商业智能。7.网络游戏以及物联网的数据处理和价值数据分析。8.最大的应用来自于Yandex的统计分析服务Yandex.Metrica,类似于谷歌Analytics(GA),或友盟统计,小米统计,帮助网站或移动应用进行数据分析和精细化运营工具,据称Yandex.Metrica为世界上第二大的网站分析平台。ClickHouse在这个应用中,部署了近四百台机器,每天支持200亿的事件和历史总记录超过13万亿条记录,这些记录都存有原始数据(非聚合数据),随时可以使用SQL查询和分析,生成用户报告。五.ClickHouse 和一些技术的比较1.商业OLAP数据库例如:HP Vertica, Actian the Vector,区别:ClickHouse是开源而且免费的2.云解决方案例如:亚马逊RedShift和谷歌的BigQuery区别:ClickHouse可以使用自己机器部署,无需为云付费3.Hadoop生态软件例如:Cloudera Impala, Spark SQL, Facebook Presto , Apache Drill区别:ClickHouse支持实时的高并发系统ClickHouse不依赖于Hadoop生态软件和基础ClickHouse支持分布式机房的部署4.开源OLAP数据库例如:InfiniDB, MonetDB, LucidDB区别:这些项目的应用的规模较小,并没有应用在大型的互联网服务当中,相比之下,ClickHouse的成熟度和稳定性远远超过这些软件。5.开源分析,非关系型数据库例如:Druid , Apache Kylin区别:ClickHouse可以支持从原始数据的直接查询,ClickHouse支持类SQL语言,提供了传统关系型数据的便利。六.总结在大数据分析领域中,传统的大数据分析需要不同框架和技术组合才能达到最终的效果,在人力成本,技术能力和硬件成本上以及维护成本让大数据分析变得成为昂贵的事情。让很多中小型企业非常苦恼,不得不被迫租赁第三方大型公司的数据分析服务。ClickHouse开源的出现让许多想做大数据并且想做大数据分析的很多公司和企业耳目一新。ClickHouse 正是以不依赖Hadoop 生态、安装和维护简单、查询速度快、可以支持SQL等特点在大数据分析领域越走越远。#推荐阅读更多精彩内容数据分析的利器-clickhouse概述Clickhouse是Yandex开源的一个用于实时数据分析的数据库,一开始就用在yandex内部的多个数据分析业...SoloCafe阅读 5,882评论 0赞 4oracle错误集合ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...我想起个好名字阅读 4,440评论 0赞 9关于Mongodb的全面总结关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...中v中阅读 30,539评论 2赞 89ClickHouse 基础介绍什么是ClickHouse? ClickHouse 是面向 OLAP 的分布式列式 DBMS. 在“正常”的面向行...c3729438b799阅读 12,704评论 0赞 5解牛刀(一)文/夜奔 塞北玉门关外,春风不度,一派荒凉。俗话说,穷山恶水多刁民。这贫瘠的土地上孕育出了不少凶悍的人物,但凡过往...一夜星辰阅读 661评论 0赞 0从量变到质变从量变到质变,这个引人深思的哲学话题。仔细想想,其实也与我们的生活息息相关,生活里其实也处处通透着这样的道理。 ...奥里给gkd阅读 613评论 0赞 0古城小学:文明城市复审,古城小学在行动 周一文明城市创建复审,古城小学分了1000米的街道卫生打扫任务。接到任务后古城小学刘校长立刻进行了工作布署...锡秋阅读 192评论 0赞 02018.9.12姓名:罗婷婷 公司:海南蔚蓝时代实业有限公司 组别:第 420期 努力4组 (参加培训时的组名) 【日精进打卡第4...LT婷_420期阅读 96评论 0赞 0评论0赞6666赞67赞赞赏更多好文