fbpx
维基百科

ClickHouse

ClickHouse是一个用于線上分析處理(OLAP)的开源列式数据库

Clickhouse
開發者ClickHouse Inc 及 ClickHouse開源社區
首次发布2016年6月15日,​7年前​(2016-06-15
当前版本
  • 22.3.2.2 (2022年3月17日)[1]
  • 23.7.5.30 (2023年8月28日;穩定版本)[2]
源代码库
  • github.com/ClickHouse/ClickHouse
编程语言C++
操作系统Linux, macOS
许可协议Apache License 2.0
网站clickhouse.yandex

ClickHouse是由俄罗斯IT公司Yandex为Yandex.Metrica网络分析服务开发的。[3][4][5][6] ClickHouse允许分析实时更新的数据。该系统以高性能为目标。[7]

这个项目是在2016年6月发布的Apache许可证下的开源软件[8]

Yandex.Tank负载测试工具使用ClickHouse。[8] Yandex.Market使用ClickHouse来监控网站的可访问性和KPI。[9] ClickHouse还在CERNLHCb实验[10]中实现了对100亿个事件的元数据进行存储和处理,每个事件有超过1000个属性,Tinkoff Bank使用ClickHouse作为项目的数据存储。[11]

历史 编辑

Yandex.Metrica以前使用一种经典的方法,即以聚合形式存储原始数据。[12] 这种方法可以帮助减少存储的数据量。然而,它有几个局限性和缺点:

  • 可用报表的列表必须是预先确定的,而且无法生成自定义报表。
  • 聚合之后,数据量可能会增加。当数据由大量键进行聚合或使用具有高基数的键(如URL)时,就会发生这种情况。
  • 对于具有不同聚合的报表,很难支持逻辑一致性。

另一种方法是存储未聚合的数据。处理原始数据需要高性能的系统,因为所有计算都是实时进行的。为了解决这个问题,需要一个能够处理整个互联网规模的分析数据的列式数据库。Yandex开始开发自己的列式数据库。 ClickHouse的第一个原型在2009年出现。2014年底,Yandex.Metrica 2.0版发布。新版本有一个用于创建自定义报告的接口,并使用ClickHouse存储和处理数据。

ClickHouse Inc.於2021年9月在加州舊金山成立,以持續發展ClickHouse;最初由Index Ventures、Benchmark Capital和Yandex共投資 5000 萬美元。2021年10月Coatue Management、Altimeter Capital等B輪融資2.5億美元,使公司估值達20億美元。直至2023年ClickHouse Inc員工人數為120人。

功能 编辑

Clickhouse DBMS 的主要功能是:[13]

  • 真正的列式数据库。 没有任何内容与值一起存储。例如,支持常量长度值,以避免将它们的长度“ number”存储在值的旁边。
  • 线性可扩展性。 可以通过添加服务器来扩展集群。
  • 容错性。 系统是一个分片集群,其中每个分片都是一组副本。ClickHouse使用异步多主复制。数据写入任何可用的副本,然后分发给所有剩余的副本。Zookeeper用于协调进程,但不涉及查询处理和执行。
  • 能够存储和处理数PB的数据。
  • SQL支持。 Clickhouse支持类似SQL的扩展语言,包括数组和嵌套数据结构、近似函数和URI函数,以及连接外部键值存储的可用性。
  • 高性能。[14]
    • 使用向量计算。数据不仅由列存储,而且由向量处理(一部分列)。这种方法可以实现高CPU性能。
    • 支持采样和近似计算。
    • 可以进行并行和分布式查询处理(包括JOIN)。
  • 数据压缩。
  • HDD优化。 该系统可以处理不适合内存的数据。
  • 用于数据库(DB)连接的客户端。 数据库连接方式包括控制台客户端、HTTP API,或者各种编程语言的wrapper(可以用的有PythonPHP[15]NodeJS[16]Perl[17]Ruby[18]R[19]语言)。ClickHouse也可以使用JDBC驱动。[20]
  • 详细的文档。(页面存档备份,存于互联网档案馆

限制 编辑

Clickhouse有一些可以被视为缺点的特点:

  • 不支持事务
  • 默认情况下,在执行聚合时,查询中间状态必须适合单个服务器上的RAM。但是,在这种情况下,可以将ClickHouse配置为溢出到磁盘上来解决。
  • 缺乏完整的UPDATE/DELETE实现。

使用场景 编辑

Clickhouse是为OLAP查询而设计的。[13]

  • 它可以处理少量包含大量字段的表。
  • 查询可以使用从数据库中提取的大量行,但只用一小部分字段。
  • 查询相对较少(通常每台服务器大约100个RPS)。
  • 对于简单的查询,允许大约50毫秒的延迟。
  • 列值相当小,通常由数字和短字符串组成(例如每个URL,60字节)。
  • 处理单个查询时需要高吞吐量(每台服务器每秒数十亿行)。
  • 查询结果主要是过滤或聚合的。
  • 数据更新使用简单的场景(通常只是批量处理,没有复杂的事务)。

ClickHouse的一个常见情况是服务器日志分析。在将常规数据上传到ClickHouse之后(建议将数据每次1000条以上批量插入),就可以通过即时查询分析事件或监视服务的指标,如错误率、响应时间等。

ClickHouse还可以用作内部分析师的内部数据仓库。ClickHouse可以存储来自不同系统的数据(比如Hadoop或某些日志),分析人员可以使用这些数据构建内部指示板,或者为了业务目的执行实时分析。

基准测试结果 编辑

根据开发人员进行的基准测试[14] 对于OLAP查询,ClickHouse的速度比Hive(基于Hadoop技术栈的DBMS)或MySQL(通用RDBMS)快100倍以上。

商業實現 编辑

  • Altinity
  • ClickHouse Inc
  • Firebolt

参考文献 编辑

  1. ^ 1.0 1.1 https://github.com/ClickHouse/ClickHouse/releases/tag/v22.3.2.2-lts; 出版日期: 2022年3月17日; 检索日期: 2022年3月25日.
  2. ^ Release 23.7.5.30. 2023年8月28日 [2023年9月18日]. 
  3. ^ Usage Statistics and Market Share of Traffic Analysis Tools for Websites, November 2016. w3techs.com. [2016-11-10]. (原始内容存档于2014-01-21). 
  4. ^ Datanyze. . Datanyze. [2016-11-10]. (原始内容存档于2016-10-21) (美国英语). 
  5. ^ Wappalyzer. . wappalyzer.com. 2011-12-30 [2016-11-10]. (原始内容存档于2017-05-12). 
  6. ^ Analytics - SEOMON.com. seomon.com. [2016-11-10]. (原始内容于2016-10-12). 
  7. ^ ClickHouse: High-Performance Distributed DBMS for Analytics | Percona Live Amsterdam - Open Source Database Conference 2016. www.percona.com. [2016-11-10]. (原始内容于2016-10-21). 
  8. ^ 8.0 8.1 Яндекс открывает ClickHouse. [2016-11-10]. (原始内容于2016-10-21). 
  9. ^ Здоровье Маркета: как мы превращаем логи в графики, Дмитрий Андреев (Яндекс) — События Яндекса. events.yandex.ru. [2016-11-10]. (原始内容于2017-08-30). 
  10. ^ Yandex — Yandex Launches Search Tool for LHC Events at CERN. Yandex. [2016-11-10]. (原始内容于2016-10-20). 
  11. ^ Сравнение аналитических in-memory баз данных. [2016-11-10]. (原始内容于2016-10-21). 
  12. ^ Эволюция структур данных в Яндекс.Метрике. [2016-11-10]. (原始内容于2016-12-28). 
  13. ^ 13.0 13.1 ClickHouse Guide. clickhouse.yandex. [2016-11-10]. (原始内容于2016-11-11). 
  14. ^ 14.0 14.1 Performance comparison of analytical DBMS. clickhouse.yandex. [2016-11-10]. (原始内容于2016-10-20). 
  15. ^ smi2/phpClickHouse. GitHub. [2016-11-10]. (原始内容于2019-09-24). 
  16. ^ apla/node-clickhouse. GitHub. [2016-11-10]. (原始内容于2019-09-24). 
  17. ^ elcamlost/perl-DBD-ClickHouse. GitHub. [2016-11-10]. (原始内容于2018-06-12). 
  18. ^ archan937/clickhouse. GitHub. [2016-11-10]. (原始内容于2018-06-12). 
  19. ^ hannesmuehleisen/clickhouse-r. GitHub. [2016-11-10]. (原始内容于2019-09-24). 
  20. ^ yandex/clickhouse-jdbc. GitHub. [2016-11-10]. (原始内容于2019-09-24). 

外部链接 编辑

clickhouse, 是一个用于線上分析處理, olap, 的开源列式数据库, clickhouse開發者, 開源社區首次发布2016年6月15日, 7年前, 2016, 当前版本22, 2022年3月17日, 2023年8月28日, 穩定版本, 源代码库github, 编程语言c, 操作系统linux, macos许可协议apache, license, 0网站clickhouse, yandex是由俄罗斯it公司yandex为yandex, metrica网络分析服务开发的, 允许分析实时更新的数据, 该系统. ClickHouse是一个用于線上分析處理 OLAP 的开源列式数据库 Clickhouse開發者ClickHouse Inc 及 ClickHouse開源社區首次发布2016年6月15日 7年前 2016 06 15 当前版本22 3 2 2 2022年3月17日 1 23 7 5 30 2023年8月28日 穩定版本 2 源代码库github wbr com wbr ClickHouse wbr ClickHouse编程语言C 操作系统Linux macOS许可协议Apache License 2 0网站clickhouse wbr yandexClickHouse是由俄罗斯IT公司Yandex为Yandex Metrica网络分析服务开发的 3 4 5 6 ClickHouse允许分析实时更新的数据 该系统以高性能为目标 7 这个项目是在2016年6月发布的Apache许可证下的开源软件 8 Yandex Tank负载测试工具使用ClickHouse 8 Yandex Market使用ClickHouse来监控网站的可访问性和KPI 9 ClickHouse还在CERN的LHCb实验 10 中实现了对100亿个事件的元数据进行存储和处理 每个事件有超过1000个属性 Tinkoff Bank使用ClickHouse作为项目的数据存储 11 目录 1 历史 2 功能 3 限制 4 使用场景 5 基准测试结果 6 商業實現 7 参考文献 8 外部链接历史 编辑Yandex Metrica以前使用一种经典的方法 即以聚合形式存储原始数据 12 这种方法可以帮助减少存储的数据量 然而 它有几个局限性和缺点 可用报表的列表必须是预先确定的 而且无法生成自定义报表 聚合之后 数据量可能会增加 当数据由大量键进行聚合或使用具有高基数的键 如URL 时 就会发生这种情况 对于具有不同聚合的报表 很难支持逻辑一致性 另一种方法是存储未聚合的数据 处理原始数据需要高性能的系统 因为所有计算都是实时进行的 为了解决这个问题 需要一个能够处理整个互联网规模的分析数据的列式数据库 Yandex开始开发自己的列式数据库 ClickHouse的第一个原型在2009年出现 2014年底 Yandex Metrica 2 0版发布 新版本有一个用于创建自定义报告的接口 并使用ClickHouse存储和处理数据 ClickHouse Inc 於2021年9月在加州舊金山成立 以持續發展ClickHouse 最初由Index Ventures Benchmark Capital和Yandex共投資 5000 萬美元 2021年10月Coatue Management Altimeter Capital等B輪融資2 5億美元 使公司估值達20億美元 直至2023年ClickHouse Inc員工人數為120人 功能 编辑Clickhouse DBMS 的主要功能是 13 真正的列式数据库 没有任何内容与值一起存储 例如 支持常量长度值 以避免将它们的长度 number 存储在值的旁边 线性可扩展性 可以通过添加服务器来扩展集群 容错性 系统是一个分片集群 其中每个分片都是一组副本 ClickHouse使用异步多主复制 数据写入任何可用的副本 然后分发给所有剩余的副本 Zookeeper用于协调进程 但不涉及查询处理和执行 能够存储和处理数PB的数据 SQL支持 Clickhouse支持类似SQL的扩展语言 包括数组和嵌套数据结构 近似函数和URI函数 以及连接外部键值存储的可用性 高性能 14 使用向量计算 数据不仅由列存储 而且由向量处理 一部分列 这种方法可以实现高CPU性能 支持采样和近似计算 可以进行并行和分布式查询处理 包括JOIN 数据压缩 HDD优化 该系统可以处理不适合内存的数据 用于数据库 DB 连接的客户端 数据库连接方式包括控制台客户端 HTTP API 或者各种编程语言的wrapper 可以用的有Python PHP 15 NodeJS 16 Perl 17 Ruby 18 与R 19 语言 ClickHouse也可以使用JDBC驱动 20 详细的文档 页面存档备份 存于互联网档案馆 限制 编辑Clickhouse有一些可以被视为缺点的特点 不支持事务 默认情况下 在执行聚合时 查询中间状态必须适合单个服务器上的RAM 但是 在这种情况下 可以将ClickHouse配置为溢出到磁盘上来解决 缺乏完整的UPDATE DELETE实现 使用场景 编辑Clickhouse是为OLAP查询而设计的 13 它可以处理少量包含大量字段的表 查询可以使用从数据库中提取的大量行 但只用一小部分字段 查询相对较少 通常每台服务器大约100个RPS 对于简单的查询 允许大约50毫秒的延迟 列值相当小 通常由数字和短字符串组成 例如每个URL 60字节 处理单个查询时需要高吞吐量 每台服务器每秒数十亿行 查询结果主要是过滤或聚合的 数据更新使用简单的场景 通常只是批量处理 没有复杂的事务 ClickHouse的一个常见情况是服务器日志分析 在将常规数据上传到ClickHouse之后 建议将数据每次1000条以上批量插入 就可以通过即时查询分析事件或监视服务的指标 如错误率 响应时间等 ClickHouse还可以用作内部分析师的内部数据仓库 ClickHouse可以存储来自不同系统的数据 比如Hadoop或某些日志 分析人员可以使用这些数据构建内部指示板 或者为了业务目的执行实时分析 基准测试结果 编辑根据开发人员进行的基准测试 14 对于OLAP查询 ClickHouse的速度比Hive 基于Hadoop技术栈的DBMS 或MySQL 通用RDBMS 快100倍以上 商業實現 编辑Altinity ClickHouse Inc Firebolt参考文献 编辑 1 0 1 1 https github com ClickHouse ClickHouse releases tag v22 3 2 2 lts 出版日期 2022年3月17日 检索日期 2022年3月25日 Release 23 7 5 30 2023年8月28日 2023年9月18日 Usage Statistics and Market Share of Traffic Analysis Tools for Websites November 2016 w3techs com 2016 11 10 原始内容存档于2014 01 21 Datanyze Analytics Market Share Report Competitor Analysis Google Analytics Google Universal Analytics Yandex Metrica Datanyze 2016 11 10 原始内容存档于2016 10 21 美国英语 Wappalyzer Analytics wappalyzer com 2011 12 30 2016 11 10 原始内容存档于2017 05 12 Analytics SEOMON com seomon com 2016 11 10 原始内容存档于2016 10 12 ClickHouse High Performance Distributed DBMS for Analytics Percona Live Amsterdam Open Source Database Conference 2016 www percona com 2016 11 10 原始内容存档于2016 10 21 8 0 8 1 Yandeks otkryvaet ClickHouse 2016 11 10 原始内容存档于2016 10 21 Zdorove Marketa kak my prevrashaem logi v grafiki Dmitrij Andreev Yandeks Sobytiya Yandeksa events yandex ru 2016 11 10 原始内容存档于2017 08 30 Yandex Yandex Launches Search Tool for LHC Events at CERN Yandex 2016 11 10 原始内容存档于2016 10 20 Sravnenie analiticheskih in memory baz dannyh 2016 11 10 原始内容存档于2016 10 21 Evolyuciya struktur dannyh v Yandeks Metrike 2016 11 10 原始内容存档于2016 12 28 13 0 13 1 ClickHouse Guide clickhouse yandex 2016 11 10 原始内容存档于2016 11 11 14 0 14 1 Performance comparison of analytical DBMS clickhouse yandex 2016 11 10 原始内容存档于2016 10 20 smi2 phpClickHouse GitHub 2016 11 10 原始内容存档于2019 09 24 apla node clickhouse GitHub 2016 11 10 原始内容存档于2019 09 24 elcamlost perl DBD ClickHouse GitHub 2016 11 10 原始内容存档于2018 06 12 archan937 clickhouse GitHub 2016 11 10 原始内容存档于2018 06 12 hannesmuehleisen clickhouse r GitHub 2016 11 10 原始内容存档于2019 09 24 yandex clickhouse jdbc GitHub 2016 11 10 原始内容存档于2019 09 24 外部链接 编辑ClickHouse官网 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title ClickHouse amp oldid 78179204, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。