ClickHouse中文官方文档

什么是 ClickHouse?

ClickHouse® 是一个面向列的数据库管理系统 (DBMS),用于查询的在线分析处理 (OLAP)。

在“正常”的面向行的 DBMS 中,数据按以下顺序存储:

手表IDJava启用标题好活动事件时间
#0893543506621投资者关系12016-05-18 05:19:20
#1903295099580联系我们12016-05-18 08:10:20
#2899537060541使命12016-05-18 07:38:00
#N

换句话说,与行相关的所有值在物理上彼此相邻存储。

面向行的 DBMS 的示例有 MySQL、Postgres 和 MS SQL Server。

在面向列的 DBMS 中,数据的存储方式如下:

排:#0#1#2#N
手表ID:893543506629032950995889953706054
Java启用:101
标题:投资者关系联系我们使命
好活动:111
活动时间:2016-05-18 05:19:202016-05-18 08:10:202016-05-18 07:38:00

这些示例仅显示了数据的排列顺序。来自不同列的值是分开存储的,来自同一列的数据是一起存储的。

面向列的 DBMS 示例:Vertica、Paraccel(Actian Matrix 和 Amazon Redshift)、Sybase IQ、Exasol、Infobright、InfiniDB、MonetDB(VectorWise 和 Actian Vector)、LucidDB、SAP HANA、Google Dremel、Google PowerDrill、Druid 和kdb+。

不同的数据存储顺序更适合不同的场景。数据访问场景是指进行什么查询、查询频率和比例;每种查询类型读取多少数据——行、列和字节;读取和更新数据的关系;数据的工作大小以及如何在本地使用它;是否使用事务,以及它们的隔离程度;对数据复制和逻辑完整性的要求;每种查询的延迟和吞吐量要求等。

系统上的负载越高,定制系统设置以匹配使用场景的要求就越重要,并且这种定制变得越细粒度。没有任何系统同样适用于截然不同的场景。如果一个系统能够适应广泛的场景,在高负载下,系统对所有场景的处理能力都会很差,或者只适用于一个或几个可能的场景。

OLAP场景

  • 绝大多数请求都是针对读取访问的。
  • 数据以相当大的批次(> 1000 行)更新,而不是单行更新;或者根本没有更新。
  • 数据被添加到数据库中,但不会被修改。
  • 对于读取,从数据库中提取了相当多的行,但只提取了一小部分列。
  • 表是“宽的”,这意味着它们包含大量列。
  • 查询相对较少(通常每台服务器每秒有数百个查询或更少)。
  • 对于简单查询,允许大约 50 毫秒的延迟。
  • 列值相当小:数字和短字符串(例如,每个 URL 60 个字节)。
  • 处理单个查询时需要高吞吐量(每台服务器每秒高达数十亿行)。
  • 交易不是必需的。
  • 对数据一致性要求低。
  • 每个查询有一个大表。所有的桌子都很小,除了一张。
  • 查询结果明显小于源数据。换句话说,数据被过滤或聚合,因此结果适合单个服务器的 RAM。

不难看出,OLAP 场景与其他流行场景(如 OLTP 或 Key-Value 访问)有很大不同。因此,如果您想获得不错的性能,尝试使用 OLTP 或 Key-Value DB 来处理分析查询是没有意义的。例如,如果您尝试使用 MongoDB 或 Redis 进行分析,与 OLAP 数据库相比,您将获得非常差的性能。

为什么面向列的数据库在 OLAP场景

面向列的数据库更适合 OLAP 场景:它们在处理大多数查询时至少快 100 倍。原因在下面详细解释,但事实更容易直观地展示:

面向行的 DBMS

面向列的 DBMS

看到不同?

输入/输出

  1. 对于分析查询,只需要读取少量的表列。在面向列的数据库中,您可以只读取您需要的数据。例如,如果您需要 100 列中的 5 列,则可以预期 I/O 减少 20 倍。
  2. 由于数据是以数据包的形式读取的,因此更容易压缩。列中的数据也更容易压缩。这进一步减少了 I/O 量。
  3. 由于 I/O 减少,更多数据适合系统缓存。

例如,查询“统计每个广告平台的记录数”需要读取一个“广告平台ID”列,未压缩占用1个字节。如果大部分流量不是来自广告平台,您可以预计此列至少压缩 10 倍。使用快速压缩算法时,可以以每秒至少几千兆字节的未压缩数据的速度进行数据解压缩。换句话说,这个查询可以在单个服务器上以大约每秒数十亿行的速度处理。这个速度实际上是在实践中达到的。

