Clickhouse MYSQL 的生態的閉環

MYSQL 目前被攻擊最多的就是他的 OLAP 的性能, 在 OLTP 中 MYSQL 本身的性能是 OK 的, 尤其高併發中符合 MYSQL 數據庫的表設計和提取的方式, 則數據的獲取的速度是非常快的.  

但其他數據庫在中等數據量幾千萬, 或者億萬級別的情況下, 數據的 OLAP 的性能還是可以的, 數據庫自己就可以解決 OLTP+OLAP(輕量級) 的問題. 所以 MYSQL 本身去單打獨鬥必敗, MYSQL 需要一個好基友, 作爲整體生態的閉環.

所以就的引出今天的 "豬腳" CLICKHOUSE,簡短的瞭解一下什麼是 clickhouse

ClickHouse 是一個用於 OLAP 的數據分析引擎,由俄羅斯搜索巨頭 Yandex 公司開源。

1、可支持 PB 級超大容量的數據庫管理系統。

2、基於 SQL 語句, 使用成本低。 

3、超億級數據量分析的秒級響應,計算性能橫向擴展。

4、海量數據即查即用。

5、提供數據的預聚合能力,進一步提升數據查詢的效率。

6、列式存儲, 數據壓縮,降低磁盤 IO 和網絡 IO,提升計算性能,節約 70% 物理存儲。

7、支持副本, 實現跨機房的數據容災。

衆所周知 clickhouse 數據庫的存儲是列式存儲, 列式存儲的優點

  1. 針對查詢,只需讀取表的部分列。在列式數據庫中可以只讀取需要的數據。如,只需讀取 100 列中的 5 列,列式存儲將幫助減少 20 倍的 I/O 消耗。

  2. 數據是打包成批量讀取的,壓縮是容易的, 同時數據按列分別存儲這也更容易壓縮, 這進一步降低了 I/O 的體積。

  3. 由於 I/O 的降低,更多的數據將被系統緩存。

那麼 CLICKHOUSE 還有其他的優勢嗎?  讓他作爲 MYSQL 的整體生態中的 OLAP 的閉環.

1 CLICKHOUSE 是支持基於 SQL 聲明方式查詢語言的, 知識標準的 ANSI SQL, 支持 GROUP BY ,ORDER BY ,FROM , JOIN , IN  等以及子查詢.

2  適合在線查詢可以對數據沒有任何預處理的情況下, 以極低的延遲處理查詢並將結果加載, 展示

3  支持數據複製, 支持異步的多主複製技術, 在情況允許下, 支持故障後的自動恢復

缺點也是有的:

  1. 沒有完整的事務支持。

  2.  缺少高頻率,低延遲的修改或刪除已存在數據的能力。僅能用於批量刪除或修改數據,但這符合 GDPR。

  3. 稀疏索引使得 ClickHouse 不適合通過其鍵檢索單行的點查詢。

    MYSQL 和 CLICKHOUSE 對同樣查詢的時間的對比 , 可以看到差距巨大 MYSQL 不到 6 分鐘 VS ClickHouse 0.145 second  數據量在 3.5 billion

MYSQL 到 CLICKHOUSE 的數據同步也是 MYSQL 整體生態的一個閉環.

clickhouse 本身支持

通過數據傳輸, 將 MYSQL 的數據傳輸到 CLICKHOUSE 中, 並且可以根據 MYSQL 的變化, 將變化同步到 clickhouse

通過 clickhouse 中的工具可以對 mysql 到 clickhouse 進行全量以及增量的數據複製

那麼 clickhouse 可以直接成爲 MYSQL OLAP 的工作者, 將 MYSQL 的短板進行 FIX, 讓 MYSQL 本身從 OLTP + OLAP 有一個完整方案.

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。