Apsara PolarDB is a next-generation relational database of Alibaba Cloud. PolarDB allows you to expand the storage to up to 100 TB and scale out an individual cluster to up to 16 nodes. This makes it applicable in various scenarios. With three independent engines, PolarDB is fully compatible with MySQL and PostgreSQL, and highly compatible with Oracle syntax.
PolarDB comprises PolarDB for MySQL, PolarDB for PostgreSQL, and PolarDB-O. They adopt the same architecture but each supports a different database engine.
This documentation describes PolarDB for MySQL.
PolarDB adopts a compute-storage separated architecture. All compute nodes of PolarDB clusters share the same physical storage. PolarDB allows you to upgrade or downgrade instance specifications within a few minutes, and perform fault recovery within several seconds. It ensures global data consistency, and offers free services for data backup and disaster recovery. PolarDB is integrated with the features of commercial databases such as stability, high performance, and scalability. PolarDB also allows you to gain the benefits of cloud databases, which are open source and iterative. For example, the performance of PolarDB for MySQL can be improved up to 6 times of MySQL, while it only costs 1/10 of a commercial database.
- Compute and storage separation
PolarDB runs in a cluster architecture. A PolarDB cluster contains one writer node (primary node) and multiple reader nodes (read-only nodes). All nodes share the same underlying physical storage (PolarStore) through PolarFileSystem.
- Read/write splitting
PolarDB uses a built-in proxy to provide external services for applications that connect to the cluster endpoints. Requests from applications pass through the proxy, and then reach the database nodes. You can use the proxy for authentication and protection, and use it to achieve automatic read/write splitting. The proxy can be used to parse SQL statements, send write requests (such as transactions, UPDATE, INSERT, DELETE, and DDL requests) to the primary node, and distribute read requests (such as SELECT requests) to multiple read-only nodes. With the proxy, applications can access PolarDB in the same way as accessing a single-node database.
- Large capacity.
The maximum storage of a cluster is 100 TB, which overcomes the limit of a single host. You no longer need to purchase multiple instances for database sharding. This simplifies the use of applications and reduces the workload of operations and maintenance.
- High cost efficiency.
- PolarDB decouples computing and storage. You are charged for the computing resources consumed by each read-only node that you add to a PolarDB cluster. Traditional databases charge you for both computing and storage resources in the same case.
- You do not need to manually configure the storage of a PolarDB cluster. The storage is automatically scaled based on the data volume. You are only billed for the data volume that you have used on an hourly basis.
- Elastic scaling within several minutes.
You can quickly scale up a PolarDB cluster by using this compute and storage separation feature in combination with shared storage.
- Read consistency.
Log Sequence Numbers (LSNs) are applied to cluster endpoints. This ensures the global consistency of reads and avoids inconsistency caused by the replication latency between the primary node and read-only nodes.
- Millisecond-level latency (physical replication).
PolarDB performs physical replication from the primary node to read-only nodes based on the Redo log instead of logical replication based on the binlog. This greatly improves the efficiency and stability. No latency is incurred for PolarDB even if you perform DDL operations on a large table, such as adding indexes or fields.
- Unlocked backup.
You can create a snapshot on a database of 2 TB in size within 60 seconds. During the backup process, the database is not locked. Backup can be performed at any time on a day without any impacts on applications.
How to use PolarDB
You can use the following methods to manage PolarDB clusters. For example, you can create clusters, databases, and accounts.
- Console: Provides a visual web interface.
- CLI: All operations available in the console can be performed by using the command-line interface (CLI).
- SDK: All operations available in the console can be performed by using the SDK.
- API: All operations available in the console can be performed by calling API operations.
After a PolarDB cluster is created, you can connect to the cluster by using the following methods:
- DMS: You can connect to a PolarDB cluster by using Data Management System (DMS) and develop databases on the web interface.
- Client: You can connect to a PolarDB cluster by using common database clients. For example, you can use MySQL-Front and pgAdmin.
The following terms help you know about how to purchase and use PolarDB properly.
- PolarDB cluster: PolarDB runs in a cluster architecture. A PolarDB cluster contains a single primary node and multiple read-only nodes.
- Region: the physical data center where a PolarDB cluster is deployed. In most cases, PolarDB clusters must be deployed within the same region as ECS instances. This can ensure the optimal access performance.
- Zone: zones are distinct locations within a region that operate on independent power grids and networks. All zones within a region provide the same services.
- Specification: specifies the resources configured for each node, such as 2 CPU cores and 4 GB of memory.
- ECS: Elastic Compute Service (ECS) instances are cloud servers. ECS allows your cluster to achieve the optimal performance when you access the PolarDB cluster within the same region over an internal network. ECS instances and PolarDB clusters compose a typical business architecture.
- ApsaraDB for Redis: ApsaraDB for Redis is a database service that supports both in-memory storage and persistent storage. You can combine ECS instances, PolarDB clusters, and ApsaraDB for Redis instances to handle a large number of read requests and reduce the response time.
- ApsaraDB for MongoDB: ApsaraDB for MongoDB provides stable, reliable, and scalable database services that comply with the MongoDB protocol. To meet diverse business demands, you can store structured data in PolarDB and unstructured data in ApsaraDB for MongoDB.
- DTS: You can use Data Transmission Service (DTS) to migrate on-premises databases to PolarDB.
- OSS: Object Storage Service (OSS) is a high-capacity, secure, cost-effective, and reliable cloud storage service.