This topic describes the terms related to Hologres, including account, role, instance, database, schema, internal table, foreign table, partitioned table, table group, and shard count.

Account

  • Alibaba Cloud account

    An Alibaba Cloud account is used to create and manage Hologres instances. You can use an Alibaba Cloud account to grant permissions to RAM users.

    The following table describes the formats of Alibaba Cloud accounts in Hologres.
    Format Description Example
    ALIYUN$<AccountName>@aliyun.com <AccountName> indicates the logon name of the Alibaba Cloud account. ALIYUN$company@aliyun.com
    <AccountName>@aliyun.com company@aliyun.com
    <Account ID> The ID of the Alibaba Cloud account. 1344445678xxx
  • RAM user

    RAM users can create and manage objects, such as databases and tables, in an instance based on their permissions granted by Alibaba Cloud accounts.

    The following table describes the formats of RAM users in Hologres.
    Format Description Example
    p4_<Account ID>
    • In this format, p is in lowercase.
    • <Account ID> indicates the ID of the Alibaba Cloud account.
    p4_12345678xxx
    <subUserName>@<Account Name>.onaliyun.com
    • <subUserName> indicates the logon name of the RAM user.
    • <AccountName> indicates the logon name of the Alibaba Cloud account.
    • <Account ID> indicates the ID of the Alibaba Cloud account.
    holouser@company.onaliyun.com
    <subUserName>@<Account Name>
    <subUserName>@<Account ID>.onaliyun.com
    RAM$<subUserName>
    RAM$<AccountName>:<subUserName>
    RAM$<Account ID>:<subUserName>
    <subUserName>@<Account ID>

Role

  • Superuser

    By default, the system sets the Alibaba Cloud account that is used to purchase an instance as a superuser of the instance. The superuser has all permissions on the instance. The superuser can create databases, delete databases, create roles, and grant permissions to roles.

  • Regular user

    A regular user can log on to a Hologres instance and perform allowed data analytics operations only after the regular user obtains the required permissions from a superuser. A regular user can also be assigned the superuser role.

Instance

In Hologres, an instance is an entity in which you can use and manage databases. All database operations are performed in the instance.

Database

A database is a data repository that organizes, stores, and manages data based on data structures. In a database, you can create, update, and delete tables. You can also execute functions.

When you purchase a Hologres instance, a default database named postgres is created. This database is allocated a few resources and is used only for management purposes. You can create a database based on your business needs. For more information about how to create a database, see CREATE DATABASE.

Schema

A schema is a collection of database objects, similar to a directory in a file system. Objects such as tables and functions in an instance are stored in schemas.

When you create a database, a default schema named public is created. By default, operations on objects in Hologres instances are performed in this schema. You can also create a schema based on your business needs. For more information, see CREATE SCHEMA.
Note
  • A schema cannot contain nested subschemas.
  • Objects in a schema must have unique names.
  • Objects in different schemas can have the same name.

Table

A table is a unit that stores data in columns and rows. The number and order of columns are fixed, and each column has a name. The number of rows is variable, which reflects the data amount stored at a given moment.

Each column has a data type. A data type constrains the set of possible values that can be assigned to a column. For more information, see Data types.

Hologres supports the following two types of tables:
  • Internal table

    Internal tables store data in Hologres. The data types of internal tables must be supported by Hologres.

  • Foreign table

    Foreign tables map external data sources and do not store data in Hologres. Foreign tables are read-only. Therefore, you cannot perform DML operations or create indexes for foreign tables.

    You can create foreign tables in Hologres to query data directly from external data sources such as MaxCompute.

    For more information about how to create a foreign table in Hologres, see CREATE FOREIGN TABLE.

Partitioned table

Partitioned tables are parent tables that are divided into multiple segments based on partition keys. These segments are called partitions. Different types of data are stored in different partitions. In Hologres, only one partition key can be used for list partitioning. When you query data, you can specify filters based on partition key values in query statements to exclude irrelevant partitions. This improves the query speed.

For more information about how to create and delete a partitioned table in Hologres, see CREATE TABLE and DROP PARTITION TABLE.

Engine

Hologres is a distributed real-time data warehouse. Hologres has many internal components. To use Hologres, you do not need to understand all the components. You need only to understand the components to be used in your business.
  • Frontend (FE)

    An FE authenticates, parses, and optimizes SQL statements. A Hologres instance has multiple FEs. Hologres is ecologically compatible with PostgreSQL 11. You can use the standard PostgreSQL syntax for development or use PostgreSQL-compatible development tools and Business Intelligence (BI) tools to connect to Hologres.

  • Query Engine (QE)
    • Hologres Query Engine (HQE)

      Developed by Alibaba Cloud, HQE uses a scalable Massively Parallel Processing (MPP) architecture to implement full parallel computing. HQE uses vectorization operators to make maximum use of CPUs and achieve ultimate query performance. HQE is the main module of Hologres QE.

    • PostgreSQL Query Engine (PQE)

      PQE provides compatibility with PostgreSQL. PQE supports a variety of PostgreSQL extensions, such as PostGIS and user-defined functions (UDFs) that are written in PL/Java, PL/SQL, and PL/Python. The functions and operators that are not supported by HQE can be executed by using PQE. HQE has been continuously optimized in each version. The final goal is to integrate all features of PQE.

    • Seahawks Query Engine (SQE)

      SQE allows Hologres to seamlessly connect to MaxCompute. This provides high-performance access to all types of MaxCompute files, without the need to migrate or import data. This also allows Hologres to access complex tables such as hash tables and range-clustered tables, and implement interactive analysis of PB-level batch data.

  • Storage Engine (SE)

    SE manages and processes data. SE allows you to perform create, read, update, and delete (CRUD) operations on data.