企業級數據倉庫和標準SQL的支持
當創建好DWS 集群后,用戶就可以使用SQL客戶端工具連接集群,然后執行創建數據庫、管理數據庫、導入/導出數據以及查詢數據的操作。
DWS 為用戶提供了PB(petabyte)級高性能數據庫,主要體現在:
- MPP大規模并行處理框架,支持行列混存、向量化執行,實現萬億數據關聯分析秒級響應。
- 內存計算,基于Bloom Filter的Hash Join優化,性能提升2~10倍。
- 基于電信技術優化的大規模集群通信,提升計算節點間的傳輸效率。
- 基于代價的智能優化器,根據集群規模、數據量、生成最優計劃,提高執行效率。
DWS 具有完備的SQL能力:
- 支持SQL 92、SQL 2003標準,支持存儲過程,支持GBK和UTF-8字符集,支持SQL標準函數與OLAP分析函數。
- 兼容PostgreSQL生態,與主流第三方數據庫ETL,BI(business intelligence)工具廠商對接認證。
- 支持位圖roaring bitmap數據類型及對應常見函數,在互聯網、零售、教育、游戲等行業,提取用戶特征、用戶畫像等場景有廣泛應用。
- 在現有范圍分區(Range Partitioning)基礎上,新增支持list分區方式:PARTITION BY LIST (partition_key,[...]),滿足用戶使用習慣。
- HDFS/OBS外表READ ONLY外表支持JSON文件格式。
- 支持系統表賦權給普通用戶,vacuum能夠單獨賦權,以及支持可擴展的預定義權限角色功能:新增表級權限Alter/Drop/Vacuum、新增Schema級權限Alter/Drop、新增預置角色role_signal_backend、role_read_all_stats。
集群管理
一個DWS 集群由多個在相同子網中的相同規格的節點組成,共同提供服務。DWS 為用戶提供了簡單易用的Web管理控制臺,讓用戶可以快速申請集群,輕松執行數據倉庫管理任務,專注于數據和業務。
集群管理的主要功能如下:
- 創建集群
如果用戶需要在云上環境中使用數據倉庫服務,首先應創建一個DWS集群。用戶可根據業務需求選擇相應的產品規格和節點規格快速創建集群。
- 管理快照
快照是DWS 集群在某一時間點的完整備份,記錄了這一時刻指定集群的所有配置數據和業務數據,快照可用于還原某一時刻的集群。用戶可以為集群手動創建快照,也可以開啟定時創建自動快照。自動快照有保留天數限制,用戶可以對自動快照進行復制,生成手工快照以便長期保留。
當您從快照恢復集群時,系統將為您創建一個與原始集群規格相同、節點數也相同的新集群,并導入快照數據。
對于不再需要的快照,可以選擇刪除快照,以釋放存儲空間。
- 管理節點
用戶可查看所創集群的節點列表,在節點管理頁面可以清晰的查詢各節點的狀態、節點規格、是否已使用等信息。若用戶需要進行大規模擴容操作時,可通過節點管理功能提前分批次添加準備好用于擴容的節點。例如需要新擴容180個BMS節點,可分3批各添加60個,如果其中有一部分添加失敗,可再次添加失敗數量的節點,等180個節點添加成功后,再使用這些添加好的節點進行擴容;添加節點過程中不影響集群業務。
- 擴容集群
隨著業務的增長,現有集群規模可能無法滿足業務需要,此時,用戶可以擴容集群,為集群增加計算節點。擴容時業務不中斷。進行擴容操作時,用戶可根據需求選擇是否在線擴容和自動重分布。
- 管理重分布
默認情況下,在擴容之后將自動調起重分布任務,為了增強擴容重分布整個流程的可靠性,可以選擇在擴容時關閉自動重分布功能,在擴容成功之后再手動使用重分布功能執行重分布任務,數據重分布后將大大提升業務響應速率。當前重分布支持離線重分布、在線重分布兩種模式,默認情況下,提交重分布任務時將選擇離線重分布模式。
- 工作負載管理
當您有多個數據庫用戶同時查詢作業時,一些復雜查詢可能會長時間占用集群資源,從而影響其他查詢的性能。例如一組數據庫用戶不斷提交復雜、耗時的查詢,而另一組用戶經常提交短查詢。在這種情況下,短時查詢可能不得不在隊列中等待耗時查詢完成。為了提高效率,DWS提供了工作負載管理功能,DWS工作負載管理以工作負載隊列為資源承載,對于不同的業務類型可以創建不同的工作負載隊列,為這些隊列配置不同的資源占比,然后將數據庫用戶添加至對應的隊列中,以此來限制這些數據庫用戶的資源使用。
- 邏輯集群
邏輯集群是基于Node Group機制來劃分物理節點的一種集群模式,從節點層次將大集群進行劃分,和數據庫形成交叉。一個數據庫中的表可以按邏輯集群來分配到不同的物理節點,而一個邏輯集群也可以包含多個數據庫的表。
- 重啟集群
重啟集群將有可能會導致正在運行中的業務數據丟失,如果需要執行重啟操作,請確定不存在正在運行的業務,所有數據都已經保存。
- 刪除集群
當用戶不再需要集群時,可選擇刪除集群。此操作為高危操作,刪除集群可能導致數據丟失,請謹慎操作。
DWS 為用戶提供了以下兩種方式管理集群和快照:
- 管理控制臺方式
使用管理控制臺方式訪問DWS集群。用戶在注冊后,可直接登錄管理控制臺,選擇“數據倉庫服務”。
- REST API方式
支持使用DWS 提供的REST API接口以編程的方式管理集群。如果用戶需要將DWS 集成到第三方系統,用于二次開發,請使用API方式訪問。
多樣化的數據導入方式
DWS 支持多數據源高效入庫,典型的入庫方式如下所示。詳細指導請參見《數據倉庫服務用戶開發指南》中的“遷移數據到DWS”章節。
- 從OBS并行導入數據
- 使用GDS從遠端服務器導入數據
- 從MRS導入數據到集群
- 從DWS集群導入數據到新集群
- 使用gsql元命令\COPY導入數據
- 使用COPY FROM STDIN導入數據
- 使用CDM遷移數據到DWS
- 使用DSC工具遷移SQL腳本
- 使用gs_dump和gs_dumpall命令導出元數據
- 使用gs_restore導入數據
應用程序接口
支持調用JDBC(Java database connectivity)、ODBC(Open Database Connectivity)等標準接口開發應用程序訪問DWS 集群中的數據庫。
詳細內容請參見《數據倉庫服務用戶指南》中“使用JDBC和ODBC連接集群”章節。
高可靠性
- 通過實例冗余、數據冗余,實現整個系統無單點故障。
- 數據多副本,且所有數據可手工備份至OBS。
- 自動隔離有故障的節點,利用副本重新恢復數據,并在必要時替換節點。
- 自動快照結合OBS存儲,實現跨AZ容災,若用戶生產集群所處的地理位置發生自然災害,或者集群內部出現了故障從而導致生產集群無法正常對外提供讀寫服務,那么災備集群可以切換為生產集群,從而保障業務連續性。
- 當集群狀態為“非均衡”時會出現某些節點主實例增多,從而負載壓力較大,用戶可在業務低峰期進行集群主備恢復操作。
- 用戶使用客戶端連接DWS集群時,如果用戶僅連接一個CN節點地址,通過該CN節點內網IP或彈性公網IP連接時,只能連接到固定的CN節點上,存在CN單點問題。因此DWS引入了彈性負載均衡服務,解決集群訪問的單點問題。彈性負載均衡(ELB)是將訪問流量根據轉發策略分發到后端多臺彈性云主機的流量分發控制服務,可以通過流量分發擴展應用系統對外的服務能力,提高應用程序的容錯能力。
- 當用戶集群創建后,實際需要的CN數量會隨著業務需求而發生變化,因此DWS提供了增刪CN節點功能,實現用戶可以根據實際需求動態調整集群CN數量的要求。
安全管理
- 基于網絡隔離、安全組規則以及一系列安全加固項,實現租戶隔離和訪問權限控制,保護系統和用戶的隱私及數據安全。
- 支持SSL安全網絡連接、用戶權限管理、密碼管理等功能,保證數據庫在網絡層、管理層、應用層和系統層的安全性。
監控與審計
- 監控集群
DWS 與云監控服務集成,使您能夠對集群中的計算節點和數據庫進行實時監控。詳情請參見《數據倉庫服務用戶指南》中“監控集群”章節。
- 事件通知
DWS 與消息通知服務對接,使您能夠查看觸發的各類事件。詳情請參見《數據倉庫服務用戶指南》中的“事件通知”。
- 告警管理
告警管理包含查看告警規則、告警規則配置與告警信息訂閱功能。其中,告警規則可以提供過去一周的告警信息統計與告警信息明細,方便用戶自行查看租戶下的告警。該特性除了以默認值的形式提供一套DWS告警最佳實踐外,還允許用戶根據自己的業務特點,個性化修改告警閾值。詳情請參見《數據倉庫服務用戶指南》中“告警管理”章節。
- 審計日志
DWS 與云審計服務集成,使您能夠對所有的管理控制臺操作及API調用進行審計。
DWS 數據庫還會記錄所有的SQL操作,包括連接嘗試、查詢和數據庫的變動。詳情請參見《數據倉庫服務用戶指南》中“設置數據庫審計日志”章節。
支持多種數據庫工具
DWS 提供了以下幾款自研工具,用戶可以在DWS 管理控制臺下載相關的工具包。
- gsql工具
它是一款運行在Linux操作系統的命令行SQL客戶端工具,用于連接DWS 集群中的數據庫,并對數據庫進行操作和維護。
- Data Studio工具
它是一款運行在Windows操作系統上的圖形界面SQL客戶端工具,用于連接DWS 集群中的數據庫、管理數據庫和數據庫對象,編輯、運行、調試SQL腳本,查看執行計劃等。
- GDS工具
它是DWS 提供的數據服務工具,通過和外表機制的配合,實現數據的高速導入導出。
GDS工具包需要安裝在數據源文件所在的服務器上,數據源文件所在的服務器稱為數據服務器,也稱為GDS服務器。
- DSC SQL語法遷移工具
DSC(Database Schema Convertor)是一款運行在Linux或Windows操作系統上的命令行工具,致力于向客戶提供簡單、快速、可靠的應用程序SQL腳本遷移服務,通過內置的語法遷移邏輯解析源數據庫應用程序SQL腳本,并遷移為適用于DWS 數據庫的應用程序SQL腳本。
DSC支持遷移Teradata、Oracle、Netezza、MySQL和DB2數據庫的SQL腳本。
- gs_dump和gs_dumpall
gs_dump支持導出單個數據庫或其內的對象,而gs_dumpall支持導出集群中所有數據庫或各庫的公共全局對象。
通過導入工具將導出的元數據信息導入至需要的數據庫,可以完成數據庫信息的遷移。
- gs_restore
在數據庫遷移場景下,支持使用gs_restore工具將事先使用gs_dump工具導出的文件格式,重新導入DWS集群,實現表定義、數據庫對象定義等元數據的導入。