基本概念
本文為您介紹Hologres中,帳號、使用者角色、執行個體、資料庫、Schema、內部表、外部表格、分區表的基本概念。
帳號
-
阿里雲帳號
阿里雲帳號即主帳號,用於建立和管理Hologres執行個體,可以授權給其他使用者管理員權限。
主帳號支援的表達格式如下表所示。
帳號格式
描述
樣本
ALIYUN$<AccountName>@aliyun.com
<AccountName>為主帳號的登入名稱稱。
ALIYUN$company@aliyun.com<AccountName>@aliyun.com
company@aliyun.com<Account ID>
主帳號的ID。
1344445678xxx -
RAM使用者
RAM使用者即子帳號。阿里雲帳號授予RAM使用者一定許可權後,RAM使用者可以在許可權範圍內建立和管理執行個體中的資料庫和表。
RAM使用者支援的表達格式如下表所示。
帳號格式
描述
樣本
p4_<Account ID>
-
p使用小寫字母。
-
<Account ID>為主帳號的ID。
p4_12345678xxx<subUserName>@<Account Name>.onaliyun.com
-
<subUserName>為子帳號的登入名稱稱。
-
<AccountName>為主帳號的登入名稱稱。
-
<AccountID>為主帳號的ID。
holouser@company.onaliyun.com<subUserName>@<Account Name>
<subUserName>@<Account ID>.onaliyun.com
RAM$<subUserName>
RAM$<AccountName>:<subUserName>
RAM$<Account ID>:<subUserName>
<subUserName>@<Account ID>
-
使用者角色
-
超級管理員
系統預設設定購買執行個體的主帳號為超級管理員Superuser。Superuser擁有整個執行個體的所有許可權,例如建立資料庫、刪除資料庫、建立角色以及為角色授權。
-
普通使用者
普通使用者需要被Superuser授權後才能訪問執行個體,並在許可權範圍內進行資料開發。普通使用者也可以被授權為Superuser。
執行個體
執行個體(Instance)是您使用和管理資料庫儲存服務的實體。您對資料庫的所有操作都需要在執行個體中完成。
資料庫
資料庫是按照資料結構來組織、儲存和管理資料的倉庫。您可以在資料庫中建立、更新或刪除表,以及執行與函數相關的操作。
購買Hologres執行個體後,系統自動建立postgres資料庫。該資料庫分配到的資源較少,僅用於管理,開發實際業務需要建立資料庫。建立資料庫請參見CREATE DATABASE。
Schema
Schema是資料庫物件的集合,相當於檔案系統中的目錄。執行個體中的表和函數等對象存放於各個Schema中。
成功建立資料庫後,系統預設建立命名為public的Schema,您對執行個體對象的所有操作預設都在該Schema中執行。您也可以建立Schema,詳情請參見CREATE SCHEMA。
-
Schema不能嵌套Schema。
-
同一個Schema中的對象名稱不能重複。
-
不同Schema中的對象名稱可以重複。
表
表是由行和列組成的資料存放區單元。列的數量和順序是固定的,每一列擁有一個名稱。行的數量是變化的,表示在給定的時刻,表中儲存的資料量。
表的每一列都有一個資料類型,表示該列的取實值型別,詳情請參見資料類型匯總。
Hologres中的表包括以下兩種類型:
-
內部表
指資料存放區在Hologres中的表。表中的資料類型可以是Hologres支援的任意一種類型。
-
外部表格
指在Hologres中不儲存資料,只進列欄位映射的表。外部表格的資料都是唯讀,您在外部表格中不能執行DML語句或建立索引。
您可以在Hologres中建立外部表格,加速查詢外部資料源的資料,例如查詢MaxCompute的資料。
Hologres中建立外部表格請參見CREATE FOREIGN TABLE。
分區表
分區表是根據索引值屬性劃分父表為許多小的子集,這些子集稱為分區。不同類型的資料存放於不同分區,Hologres當前僅支援對單個索引值進行列表分區。查詢資料時,您可以通過分區索引值過濾查詢語句,排除無關的分區,從而提升查詢速度。
Hologres中建立或刪除分區表請參見CREATE PARTITION TABLE、DROP PARTITION TABLE。
引擎組件
Hologres是一個分布式即時數倉,在內部會有很多組件,實際業務中,無需所有組件都有所瞭解,只需要在實際業務中瞭解需要使用的組件,助您更好的理解和使用Hologres。
-
接入節點(Frontend,FE)
Hologres接入節點,主要用於SQL的認證、解析、最佳化,一個執行個體有多個FE接入節點。在生態上相容Postgres 11,因此您可以使用Postgres標準文法進行開發,也可以用Postgres相容的開發工具和BI工具直接連接Hologres。
-
執行引擎(Query Engine,QE)主要有3個。
-
HQE(Hologres Query Engine)
Hologres自研執行引擎,採用可擴充的MPP架構全並行計算,向量化運算元發揮CPU極致算力,從而實現極致的查詢效能。(QE主要由HQE組成)。
-
PQE(Postgres Query Engine)
用於相容Postgres提供擴充能力,支援PG生態的各種向外延展群組件,如PostGIS,UDF(PL/JAVA,PL/SQL,PL/Python)等。部分HQE還沒有支援的函數和運算元,會通過PQE執行,每個版本都在持續最佳化中,終極目標是去掉PQE。
-
SQE(Seahaws Query Engine)
無縫對接MaxCompute的執行引擎,實現對MaxCompute的本地訪問,無需遷移和匯入資料,就可以高效能和全相容的訪問各種MaxCompute檔案格式,以及Hash/Range clustered table等複雜表,實現對PB級離線資料的互動式分析。
-
-
儲存引擎Storage Engine(SE)
主要用於管理和處理資料, 包括建立、查詢、更新和刪除(簡稱 CRUD)資料等。