When developing a new application requiring persistent data storage, Postgres should be the default choice, especially for web applications. SQLite is suitable for desktop or mobile apps but not ideal for websites. NoSQL databases like DynamoDB, MongoDB, Cassandra, and others offer performance benefits if the access patterns are well-defined beforehand but are less flexible when handling evolving access needs. Redis is efficient for caching but can be used as a primary database with some trade-offs. Datomic and XTDB present innovative approaches with specific benefits and challenges. While advanced databases like Kafka and ElasticSearch excel in niche tasks, Postgres often suffices for general needs, potentially complemented by simpler built-in search functions.

7m read timeFrom mccue.dev
Post cover image
Table of contents
Why not sqlite ?Why not DynamoDB , Cassandra , or MongoDB ?Why not Valkey ?Why not Datomic ?Why not XTDB ?Why not Kafka ?Why not ElasticSearch ?Why not MSSQL or Oracle DB ?Why not MySQL ?Why not some AI vector DB?Why not Google Sheets?
13 Comments

Sort: