使用这个快速概述和简单的分步步骤来开始使用 ClickHouse!

TL;DR: 对于刚接触ClickHouse的开发人员:了解它是什么,为什么要关注它,以及如何使用它,包括入门说明。这是我们的开发人员快速入门系列中的第一篇文章。

您是正在寻找针对高性能分析查询进行优化的数据库管理系统的开发人员吗?

ClickHouse可以成为你的首选!这个开源 SQL 数据库管理功能强大,支持对大型数据集进行闪电般的快速查询,在几毫秒内提供答案,而不是几分钟。

在本文中,我们将分享ClickHouse的主要功能和通用用例,为您提供进入其生态系统的垫脚石。

什么是ClickHouse?

ClickHouse是一个开源的、面向列的SQL数据库管理系统,针对高性能的分析查询进行了优化。它旨在处理大量数据,并且可以快速有效地执行复杂的查询。它通过将数据存储在列而不是行中来实现。

为什么选择ClickHouse?

ClickHouse不仅仅是普通的数据库管理系统。这个强大的平台提供了一些令人印象深刻的功能:

  1. 速度和性能:在ClickHouse中,数据存储在列中,来自相同列的值组合在一起。与面向行的数据库管理系统 (DBMS) 相比,此方法的处理查询速度提高了 100 倍。

  2. SQL 支持:ClickHouse支持基于SQL的声明式查询语言。这提供了一个强大且用户友好的 SQL 接口,使交互和查询变得简单高效。

  3. 集成灵活性:ClickHouse与各种数据管道、ETL框架和可视化工具无缝集成。这种灵活性确保了与各种数据处理和分析工作流程的兼容性。

  4. 高性价比:ClickHouse的开源性质和高效的资源利用使其价格实惠。对于寻求经济高效且功能强大的解决方案来满足其分析需求的中小型组织或团队来说,这是一个特别可行的选择。

ClickHouse使用案例

ClickHouse适用于跨不同领域的一系列应用程序。其以性能为导向的架构和灵活的设计使其成为许多用例的首选:

  1. 实时分析:ClickHouse通过高速摄取大量数据,在实时分析方面表现出色。此功能使开发人员能够创建响应式仪表板,并与 Grafana、Tableau 和 Superset 等可视化工具集成。

  2. 存储日志、事件和跟踪:ClickHouse 非常适合存储来自应用程序、服务器和网络设备的日志、事件和跟踪。它具有高效的压缩算法和优化的存储布局,可最大限度地降低成本,同时确保快速的数据摄取和检索。

  3. 机器学习与人工智能:ClickHouse 是一个可靠的平台,用于存储和预处理机器学习和 AI 项目中使用的大型数据集。工程师可以利用ClickHouse来准备数据,然后再将其输入机器学习模型。

  4. 商业智能:ClickHouse 支持 70 多种文件格式,包括 Parquet 和 JSON,使其适用于商业智能 (BI)。与 Tableau 和 Power BI 等常用可视化工具的集成增强了其功能,使其成为 BI 应用程序的绝佳选择。

ClickHouse入门

请按照以下步骤开始使用ClickHouse。

1. 要在本地下载ClickHouse,请运行以下curl命令。

它确定您的操作系统是否受支持,然后下载适当的 ClickHouse 二进制文件。要了解有关其他安装选项的更多信息,请访问官方安装指南。

curl <https://clickhouse.com/> | sh

2. 要启动服务器,请导航到保存 clickhouse 二进制文件的目录并运行以下命令。

./clickhouse server

首次运行此命令时,它还会在当前目录中创建必要的文件和文件夹。

3. 要连接到您的 ClickHouse 服务,请打开一个新终端,导航到 clickhouse 二进制文件的保存目录,然后粘贴以下命令 clickhouse-client。

./clickhouse client

4. 与大多数数据库一样,ClickHouse在逻辑上将表分组到数据库中。要在ClickHouse中创建新数据库,请使用CREATE DATABASE命令,并粘贴以下命令以创建您的第一个数据库。

CREATE DATABASE IF NOT EXISTS helloworld

5. 要创建新表,请使用 CREATE TABLE 命令。下表在 helloworld 数据库中命名为 my_first_table。

CREATE TABLE helloworld.my_first_table

(

user_id UInt32,

message String,

timestamp DateTime,

metric Float32

)

ENGINE = MergeTree()

PRIMARY KEY (user_id, timestamp)

6. 要将数据插入到创建的表中,请使用 INSERT INTO TABLE 命令。

INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES

(101, 'Hello, ClickHouse!', now(), -1.0 ),

(102, 'Insert a lot of rows per batch', yesterday(), 1.41421 ),

(102, 'Sort your data based on your commonly-used queries', today(), 2.718 ),(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159 )

7. ClickHouse是一个SQL数据库,你可以通过编写你已经熟悉的相同类型的SELECT查询来查询你的数据。要访问上述创建的表的内容,请粘贴以下命令。

SELECT * FROM helloworld.my_first_table

结束语

这就是您从ClickHouse开始所需的全部内容。今天就来试试这个功能强大且用户友好的 DBMS。随着您继续探索,您会发现 ClickHouse 可以成为满足您数据分析需求的宝贵工具的更多方式。

学习和探索更多

(下方相关文档链接,请关注Pinax微信公众号查找)

#区块链开发 #区块链数据 #数据索引