Even with the power of existing relational databases, we are still yet to fully resolve the issue of integrating traditional relational databases with public cloud environments. In a public cloud environment, with increasing number of users and services, we are constantly plagued with backup, performance, migration, hard disk capacity, and binlog latency issues.
Most of the reasons for these problems come from I/O bottlenecks (storage and networks), which is an issue that must be solved through technological revolutions and new product architectures. From an architectural perspective of relational databases, it’s best to have a common technical architecture that is capable of meeting different user scenarios, without sacrificing performance. Next-generation relational databases are one of the major milestones marking this shift in paradigm.
What is Alibaba Cloud PolarDB?
Alibaba Cloud PolarDB is a next-generation relational database based on a cloud computing framework. What differentiates PolarDB from traditional databases lies within its architecture; it separates computing and storage, and is capable of supporting multiple read-only nodes.
PolarDB divides nodes into computing nodes and storage nodes. The computing nodes are servers that primarily perform SQL parsing and storage engine computation. The storage nodes are servers that perform data block storage and data snapshots. All of the nodes in an instance, including read/write nodes and read-only nodes, are able to access the same copy of data on a storage node. In contrast, traditional cloud database models only allow each instance to get its own copy of data.
PolarDB also features a complete management system based on Docker to handle instance creation, deletion, and account creation tasks passed down by the user. It also includes a complete and detailed monitoring system and reliable, high availability switching. The management system also maintains a set of metabases used to record the locational information of each data block, which it provides to PolarSwitch which then passes it on to the appropriate destination.
Design Concepts of Alibaba Cloud PolarDB
The design concept behind PolarDB features some revolutionary ideas. One such example is the way PolarDB redesigned a new file system to retrieve specific WAL (Write-Ahead Logging) I/O data such as Redo log. Another is using a high-speed network and high performance protocol to put database files and Redo log files on shared devices, which prevents multiple, repeated operations along a single I/O path and makes it better than conventional binlog methods.
Furthermore, in the design of the DB Server, PolarDB uses concepts that are completely MySQL compatible and embrace the open source ecology. This approach helps to preserve the special characteristics of traditional relational databases, from the SQL compiler to the performance optimizer and execution plans. PolarDB also uses specially designed block storage devices to target and improve the Redolog I/O path.
A common design philosophy shared between next-gen databases such as PolarDB and Amazon Aurora is to abandon the OLTP multi-path concurrent write support commonly found in distributed databases in favor of a single write, multiple read architecture design. They simplify the difficult to understand theoretical model of distributed systems and are both capable of satisfying the vast majority of OLTP application scenarios and performance requirements.
Alibaba Cloud PolarDB Product Architecture
As shown in the figure below, PolarDB features a distributed cluster architecture. It combines multiple advanced technologies to significantly increase the OLTP processing performance of the database.
PolarDB uses separated storage and computing design concepts to satisfy public cloud users’ requirements for flexible scaling. The computing nodes and storage nodes for the database are connected with a high-speed network and use the RDMA protocol to execute data transmissions, resulting into I/O performance never being a bottleneck again.
The DB server implements a single master – multiple slave framework whereby other nodes are able to expand or contract as needed to support any request. The Master node and its read-only nodes use an Active-Active failover method which ensures the computing nodes are used to their full potential.
Deep Dive into Alibaba Cloud PolarDB’s Shared Disk Architecture
Logically, DB data is placed on data chunk storage servers that all DB servers can share access to. Internally on the storage server, the actual data is cut into chunks to achieve the I/O goal of handling concurrent requests from multiple servers.
PolarDB utilizes a Shared Disk architecture, and is capable of supporting multiple read-only nodes. Because of its shared storage, user costs are lowered significantly by sharing a single copy of data across all nodes.
The database nodes are designed to be completely compatible with MySQL. Master and read-only nodes use Active-Active Failover methods to provide high availability DB service. DB data files and redolog are sent to a remote Chunk Server from User-space file system, through a high-speed network running the RDMA protocol, routed by block device data management.
At the same time, DB Servers only need to synchronize Redo log metadata information between each other. Chunk Server data reliability is maintained with multiple copies, with consistency guaranteed by the Parallel-Raft protocol.
Alibaba Cloud PolarDB in Action
Now that we know what PolarDB is capable of, let’s take a look at the implementation of PolarDB for enterprises.
The diagram above shows a typical architecture of PolarDB for an organization. At first look, the architecture diagram may seem a little complicated. However, it essentially boils down to three parts: high availability, cloud migration, and high reliability.
High Availability and Scalability
One of the common issues in businesses is the rapid change in requirements. The most straightforward solution to this issue is to maximize the capacity of your resources. However, this is an extremely costly approach.
Having static resources means that resources are not fully optimized based on demands. Instead, enterprises should adopt an elastic and scalable approach. With PolarDB, you can scale resources up/down or in/out according to your needs. Because of the separation of computing and storage, PolarDB lets you scale not only computing resources but also storage resources. Furthermore, with its Active-Active failover architecture, you can rest assured that your services are always available.
Scalability is particularly important for e-commerce applications such as bid sniping. Bid sniping is a data intensive process, but is also a short-lived one. By using PolarDB, you are able to add read-only nodes in just over a minute.
Cloudification and Migration
Many of you are already familiar with the benefits of migrating to the cloud. By allocating your resources on the cloud, you essentially avoid the risk of having outdated infrastructure due to rapid technological advancements. Your organization will also be free from tedious operational and maintenance (O&M) tasks.
However, migrating to the cloud can be a challenging process. Issues such as lack of technical resources or incompatibility plague businesses from successfully implementing a cloud architecture. PolarDB solves these issues by providing multiple cloud migration tools and also by offering MySQL compatibility.
By having MySQL compatibility, you can maintain a hybrid cloud architecture for your business. Furthermore, with migration tools and logical migration, cloudification will no longer be a hassle.
High Reliability Backups for Disaster Recovery
If you have ever dealt with data, chances are that you have experimented with multiple data backup solutions. Many solutions offer high reliability backups, but not all are capable of providing a high-speed disaster recovery solution.
In a disaster recovery solution, backups are stored across multiple zones or regions to avoid any failures limited to geographical constraints. Because of the distributed nature of backups, this can cause unacceptable error recovery times, particularly for time-sensitive applications. PolarDB resolves this issue by having a distributed cluster architecture. This architecture helps to speed up the backup process by allowing for multi-level storage and snapshot backups.
Alibaba Cloud PolarDB is an all-in-one database, capable of meeting the various needs of today’s and tomorrow’s businesses. PolarDB helps organizations realize the opportunity to integrate database OLTP and OLAP, allowing them to focus more on core businesses. With cutting-edge features, such as 100TB storage and 32Gbps single-disk throughput, Alibaba Cloud PolarDB is ideal for organizations that want to be at the forefront of technology. You can now pre-order PolarDB on with a 30% discount at Alibaba Cloud.