ClickHouse

clickhouse 发表于 2023-12-1 17:50:09 | 显示全部楼层 |阅读模式
产品简介
ClickHouse是一个用于联机分析处理(OLAP)的开源列式数据库。
ClickHouse是由俄罗斯IT公司Yandex为Yandex.Metrica网络分析服务开发的。ClickHouse允许分析实时更新的数据。该系统以高性能为目标。
发展历史
Yandex.Metrica以前使用一种经典的方法,即以聚合形式存储原始数据。[11] 这种方法可以帮助减少存储的数据量。然而,它有几个局限性和缺点:
  • 可用报表的列表必须是预先确定的,而且无法生成自定义报表。
  • 聚合之后,数据量可能会增加。当数据由大量键进行聚合或使用具有高基数的键(如URL)时,就会发生这种情况。
  • 对于具有不同聚合的报表,很难支持逻辑一致性。
另一种方法是存储未聚合的数据。处理原始数据需要高性能的系统,因为所有计算都是实时进行的。为了解决这个问题,需要一个能够处理整个互联网规模的分析数据的列式数据库。Yandex开始开发自己的列式数据库。 ClickHouse的第一个原型在2009年出现。2014年底,Yandex.Metrica 2.0版发布。新版本有一个用于创建自定义报告的接口,并使用ClickHouse存储和处理数据。
主要功能
  • 真正的列式数据库。 没有任何内容与值一起存储。例如,支持常量长度值,以避免将它们的长度“ number”存储在值的旁边。
  • 线性可扩展性。 可以通过添加服务器来扩展集群。
  • 容错性。 系统是一个分片集群,其中每个分片都是一组副本。ClickHouse使用异步多主复制。数据写入任何可用的副本,然后分发给所有剩余的副本。Zookeeper用于协调进程,但不涉及查询处理和执行。
  • 能够存储和处理数PB的数据。
  • SQL支持。 Clickhouse支持类似SQL的扩展语言,包括数组和嵌套数据结构、近似函数和URI函数,以及连接外部键值存储的可用性。
  • 高性能。
    • 使用向量计算。数据不仅由列存储,而且由向量处理(一部分列)。这种方法可以实现高CPU性能。
    • 支持采样和近似计算。
    • 可以进行并行和分布式查询处理(包括JOIN)。
  • 数据压缩。
  • HDD优化。 该系统可以处理不适合内存的数据。
  • 用于数据库(DB)连接的客户端。 数据库连接方式包括控制台客户端、HTTP API,或者各种编程语言的wrapper(可以用的有Python、PHP、NodeJS、Perl、Ruby与R[18]语言)。ClickHouse也可以使用JDBC驱动。
相关资料
  • 创建

    2023-12-1 17:50:09
  • 最后回复

    2023-12-1
  • 0

    回复

  • 314

    浏览量

  • 1

    用户

快速回复 返回顶部 返回列表