什麼是ClickHouse
ClickHouse是一款MPP架構的列式存儲資料庫,并允許使用SQL查詢實時生成分析報告,也是一個新的開源列式資料庫。
随着業務的迅猛增長,Yandex.Metrica目前已經成為世界第三大Web流量分析平台,每天處理超過200億個跟蹤事件。能夠擁有如此驚人的體量,在它背後提供支撐的ClickHouse功不可沒。ClickHouse已經為Yandex.Metrica存儲了超過20萬億行的資料,90%的自定義查詢能夠在1秒内傳回,其叢集規模也超過了400台伺服器。雖然ClickHouse起初隻是為了Yandex.Metrica而研發的,但由于它出衆的性能,目前也被廣泛應用于Yandex内部其他數十個産品上。

ClickHouse的核心特性:
1、ClickHouse擁有完備的管理功能,是以它稱得上是一個DBMS ( Database Management System,資料庫管理系統 ),而不僅是一個資料庫。作為一個DBMS,它具備了一些基本功能,如下所示。
(1)DDL ( 資料定義語言 ):可以動态地建立、修改或删除資料庫、表和視圖,而無須重新開機服務。
(2)DML ( 資料操作語言 ):可以動态查詢、插入、修改或删除資料。
(3)權限控制:可以按照使用者粒度設定資料庫或者表的操作權限,保障資料的安全性。
(4)資料備份與恢複:提供了資料備份導出與導入恢複機制,滿足生産環境的要求。
(5)分布式管理:提供叢集模式,能夠自動管理多個資料庫節點。
2、列式存儲與資料壓縮
列式存儲和資料壓縮,對于一款高性能資料庫來說是必不可少的特性。一個非常流行的觀點認為,如果你想讓查詢變得更快,最簡單且有效的方法是減少資料掃描範圍和資料傳輸時的大小,而列式存儲和資料壓縮就可以幫助我們實作上述兩點。列式存儲和資料壓縮通常是伴生的,因為一般來說列式存儲是資料壓縮的前提。
3、向量化執行引擎
向量化執行,可以簡單地看作一項消除程式中循環的優化,需要利用CPU的SIMD指令。SIMD的全稱是Single Instruction Multiple Data,即用單條指令操作多條資料。現代計算機系統概念中,它是通過資料并行以提高性能的一種實作方式 ( 其他的還有指令級并行和線程級并行 ),它的原理是在CPU寄存器層面實作資料的并行操作。
4、關系模型與SQL查詢
因為關系型資料庫和SQL語言,可以說是軟體領域發展至今應用最為廣泛的技術之一,擁有極高的"群衆基礎"。也正因為ClickHouse提供了标準協定的SQL查詢接口,使得現有的第三方分析可視化系統可以輕松與它內建對接。
5、多樣化的表引擎
ClickHouse共擁有合并樹、記憶體、檔案、接口和其他6大類20多種表引擎。其中每一種表引擎都有着各自的特點,使用者可以根據實際業務場景的要求,選擇合适的表引擎使用。
6、分布式架構
ClickHouse在資料存取方面,既支援分區 ( 縱向擴充,利用多線程原理 ),也支援分片 ( 橫向擴充,利用分布式原理 ),可以說是将多線程和分布式的技術應用到了極緻。
ClickHouse采用Multi-Master多主架構,叢集中的每個節點角色對等,用戶端通路任意一個節點都能得到相同的效果。
NBI可視化平台介紹:
NBI大資料可視化分析平台作為新一代自助式、探索式分析工具,在産品設計理念上始終從使用者的角度出發,一直圍繞簡單、易用,強調互動分析為目的的新型産品。我們将資料分析的各環節(資料準備、自服務資料模組化、探索式分析、權限管控)融入到系統當中,讓企業有序的、安全的管理資料和分析資料。
NBI大資料可視化分析平台特性介紹:
(1)豐富的資料源接入能力:(關系型資料源、大資料分析引擎、MPP資料庫、時序資料庫...)
(2)易于操作的可視化編輯器:(通過簡單的點選、拖拽實作資料的連接配接和處理,快速實作資料可視化需求)
(3)豐富的展示元件:(NBI可視化平台中有多達50餘種可視化元件)