At the Google I/O event, Google introduced AlloyDB for PostgreSQL, a fully-managed, PostgreSQL-compatible database for demanding enterprise-grade transactional and analytical workloads. Google claimed that in its performance tests, AlloyDB gave “more than 4x faster on transactional workloads, and up to 100x faster analytical queries than standard PostgreSQL, all with simple, predictable pricing.”
Google informs in a blog post that AlloyDB for PostgreSQL was built on the principle of disaggregation of compute and storage and designed to leverage disaggregation at every layer of the stack.
Google explains that AlloyDB begins by separating the database layer from storage, then introducing a new intelligent storage service optimised for PostgreSQL. Google claims that this reduces I/O bottlenecks. The storage service itself also disaggregates compute and storage that allows block storage to scale separately from log processing.
Design
It is a distributed system and has three parts:
- A low-latency, regional log storage service catering to very fast write-ahead log writing.
- A log processing service that processes these write-ahead log records and produces “materialised” database blocks.
- Failure-tolerant, sharded, regional block storage for durability even in case of zonal storage failures.
Image: Google
Google listed down some key benefits of this approach. These include full compute/storage disaggregation, storage-layer replication, efficient IO paths/no full-page writes, low-latency WAL writing, fast creation of read replica instances, fast restart recovery, and storage-layer backups.