SERVICE OVERVIEW GAUSSDB(FOR MYSQL) - HUAWEI TECHNOLOGIES CO., LTD. ISSUE DATE 04 2021-10-30
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Copyright © Huawei Technologies Co., Ltd. 2021. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of Huawei Technologies Co., Ltd. Trademarks and Permissions and other Huawei trademarks are trademarks of Huawei Technologies Co., Ltd. All other trademarks and trade names mentioned in this document are the property of their respective holders. Notice The purchased products, services and features are stipulated by the contract made between Huawei and the customer. All or part of the products, services and features described in this document may not be within the purchase scope or the usage scope. Unless otherwise specified in the contract, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, either express or implied. The information in this document is subject to change without notice. Every effort has been made in the preparation of this document to ensure accuracy of the contents, but all statements, information, and recommendations in this document do not constitute a warranty of any kind, express or implied. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. i
GaussDB(for MySQL) Service Overview Contents Contents 1 What Is GaussDB(for MySQL)?.............................................................................................1 2 Product Architecture............................................................................................................... 2 3 Basic Concepts.......................................................................................................................... 4 4 Product Benefits.......................................................................................................................5 5 Instance Description............................................................................................................... 7 5.1 Instance Specifications.......................................................................................................................................................... 7 5.2 DB Engines and Versions...................................................................................................................................................... 8 5.3 Instance Statuses..................................................................................................................................................................... 8 6 Permissions Management................................................................................................... 10 7 Constraints.............................................................................................................................. 15 8 Billing....................................................................................................................................... 17 9 Related Services.....................................................................................................................19 A Change History...................................................................................................................... 20 Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. ii
GaussDB(for MySQL) Service Overview 1 What Is GaussDB(for MySQL)? 1 What Is GaussDB(for MySQL)? GaussDB(for MySQL) is an enterprise-grade distributed database fully compatible with MySQL. It has an architecture with decoupled storage and compute and supports up to 128 TB of storage. With GaussDB(for MySQL), there is no need for sharding, and no need to worry about data loss. It provides superior performance of commercial databases at the price of open-source databases. GaussDB(for MySQL) currently supports the DB engines and versions listed in DB Engines and Versions. Using GaussDB(for MySQL) You can create and manage GaussDB(for MySQL) instances on the web-based management console. To help you make the most of GaussDB(for MySQL), see What Is GaussDB(for MySQL)? and Basic Concepts. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 1
GaussDB(for MySQL) Service Overview 2 Product Architecture 2 Product Architecture The GaussDB(for MySQL) architecture consists of three layers. From bottom to top, they are: 1. Storage node layer. Data functions virtualization (DFV) storage provides distributed, strong-consistency, and high-performance storage, featuring high data reliability and excellent horizontal scalability. DFV is a solution from Huawei for a data-centric full-stack service architecture with decoupled storage and compute. 2. Storage abstraction layer. This layer is key to ensuring database performance. It connects to the DFV storage pool below it and provides semantics upward for ensuring efficient storage scheduling. Table file operations are abstracted into distributed storage. 3. SQL node layer. This layer reuses open-source MySQL 8.0 code, so you can use native MySQL syntax and tools. You do not need to modify any code for migrating your services from MySQL to GaussDB(for MySQL), saving a lot of time and effort. In addition to full compatibility with MySQL, GaussDB(for MySQL) comes with an optimized kernel and a hardened system. It is part of an open ecosystem and provides commercial capabilities of native MySQL. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 2
GaussDB(for MySQL) Service Overview 2 Product Architecture Figure 2-1 Product architecture Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 3
GaussDB(for MySQL) Service Overview 3 Basic Concepts 3 Basic Concepts Before using GaussDB(for MySQL), you should be familiar with the following concepts. ● Primary/standby instances: GaussDB(for MySQL) has an architecture with decoupled storage and compute that auto-scales up to 128 TB per instance. A primary/standby instance contains a primary node and up to 15 read replicas can be created within minutes. ● Regions are defined in terms of their geographical location and network latency. Public services, such as Elastic Cloud Server (ECS), Elastic Volume Service (EVS), Object Storage Service (OBS), Virtual Private Cloud (VPC), Elastic IP (EIP), and Image Management Service (IMS), can all be shared within a given region. Regions are classified as universal regions and dedicated regions. A universal region provides cloud services for all users. A dedicated region provides services of only a specific type or only for specific users. Generally, GaussDB(for MySQL) instances and ECSs must be located in the same region for high access performance. ● Availability zone (AZ): An AZ contains one or multiple physical data centers. Each AZ has independent cooling, fire extinguishing, moisture-proof, and electricity facilities. Within an AZ, computing, network, storage, and other resources are logically divided into multiple instances. An AZ is a geographic location with independent power supply and network facilities in a region. AZs are physically isolated but interconnected over an intranet. Each AZ provides cost-effective and low-latency network connections that are unaffected by faults in other AZs. As a result, provisioning GaussDB(for MySQL) instances in separate AZs protect your applications against local faults that occur in a single location. AZs within the same region have no functional differences. ● Instance specifications: Each instance is configured with compute and memory resources, for example, 16 vCPUs and 64 GB. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 4
GaussDB(for MySQL) Service Overview 4 Product Benefits 4 Product Benefits GaussDB(for MySQL) is an enterprise-grade cloud database with decoupled compute and storage. Customer Requirements Table 4-1 Customer requirements Requirements Description MySQL For primary/standby instances, there is no need to compatibility reconstruct original MySQL applications. Mass storage Internet services demand mass storage. Distributed Automatic sharding or non-sharding is invisible to the scalability applications. Strong-consistency There is strong consistency for distributed transactions. transactions High availability Multi-AZ high availability and multi-region disaster recovery. High concurrency High performance in high concurrency scenarios. Middleware-free There is no need to use distributed database middleware architecture for sharding. Advantages Table 4-2 Advantages Advantage Description Performance Millions of QPS Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 5
GaussDB(for MySQL) Service Overview 4 Product Benefits Advantage Description Scalability 1 primary node and up to 15 read replicas; 128 TB of storage Reliability Cross-AZ deployment and three data copies Compatibility Fully compatible with MySQL Cost Only 10% the cost of the commercial databases Benefits ● Up to 128 TB of storage per instance and no need for sharding ● Easy-to-use and fully compatible with MySQL, so there is no need to reconstruct applications ● Up to 15 read replicas and read/write splitting enabled for a primary/standby instance ● Multi-AZ deployment and remote disaster recovery to ensure high reliability Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 6
GaussDB(for MySQL) Service Overview 5 Instance Description 5 Instance Description 5.1 Instance Specifications GaussDB(for MySQL) instance specifications are listed in the following table, but may vary based on actual situations. Table 5-1 x86 instance specifications Instance vCPUs Memory (GB) Maximum Connections Specificatio ns General- 8 32 10,000 enhanced 16 64 18,000 16 128 18,000 32 128 30,000 32 256 30,000 60 256 60,000 Table 5-2 Arm instance specifications Instance vCPUs Memory (GB) Maximum Connections Specificatio ns Kunpeng 8 32 10,000 general computing- 8 64 10,000 plus 16 64 18,000 16 128 18,000 Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 7
GaussDB(for MySQL) Service Overview 5 Instance Description Instance vCPUs Memory (GB) Maximum Connections Specificatio ns 32 128 30,000 32 256 30,000 48 192 45,000 48 384 60,000 60 480 60,000 NOTE You can use max_connections to configure the maximum number of connections for an instance. For details, see Modifying a Parameter Template. 5.2 DB Engines and Versions Table 5-3 lists the DB engines and versions supported by GaussDB(for MySQL). Table 5-3 DB engines and versions DB Engine Version GaussDB(for MySQL) MySQL 8.0 5.3 Instance Statuses Instance Statuses The status of an instance indicates the health of the instance. You can view the instance status on the console. Table 5-4 Instance statuses Status Description Available The instance is available. Abnormal The instance is abnormal. Creating The instance is being created. Creation failed The instance failed to be created. Rebooting The instance is being rebooted. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 8
GaussDB(for MySQL) Service Overview 5 Instance Description Status Description Changing port The instance port is being changed. Changing The CPU or memory of the instance is being changed. instance specifications Promoting to A read replica is being promoted to primary. primary Scaling up The storage space of the instance is being scaled up. Frozen The instance is frozen because of an unpaid account balance. Retained frozen instances are unfrozen only after your account is recharged and the overdue payments are cleared. Deleted The instance has been deleted and will not be displayed in the instance list. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 9
GaussDB(for MySQL) Service Overview 6 Permissions Management 6 Permissions Management If your account does not need individual IAM users for permissions management, you may skip over this chapter. If you need to assign different permissions to employees in your enterprise to access your GaussDB(for MySQL) resources, IAM is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you secure access to your resources. With IAM, you can use your account to create IAM users for your employees, and assign permissions to the users to control their access to specific resource types. For example, some software developers in your enterprise need to use GaussDB(for MySQL) resources but must not delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using GaussDB(for MySQL) resources. IAM can be used free of charge. You pay only for the resources in your account. For more information about IAM, see the IAM Service Overview. GaussDB(for MySQL) Permissions By default, new IAM users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions. GaussDB(for MySQL) is a project-level service deployed in specific physical regions. To assign GaussDB(for MySQL) permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. When accessing GaussDB(for MySQL), the users need to switch to a region where they have been authorized to use this service. ● Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant GaussDB(for MySQL) users only the permissions for managing a certain type of database resources. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 10
GaussDB(for MySQL) Service Overview 6 Permissions Management Table 6-1 lists all the system-defined roles and policies supported by GaussDB(for MySQL). Table 6-1 System-defined roles and policies supported by GaussDB(for MySQL) Policy Name Description Type GaussDB FullAccess Full permissions for System-defined policy GaussDB GaussDB Read-only permissions System-defined policy ReadOnlyAccess for GaussDB Table 6-2 lists the common operations supported by each system-defined policy or role of GaussDB(for MySQL). Select the policies or roles as required. Table 6-2 Common operations supported by each system-defined policy or role of GaussDB(for MySQL) Operation GaussDB FullAccess GaussDB ReadOnlyAccess Creating instances Supported Unsupported Deleting instances Supported Unsupported Querying an instance Supported Supported list Table 6-3 Common operations and supported actions Operation Action Remarks Creating instances gaussdb:instance:create ● To select a VPC, gaussdb:param:list subnet, and security group, configure the following actions: vpc:vpcs:list vpc:vpcs:get vpc:subnets:get vpc:securityGroups:get To create an encrypted instance, you need to configure the KMS Administrator permission for the project. Changing instance gaussdb:instance:modifySpec N/A specifications Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 11
GaussDB(for MySQL) Service Overview 6 Permissions Management Operation Action Remarks Rebooting instances gaussdb:instance:restart N/A Deleting instances gaussdb:instance:delete N/A Querying an instance gaussdb:instance:list N/A list Querying instance gaussdb:instance:list If the VPC, subnet, and details security group are displayed in the instance list, you need to configure vpc:*:get and vpc:*:list. Changing instance gaussdb:instance:modify N/A passwords Changing database gaussdb:instance:modify N/A ports Changing instance gaussdb:instance:modify N/A names Changing gaussdb:instance:modify N/A maintenance windows Changing security gaussdb:instance:modify N/A groups Binding or unbinding gaussdb:instance:modify To display public IP EIPs addresses on the console, configure the following actions: vpc:publicIps:get vpc:publicIps:list Enabling or disabling gaussdb:instance:modify N/A SSL Creating parameter gaussdb:param:create N/A templates Modifying gaussdb:param:modify N/A parameters in a parameter template Obtaining a gaussdb:param:list N/A parameter template list Applying parameter gaussdb:param:apply N/A templates Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 12
GaussDB(for MySQL) Service Overview 6 Permissions Management Operation Action Remarks Deleting parameter gaussdb:param:delete N/A templates Creating manual gaussdb:backup:create N/A backups Deleting manual gaussdb:backup:delete N/A backups Obtaining a backup gaussdb:backup:list N/A list Modifying backup gaussdb:instance:modifyBacku N/A policies pPolicy Deleting manual gaussdb:backup:delete N/A backups Querying restoration gaussdb:instance:list N/A time ranges Restoring data to gaussdb:instance:create To select a VPC, new instances subnet, and security group, configure the following actions: vpc:vpcs:list vpc:vpcs:get vpc:subnets:get vpc:securityGroups:get Querying error logs gaussdb:log:list N/A Querying project gaussdb:tag:list N/A tags Adding or deleting gaussdb:instance:dealTag N/A project tags in batches Modifying quotas gaussdb:quota:modify N/A Creating a read gaussdb:instance:create N/A replica Deleting a read gaussdb:instance:delete N/A replica Changing the billing gaussdb:instance:modify N/A mode from pay-per- use to yearly/ monthly Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 13
GaussDB(for MySQL) Service Overview 6 Permissions Management Operation Action Remarks Promoting a read gaussdb:instance:modify N/A replica to the new primary node Changing failover gaussdb:instance:modify N/A priority Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 14
GaussDB(for MySQL) Service Overview 7 Constraints 7 Constraints To ensure the stability and security of GaussDB(for MySQL), certain constraints are put in place for access or permission control. Table 7-1 describes such constraints. Table 7-1 Function constraints Function Constraints GaussDB(for ● If GaussDB(for MySQL) instances do not have EIPs bound, MySQL) access the instances must be in the same VPC subnet as the ECSs associated with these instances. ● Security group rules must be added to allow ECSs to access GaussDB(for MySQL) instances. By default, a GaussDB(for MySQL) instance cannot be accessed by an ECS in a different security group. To enable access, you must add an inbound rule to the GaussDB(for MySQL) security group. When adding the rule, set the protocol and port, respectively, to TCP and to the default port of the database instance. ● The default GaussDB(for MySQL) port: – For primary/standby instances, the default port is 3306. You can change it if you allow ECSs to access GaussDB(for MySQL) through another port over a private or public network. For details, see Changing a Database Port. Database root Only the root permissions for primary/standby instances are permissions available on the instance creation page. Database Most parameters can be modified on the GaussDB(for parameter MySQL) console. modification Data migration DRS or mysqldump can be used to migrate data to GaussDB(for MySQL). Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 15
GaussDB(for MySQL) Service Overview 7 Constraints Function Constraints MySQL storage GaussDB(for MySQL) is fully compatible with MySQL. engine GaussDB(for MySQL) and MySQL support the same storage engines. For details, see What Storage Engines Does the RDS for MySQL Support? GaussDB(for GaussDB(for MySQL) instances must be rebooted on the MySQL) GaussDB(for MySQL) console. instance reboot GaussDB(for GaussDB(for MySQL) backup files are stored in OBS buckets MySQL) backup and are not visible to users. files Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 16
GaussDB(for MySQL) Service Overview 8 Billing 8 Billing You only pay for what you use. There is no minimum charge. Billing Item You are billed for GaussDB(for MySQL) instances, database storage, and backup storage (optional). Table 8-1 Billing items Item Billing Method DB instance Yearly/monthly or pay-per-use Storage space Yearly/monthly or pay-per-use Backup storage GaussDB(for MySQL) provides storage space for backing up all of your provisioned database storage at no additional charge. If the backup storage usage exceeds 100% of your provisioned database storage, there is a tiered pricing system to calculate the additional billing. Public network GaussDB(for MySQL) instances are accessible from both traffic private and public networks, but only the traffic from public networks is billed. For details, see Product Pricing Details. You can use the price calculator to estimate the cost for your GaussDB(for MySQL) usage. Billing Modes GaussDB(for MySQL) provides the following two billing modes: ● Yearly/Monthly: Provides a larger discount than pay-per-use billing and is recommended for long-term use of resources. Currently, only primary/standby instances support the yearly/monthly billing mode. ● Pay-per-use (hourly): Allows you to pay for only the resources you have used. It is a flexible billing mode. Less than one hour will be calculated as one hour. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 17
GaussDB(for MySQL) Service Overview 8 Billing The billing mode of instances can be changed from pay-per-use to yearly/monthly. For details, see Changing the Billing Mode from Pay-per-Use to Yearly/ Monthly. Changing Instance Specifications ● Modifying instance specifications: You can change GaussDB(for MySQL) instance specifications based on service requirements. After the modification, you are billed based on the new instance specifications. ● Scaling up storage space: You can change the storage space of primary/ standby instances based on service requirements. After scaling the storage space, you will be charged based on the new storage space. Storage space can only be scaled up. The minimum increment is 10 GB. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 18
GaussDB(for MySQL) Service Overview 9 Related Services 9 Related Services The following figure shows the relationship between GaussDB(for MySQL) and other services. Table 9-1 Related services Service Name Description Elastic Cloud Enables you to access GaussDB(for MySQL) through an Service (ECS) internal network. You can then access applications faster and you do not need to pay for public network traffic. Virtual Private Isolates your networks and controls access to your Cloud (VPC) GaussDB(for MySQL) instances. Object Storage Stores automated and manual backups of your Service (OBS) GaussDB(for MySQL) instances. Cloud Eye Monitors GaussDB(for MySQL) resources in real time and reports alarms and warnings promptly if any. Cloud Trace Records operations on cloud service resources for query, Service (CTS) audit, and backtrack. Data Replication Smoothly migrates databases to the cloud. Service (DRS) Enterprise Project Allows you to manage cloud resources and user groups by Management enterprise project. Service (EPS) Tag Management Makes it simple for users to implement, manage, and Service (TMS) maintain tags on cloud resources. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 19
GaussDB(for MySQL) Service Overview A Change History A Change History Released On Description 2021-05-31 This issue is the fourth official release, which incorporates the following change: Optimized the billing description of backup storage in Billing. 2021-03-17 This issue is the third official release, which incorporates the following changes: ● Optimized the architecture flowchart. ● Optimized DB instance classes. 2021-02-27 This issue is the second official release, which incorporates the following change: ● Optimized DB instance classes. ● Optimized the content in Table 8-1. 2020-10-27 This issue is the first official release. Issue 04 (2021-10-30) Copyright © Huawei Technologies Co., Ltd. 20
You can also read