使用這個快速概述和簡單的分步步驟來開始使用 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微信公衆號查找)

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