Comparing PostgreSQL with NewSQL Databases: Compatibility, Scalability and Fault Tolerance

Typ: Bachelorarbeit
Betreuer: Tigran Mkrtchyan

PostgreSQL is a powerful, widely used, open-source RDBMS. To match today's availability requirements, it often runs as a high-availability cluster, where a secondary node gets updates in streaming replication mode. However, such deployments don't address scalability requirements, as standard PostgreSQL replication mechanisms assume that only one node running in read-write modes accepts all updates, and replicas can be used only for read-only queries. Many applications switch to so-called NoSQL databases to overcome this limitation, which typically allows multi-maser deployments. Nonetheless, those solutions typically guarantee only eventual consistency and, thus, are not ACID compliant.

Today, a new generation of databases, which positions themselves as NewSQL, aims to provide the scalability of NoSQL databases while still providing full ACID compliance. Moreover, some implement PostgreSQL's on-the-wire protocol, which can be used as a drop-in replacement for an existing PostgreSQL instance.

This Bachelor thesis should compare the PostgreSQL database with Cockroach DB, YDB, and Citus DB.

The research question:

  • Compare the laying DB technologies.
  • Compare the scalability and fault tolerance of those solutions.
  • Provide a SQL compatibility matrix.
  • Run a typical application, such as a NextCloud instance, on those databases and validate the 'drop-in' capability to mimic a plain PostgreSQL server.

This thesis requires a basic understanding of database technologies, Linux administrative skills, and experience with database benchmarking tools such as Yahoo Cloud Service Benchmark (YCSB) or similar tools.

admin.dbis 27.06.2024