Relational Database
a.k.a. RDBMS (Relational Database Management System)
This document outline some considerations when choosing a RDBMS for your application.
MySQL
- Performant and Efficient JSON Support
- More efficient JSON operations and storage compared to PostgreSQL
- MySQL Documentation: JSON Data Type
- Built-in Replication
- Multiple Storage Engines
- InnoDB, MyISAM, Memory, CSV, Archive, Blackhole, NDB, etc.
- MySQL Documentation: Storage Engines
PostgreSQL
tip
Neon provides free Postgres databases for development and testing purposes.
- Always ACID Compliant
- Advanced Data Types
- JSON, XML, Arrays, Range, Geometric, Network Address, Bit String, Text Search, UUID, etc.
- PostgreSQL Documentation: Data Types
- Rich JSON Operations
- More wide-ranging support for JSON operations compared to MySQL
- PostgreSQL Documentation: JSON Types
- Table Inheritance
- More Extensive Indexing Support
- For efficient querying of complex data types
- B-Tree, Hash, GiST, SP-GiST, GIN, and BRIN indexes
- PostgreSQL Documentation: Index Types
- Full Support for SQL Standard Features
- Window functions, common table expressions, lateral joins, etc.
- Supports 170/177 mandatory features of the latest SQL:2023 standard
- PostgreSQL Documentation: SQL Conformance
- Custom Data Types, Functions, and Operators
CockroachDB
TODO
SQLite
- Plain simple to use
- Might not be suitable for large-scale applications