ClickHouse簡介
ClickHouse憑借著其出色的分析查詢性能,尤其是在日志處理上的優勢,非常有效的解決了關系型數據庫在海量數據場景下的分析查詢短板問題。其語法與使用習慣也與當下最流行的數據庫MySQL類似,迭代速度和對社區的響應也非常快,在過去的幾年,ClickHouse收到大量開發者的認可。經過幾年社區快速增長之后,在2021年ClickHouse Inc的成立也讓該分析型數據庫進入了開源與商業化一起發展的階段。從目前的數據來看,未來ClickHouse還將是快速增長的分析型數據庫之一。
使用NineData訪問ClickHouse
整個使用過程也較為簡單。首先,需要在NineData數據源頁面創建ClickHouse數據源。需要注意的是:
· NineData使用http/https協議訪問和管理ClickHouse,所以這里需要填寫對應的http/https端口(而不是Native的端口)
· 如果使用了SSL加密(ClickHouse Cloud的強制要求),則需要打開下面SSL加密選項(如果沒有開啟SSL加密,則無需打開該選項)
· "接入地域"可以選擇一個盡可能離服務器近一些的地域,可以適當增加訪問速度
在填好連接信息之后,可以點擊“連接測試”按鈕,驗證是否可以正常訪問ClickHouse,如果信息都正確的話,則會提示上圖右上角的“連接成功”信息。在完成數據源配置之后,就可以通過SQL窗口功能訪問該數據源了。
使用導航樹查看數據庫內部的對象
下圖即為NineData所提供的ClickHouse導航對象樹。較詳細的展示了ClickHouse數據庫內部的對象,除了常見的表對象外,NineData還提供了視圖、字典、ROW POLICY等數據庫對象,在服務器層面,則支持了用戶、角色、QUOTA、自定義函數等對象的展示。相比于同類的產品,例如,Arctype、DBeaver、DataGrip、阿里云DMS、ClickHouse自己提供的local play等(注:目前最新的Navicat Premium 16版本還不支持ClickHouse),NineData支持是最完整,最細致的。另外,NineData導航樹還支持表對象的搜索功能,可以幫助開發者方便的搜索到關注的數據表。
導航樹功能對比:NineData VS 其他
NineData的導航樹提供了豐富而完整的數據庫對象,對比常用的數據庫GUI工具,NineData支持更加完整,體驗更加友好。具體的對比如下:
說明:
· Arctype是一個小型的數據庫管理工具,前一段時間剛剛加入了ClickHouse Inc并不再更新原來的產品
· local play是指ClickHouse自帶的數據管理工具
· DataGrid則是有JetBrains提供的數據庫管理工具
· DBeaver是一個第三方的開源數據庫訪問工具
· DMS是阿里云數據庫的一站式數據管理平臺
智能的SQL補全提升效率
NineData提供了強大的SQL提示、補全功能,可以最大程度的幫助開發者更叫高效的完成SQL編寫。例如,在如下的截圖案例中,左圖中,NineData會根據光標的位置和語法結構識別出,這里需要填寫數據表名/視圖名,則優先推薦該類對象。在右圖中,NineData則通過語法結構,對象別名等信息,準確的推薦最可能匹配的列信息。
使用NineData保存常用的SQL
通常,對于運營人員來說,需要經常關注線上的業務數據;對于開發人員也需要經常關注線上系統的運行數據情況。NineData則可以通過“保存 SQL”功能,在線保存這些經常需要使用的SQL,用以完成一些常用數據庫數據查詢。
另外,NineData還支持全量的SQL運行歷史保存,一方面用戶可以使用該功能追溯實際運行了哪些功能;也可以使用該功能,在歷史SQL中找出常用的SQL。
小結
通過這篇介紹,可以看到如何使用NineData快速簡單的訪問與管理ClickHouse實例。
另外,NineData除了可以支持以GUI的方式訪問和管理ClickHouse之外,NineData還支持MySQL到ClickHouse的數據遷移/同步/復制功能,相比ClickHouse內置的集成引擎,NineData很好的解決了上游MySQL DDL變更時的鏈路穩定性以及復制時對象映射等問題,可以幫助用戶高性能、高效率、高穩定性的完成從MySQL到ClickHouse的數據復制。