Databases and Caching

← All resources

Compare databases, embedded storage, and caches.

Choosing storage for a project

MySQL, MariaDB, and PostgreSQL are relational databases for structured data and SQL queries. SQLite keeps a database in a file, which suits small applications and embedded use. MongoDB stores documents and may fit data that does not map neatly to a fixed table structure.

Redis and Memcached solve a different problem: they keep frequently used data in memory for fast access. A cache usually sits beside a persistent database rather than replacing it. Consider your data model, deployment environment, backup plan, and query needs before choosing by popularity alone.

Browse resources

MySQL

Visit site

A common relational database for web applications with an established hosting and tooling ecosystem. Consider it when your project or host already uses MySQL-compatible software.

PostgreSQL

Visit site

A relational database with extensive SQL features and data types. Worth comparing when your application needs complex queries, constraints, or geospatial features.

MariaDB

Visit site

A MySQL-related relational database with a familiar SQL workflow. Check compatibility of the exact features and client tools your application uses before switching between them.

MongoDB

Visit site

Stores data as documents rather than fixed rows and columns. Compare its query and consistency model with a relational database before choosing it for highly connected data.

SQLite

Visit site

An embedded SQL database stored in a file, useful for local tools and smaller applications. Plan for its concurrency model if many processes will write at once.

Redis

Visit site

An in-memory data store often used for caches, queues, and short-lived application state. Decide how data should survive restarts before using it as primary storage.

Memcached

Visit site

A focused in-memory cache for data your application can recreate from another source. Useful when repeated database work is expensive, but it is not a persistent database.

Browse tools