使用 NineData GUI 建立與修改 ClickHouse 表結構
01 前言
隨著 ClickHouse 的快速發展,越來越多的開發者關注並在業務中使用 ClickHouse。作為開發人員除了在應用中訪問資料庫、進行業務資料的分析跟進,還有很重要的一個庫表結構的設計。但在 ClickHouse 官方文件推薦的眾多第三方開發的視覺化管理工具中,不論是商業的還是開源的,絕大多數只關注在其資料的查詢、分析、報表呈現、效能等領域,對錶結構變更的視覺化管理僅 DBeaver、DBM 有少量支援(前者互動較重,後者僅少量場景的新建支援,可參考兩個產品的建表介面)。
參考兩個產品DBeaver、DBM的建表介面
在前面的文章中我們已經介紹過「NineData:強大的ClickHouse圖形客戶端工具」,今天我們重點來介紹一下如何透過 NineData 幫助開發者,透過 GUI 的方式建立、修改 ClickHouse 的資料庫表結構。
02 新建表
進入 NineData 平臺後(),首先開啟左側的 SQL 視窗,選擇我們的目標資料來源(此處演示為 ck_叢集測試1);在左側物件導航樹找到我們的目標資料庫(此處演示為 str_test),在該物件名上滑鼠右鍵選擇“建立表”,進入新建表頁面,如下:
NineData SQL視窗
預設我們會提供預設表名、主鍵 id 等資訊,預設表引擎為 ClickHouse 裡最強的 MergeTree,您可按需調整表名、註釋、引擎引數、欄位、壓縮與編碼、索引、排序鍵(key 配置)、投影、約束、分割槽、過期時間等相關資訊。如果您想要在指定邏輯叢集的多個節點同時建立同一個表,也可以選擇配置 on cluster 引數(此處演示選擇 ninedata_cluster);當您選擇 on cluster 引數後,我們提供您一鍵為“本地表”建立“分散式表”的能力(勾選 建立分散式表,您可在下方 SQL 指令碼中實時看到對應的語句);若您暫時不需要建立分散式表,則可取消該勾選項。
NineData 提供一鍵“本地表”建立“分散式表”的能力
另外,如果您的本地表已經建立在每個分片節點上,您想對其再建立一個分散式表,您只需要將表引擎選擇為 Distributed ,我們同樣為您提供高效的建立方案。當您選擇好本地表,我們將為您一鍵帶入本地表的欄位相關定義資訊,只需要補充分散式引數就可以完成建立(一般建議填寫 sharding_key,此處示例為 user_id;預設分散式表的表名為“本地表名稱_all”)。
NineData 選擇本地表
在建表語句確認後,點選頁面的儲存,完成確認即可執行生效到資料庫中。執行完成後您再 SQL 視窗可透過如下 SQL 進行確認:
## 檢視邏輯叢集有哪些分片節點: ## 此處 ninedata_cluster 需要替換為您使用的邏輯叢集名 select * from system.clusters where cluster='ninedata_cluster'; ## 檢視本地表、分散式表的建立情況: ## 此處 order 需要替換為您實際定義的本地表的表名稱 ## 此處str_test 需要替換為您實際使用的ClickHouse資料庫名稱 SELECT * from system.tables where name like 'order%' and database='str_test'; 您還可以按需在SQL1查出來的邏輯叢集分片上逐一確認表結構、建表語句等資訊。
當前,我們的「新建表」功能完整支援 ClickHouse 的所有表引擎、引擎引數、欄位屬性等相關的選擇與配置;同時,新建表對叢集與分散式的支援,即可以幫您保障多個本地表在叢集分片上的一致、分散式表與本地表的一致,更可有效幫您提升研發效率,減少重複工作的投入。
03 修改表
當業務發展發生需求變更時,表結構的修改也是極其常見的需求;此時您只需要在 SQL 視窗左側導航樹找到對應目標表,右鍵“編輯表”即可進入修改頁面,欄位等相關資訊您可按需修改(注:為了更好的適配 ClickHouse 的特性,部分資訊如表引擎等是不支援修改的,具體資料庫支援能力參考 ClickHouse 官方文件)。
NineData 修改表
當前,我們的「編輯表」功能也完整支援 ClickHouse 的全部變更操作,叢集多個分片的一致性變更也已支援。
04 總結
關於 ClickHouse 表結構變更的視覺化管理,今天先介紹到這裡。當前 NineData 已經完全適配支援 ClickHouse 所有表引擎的新建及其變更,在叢集與分散式表的新建支援上更是做了聯動最佳化,進一步幫助廣大開發者提升效率,減少不一致現象的出現。未來,我們將繼續迭代最佳化支援本地表與分散式表的一鍵聯動更新,NineData 讓每個人用好資料和雲。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024772/viewspace-2934530/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實操演示:使用 NineData 修改來管理 ClickHouse 的資料庫表結構資料庫
- clickhouse如何表結構
- clickhouse表結構匯出為
- NineData:強大的ClickHouse圖形客戶端工具客戶端
- ClickHouse 建立管理員使用者
- MySQL修改表結構到底會不會鎖表?MySql
- golden gate同步的表結構修改檢查Go
- clickhouse使用的一點總結
- [MYSQL][1]建立,修改,刪除表MySql
- express入門04 資料庫連線 表結構建立 模型建立Express資料庫模型
- 使用NineData構建任意時間點(PITR)資料恢復能力資料恢復
- postgresql只有owner或usersuper許可權才能修改表結構或drop表SQL
- PyQt5 GUI程式設計(QMainWindow與QWidget模組結合使用)QTGUI程式設計AI
- 建立Parquet結果表
- Alter修改表結構對資料儲存的影響PP
- 資料結構之單連結串列的建立與刪除資料結構
- mysql表結構同步工具SchemaSync使用初探MySql
- ClickHouse(18)ClickHouse整合ODBC表引擎詳細解析
- ClickHouse(19)ClickHouse整合Hive表引擎詳細解析Hive
- ClickHouse(17)ClickHouse整合JDBC表引擎詳細解析JDBC
- mysql使用者建立、修改、刪除及授權操作的總結MySql
- Clickhouse表引擎之MergeTree
- php開源短影片原始碼,如何快速修改MySQL的表結構?PHP原始碼MySql
- PG 修改表結構提示有試圖依賴的處理方法
- 通過命令在navicat中建立資料庫及表結構資料庫
- ClickHouse 使用TTL
- 【四】使用列舉和結構來建立值型別型別
- 修改vue打包後的結構Vue
- 資料結構與演算法 | 線性表 —— 順序表資料結構演算法
- Python clickhouse-driver 類庫使用學習總結Python
- 資料結構:單迴圈連結串列的建立插入與刪除資料結構
- Clickhouse副本與分片
- 資料結構與演算法 - 線性表資料結構演算法
- (2) SqlServer表與索引的結構的補充SQLServer索引
- 演算法與資料結構——雜湊表演算法資料結構
- HBase 的結構與表的對應關係
- 資料結構與演算法---跳躍表資料結構演算法
- 【資料結構】二叉樹的建立與遍歷資料結構二叉樹