All Products
Search
Document Center

MaxCompute:Concept hierarchy

Last Updated:Jul 20, 2023

MaxCompute introduces a concept hierarchy that can inspire you to put forward ideas for subsequent project planning and security management. This topic introduces the hierarchy and brief definitions of core concepts in MaxCompute.

The following figure shows the hierarchy of core concepts in MaxCompute.image.png

Core concept

Description

Project

A project is a basic organizational unit of MaxCompute. Similar to a database or schema in a traditional database system, a project is used to isolate users and control access requests. For more information about projects, see Project.

Table

In MaxCompute, tables are used to store data. For more information about tables, see Table.

Partition

A partition is a division of a table based on the partition key, which consists of one or more partition key columns. Partitions are used to divide the data stored in a table. If a table is not partitioned, data in the table is stored in the directory that stores the table. If a table is partitioned, each partition maps to a subdirectory in the directory that stores the table. In this case, data is stored in separate subdirectories. For more information about partitions, see Partition.

View

A view is a virtual table that is created based on existing tables. Its schema and content are derived from these tables. A view corresponds to one or more tables. You can use views if you want to retain query results without the need to create additional tables. For more information about views, see View-related operations.

User

User is a concept in the MaxCompute security feature. You can access MaxCompute by using an Alibaba Cloud account, a RAM user, or a user who is assigned a RAM role. All users, except the project owner, must be added to a MaxCompute project and granted the related permissions to manage data, jobs, resources, and functions in MaxCompute. For more information about how to manage users, see User planning and management.

Role

Role is a concept in the MaxCompute security feature. A role can be considered a set of users who have the same permissions. One user can assume multiple roles, and multiple users can assume the same role. After you grant permissions to a role, all users who are assigned this role are granted the same permissions. For more information about how to manage roles, see Role planning.

Resource

Resource is a special concept of MaxCompute. You must have the required resources to implement UDFs and MapReduce operations in MaxCompute. For more information about resources, see Resource.

Function

Functions provided by MaxCompute include built-in functions and user-defined functions (UDFs). For more information about functions, see Function.

Instance

An instance is a running job, which is similar to a job in Hadoop. For more information, see Task instance.

Quota

Quota serves as a computing resource pool of MaxCompute. Quotas provide computing resources that are required for running jobs. For more information about quotas, see Quota.

Network connection

Before you use external tables, UDFs, or the lakehouse solution, you must establish network connections between MaxCompute and other services in a virtual private cloud (VPC) or over the Internet. This way, MaxCompute can access services, such as HBase, RDS, and Hadoop in a VPC or over the Internet. For more information about network connections, see Network connection process.

Schema

MaxCompute provides the schema feature. You can use schemas to classify tables, resources, and functions in projects. For more information about schemas, see Schema-related operations.

In most cases, concepts of different hierarchies are organized in the following way:

A tenant represents an organization. For example, for an enterprise, you can activate the pay-as-you-go MaxCompute service or purchase subscription computing resources in different regions.

Each department of the enterprise creates and manages its own projects in the region where the service is activated to store the data of the department. Various types of objects in a project, such as tables, resources, functions, and instances can be stored in a project. You can create a schema in a project based on your business requirements. A schema can further classify objects in a project. For more information, see Schema-related operations. Each department can control access to all types of data in a project by using users and roles.

You are charged storage fees based on projects. If you use pay-as-you-go computing resources, query costs are included in the costs of the project for which you run queries. If you use subscription computing resources, extra costs are not generated for queries.

The following figure shows an example of an organization pattern.image.png

In this example, an enterprise activates the pay-as-you-go MaxCompute service in the China (Shanghai) region and purchases subscription computing resources. For the pay-as-you-go MaxCompute service, the default pay-as-you-go quota is used. For subscription computing resources, the default subscription quota is used.

  • Department A creates Project A. Project A contains Schema 1 in which Table 1, Table 2, and Function 1 are stored. Project A is associated with the default subscription quota. User A of Department A is granted the access permission on the data of Project A and can initiate jobs. The computing resources in the default subscription quota are automatically used by all jobs.

  • Department B creates Project B for which storage by schema is not enabled. Table 3, Table 4, View 1, and Resource 1 are directly stored in Project B that is associated with the default pay-as-you-go quota. User B of Department B is granted the access permission on the data of Project B and can initiate jobs. The computing resources in the default pay-as-you-go quota are automatically used by all jobs.