使用 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圖形客戶端工具客戶端
- oracle建立一張與其他表相同表結構的空表Oracle
- ClickHouse 建立管理員使用者
- MySQL修改表結構到底會不會鎖表?MySql
- MYSQL建立多張表,相同表結構,不同表名MySql
- SQL入門之5 表的建立與修改1SQL
- 修改表結構遷移資料表來縮小表大小
- clickhouse使用的一點總結
- golden gate同步的表結構修改檢查Go
- mysql線上修改表結構大資料表的風險與解決辦法歸納MySql大資料
- [MySQLFAQ]系列–如何快速建立相同結構的表MySql
- 表管理之三:表與表結構的管理
- python中GUI使用小結PythonGUI
- [20160713]修改表結構增加1列與預設值.txt
- [MYSQL][1]建立,修改,刪除表MySql
- 使用Tkinter模組來建立簡單的GUI程式GUI
- 通過替換frm檔案方式修改表結構
- 常見問題--oracle10g修改表結構Oracle
- express入門04 資料庫連線 表結構建立 模型建立Express資料庫模型
- ClickHouse(18)ClickHouse整合ODBC表引擎詳細解析
- ClickHouse(19)ClickHouse整合Hive表引擎詳細解析Hive
- ClickHouse(17)ClickHouse整合JDBC表引擎詳細解析JDBC
- 使用NineData構建任意時間點(PITR)資料恢復能力資料恢復
- 使用PL/SQL工具比對錶結構,同步表結構SQL
- 表空間的建立修改等操作
- postgresql只有owner或usersuper許可權才能修改表結構或drop表SQL
- 用WPS表格快速建立相同結構的工作表
- SQL Server2008無法修改表結構?SQLServer
- SQL SERVER 不能修改表結構、列型別 解決方法SQLServer型別
- 修改SQL-SERVER資料庫表結構的SQL命令SQLServer資料庫
- SQL Server修改表結構後批量更新所有檢視SQLServer
- sql2008 更改表結構,不允許修改SQL
- PyQt5 GUI程式設計(QMainWindow與QWidget模組結合使用)QTGUI程式設計AI
- ORACLE表空間的建立修改刪除Oracle
- mysql表結構同步工具SchemaSync使用初探MySql