中央处理器

由于执行查询需要处理大量行,它有助于为整个向量而不是单独的行分派所有操作,或者实现查询引擎以便几乎没有分派成本。如果你不这样做,对于任何半体面的磁盘子系统,查询解释器不可避免地会停止 CPU。将数据存储在列中并在可能的情况下按列处理数据是有意义的。

有两种方法可以做到这一点:

  1. 矢量引擎。所有操作都是为向量编写的,而不是为单独的值编写的。这意味着您不需要经常调用操作,并且调度成本可以忽略不计。操作码包含优化的内部循环。

  2. 代码生成。为查询生成的代码包含所有间接调用。

这不是在“普通”数据库中完成的,因为在运行简单查询时它没有意义。但是,也有例外。例如,MemSQL 在处理 SQL 查询时使用代码生成来减少延迟。(相比之下,分析型 DBMS 需要优化吞吐量,而不是延迟。)

请注意,为了 CPU 效率,查询语言必须是声明性的(SQL 或 MDX),或者至少是一个向量(J,K)。查询应该只包含隐式循环,允许优化。

官网直达

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 点击[此处](https://clickhouse.tech/docs/zh/)可以下载ClickHouse官方中文文档ClickHouse是一种开源的分布式列式数据库管理系统,设计用于在大规模数据上进行高性能的实时分析。它提供了高性能的数据存储和查询,并且能够处理数千亿行甚至更多的数据。 ClickHouse官方中文文档提供了对ClickHouse的详细介绍和使用说明。文档涵盖了各种主题,包括ClickHouse的架构、安装和配置、数据模型、查询语言、数据导入和导出、索引、性能优化等。 通过下载官方中文文档,用户可以更好地了解ClickHouse的特性和功能,并学习如何使用ClickHouse来处理和分析大规模数据。这将帮助用户更加高效地使用ClickHouse,并最大程度地发挥其性能优势。 总之,通过下载ClickHouse官方中文文档,用户可以深入了解ClickHouse的各个方面,并掌握使用ClickHouse的技巧和方法,从而更好地应用ClickHouse进行实时数据分析。 ### 回答2: 要下载ClickHouse官方中文文档,可以按照以下步骤进行操作: 1. 打开浏览器,进入ClickHouse官方网站(https://clickhouse.tech/)。 2. 在官方网站的主页上,找到并点击"文档"或类似的导航链接。一般来说,这个链接位于页面的顶部或底部导航栏中。 3. 在文档页面上,寻找"中文"或"语言"或类似的选项。这个选项一般位于页面的顶部或侧边栏中。 4. 点击"中文"或"语言"选项,并等待页面刷新。 5. 一旦页面刷新完成,你将看到ClickHouse官方中文文档。这些文档将提供关于ClickHouse的详细信息、使用指南、示例代码等内容。 6. 如果你希望下载这些文档,可以通过浏览器的菜单选项(如"文件")来选择"另存为"或"保存网页"。 7. 在弹出的对话框中,选择保存文档的目录和文件名,并点击"保存"按钮。 通过以上步骤,你就可以轻松地下载ClickHouse官方中文文档了。有了这些文档,你可以更加深入地了解ClickHouse的功能和用法,并在使用ClickHouse时获得更好的参考和支持。 ### 回答3: 点击房(ClickHouse)是一个免费、开源的分布式列式数据库管理系统(DBMS),是俄罗斯互联网公司Yandex开发的。该数据库管理系统被设计用于大规模数据分析,并且具有高性能和可伸缩性。ClickHouse支持实时数据处理和在线分析查询,适用于当今大数据环境。官方中文文档提供了对ClickHouse的详细介绍、安装指南、使用教程、配置说明等内容。 要下载ClickHouse官方中文文档,您可以按照以下步骤进行操作: 1. 打开您的浏览器,进入ClickHouse官方网站。 2. 在页面上找到“文档”或“Documentation”的链接,并点击进入。 3. 浏览页面,寻找中文文档的下载链接或按钮。 4. 点击链接或按钮,开始下载中文文档的压缩文件(通常是.zip或.tar.gz格式)。 5. 下载完成后,解压缩文件并打开文档。您现在可以在本地计算机上阅读和查阅ClickHouse官方中文文档了。 通过下载ClickHouse官方中文文档,您可以更好地了解这个数据库管理系统的功能和特性,掌握使用和配置技巧,有效地利用它进行大规模数据分析和查询。对于想要深入学习ClickHouse的人来说,官方中文文档是一个不可或缺的资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小石小石摩西摩西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值