DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

PolarDB


PolarDB is a commercial cloud based relational database product developed by the Alibaba. It is designed for clients with high read demand. PolarDB is compatible with two popular databases: MySQL, PostgreSQL. It has three layers. Users interact with database through computing layer. PolarFS is a distributed file system and polarStorage as storage level. PolarDB uses InnoDB as storage engine.[02]

Developer
Country of Origin
CN
Start Year
2017
Project Type
Commercial
Compatible With
MySQL, PostgreSQL
Operating System
Hosted
License
Proprietary

Database Entry

PolarDB


PolarDB is a commercial cloud based relational database product developed by the Alibaba. It is designed for clients with high read demand. PolarDB is compatible with two popular databases: MySQL, PostgreSQL. It has three layers. Users interact with database through computing layer. PolarFS is a distributed file system and polarStorage as storage level. PolarDB uses InnoDB as storage engine.[02]

History[03]


PolarDB was first released in September, 2017 and was commercialized officially in April, 2018. At the same time, Alibaba Cloud shared a talk about polarDB at Conference on Data Engineering (ICDE).

Checkpoints[04]


All modifications before a checkpoint must have been made to data chunks. Logs of changes committed after a checkpoint are also allowed to appear in a checkpoint. During recovery, it will choose the newest checkpoint instead of the longest one.

Concurrency Control[05][04]


Primary node (read-write) and replica nodes (read-only) communicate through message sender and ack receiver. Each of them have a buffer pool. Replica would update itself during runtime redo operation. It uses difference between written log sequence number and replica's applied log sequence number as replica lag to keep track of the version that replica is holding.

In PolarFS, it uses parallel raft protocol to coordinate multiple data chunk servers. ParallelRaft is a consensus protocol inherited from Raft but it allows out-of-order I/O completion tolerance capabilities of database.

Data Model[04]


Hardware Acceleration[04]


PolarDB uses RDMA to connect storage nodes and compute nodes. This removes the bottleneck for I/O performance.

Indexes[05]


PolarDB supports parallel query execution. It will partition the B+tree to multiple workers. Each worker can only see its own partition. When one worker finished with one partition, it will automatically attach to a new partition.

Isolation Levels[04]


PolarDB uses a novel disk outage consistency snapshot. It does not block user I/O operations during snapshot. When user triggers snapshot event, polarCtrl (the control plane of polar file system) will notify polarSwitch (the API that identifies page id, offset information from compute nodes and identify storage nodes in chunck servers) to take a snapshot. Chunk server will then take a snapshot before committing the request. After chunck servers receive snapshot tag of requests, they will take a snapshot before the request and copy block mapping meta information. Future requests will modify chunks in copy-on-write mechanism. After snapshot finishes, polarDB will stop adding snapshot tag to requests and will stop copy-on-write.

Joins[05]


Each worker will first scan and join their own partition. PolarDB will merge each worker's join result and return to clients.

Logging


Query Interface


SQL

Storage Architecture[04]


Storage Organization[04]


Each chunk server has a write ahead log (WAL). Any modification to a chunk server will be appended in log before updating the chunk.

System Architecture[04]


Within shared-disk, PolarDB has multiple data chunk servers which consist of chunks of data. Each chunk server has its own stand-alone non-volatile memory SSD disk. Compute nodes (database server) read and write to the disk via remote direct memory access (RDMA).

Citations

5 sources
  1. Alibaba Cloud: AI and Cloud Computing Services alibabacloud.com
  2. 兼容MySQL的云原生混合事务分析数据库-PolarDB MySQL企业版-云原生数据库 PolarDB-阿里云 aliyun.com
  3. A Brief History of Development of Alibaba Cloud PolarDB - Alibaba Cloud Community alibabacloud.com
  4. http://www.vldb.org/pvldb/vol11/p1849-cao.pdf vldb.org Dead — Check Archive
  5. Events Archive - Percona percona.com
Revision #6 Last Updated: