基本概念

更新時間:
Copy as MD

本文為您介紹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中。

成功建立資料庫後,系統預設建立命名為publicSchema,您對執行個體對象的所有操作預設都在該Schema中執行。您也可以建立Schema,詳情請參見CREATE SCHEMA

說明
  • Schema不能嵌套Schema。

  • 同一個Schema中的對象名稱不能重複。

  • 不同Schema中的對象名稱可以重複。

表是由行和列組成的資料存放區單元。列的數量和順序是固定的,每一列擁有一個名稱。行的數量是變化的,表示在給定的時刻,表中儲存的資料量。

表的每一列都有一個資料類型,表示該列的取實值型別,詳情請參見資料類型匯總

Hologres中的表包括以下兩種類型:

  • 內部表

    指資料存放區在Hologres中的表。表中的資料類型可以是Hologres支援的任意一種類型。

  • 外部表格

    指在Hologres中不儲存資料,只進列欄位映射的表。外部表格的資料都是唯讀,您在外部表格中不能執行DML語句或建立索引。

    您可以在Hologres中建立外部表格,加速查詢外部資料源的資料,例如查詢MaxCompute的資料。

    Hologres中建立外部表格請參見CREATE FOREIGN TABLE

分區表

分區表是根據索引值屬性劃分父表為許多小的子集,這些子集稱為分區。不同類型的資料存放於不同分區,Hologres當前僅支援對單個索引值進行列表分區。查詢資料時,您可以通過分區索引值過濾查詢語句,排除無關的分區,從而提升查詢速度。

Hologres中建立或刪除分區表請參見CREATE PARTITION TABLEDROP 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)資料等。