Use the right tool for the job
Don't bring a knife to a gun fight
Key value DB (redis, memcache ... )
have sets of keys, where the keys are unique
- All data are held in machine memory, limits amount of data you can store however it make db very fast.
- Trade off - fast but limited space, No queries
- Best for - caching, pub/sub, leaderboards
Wide Column DB (Cassandra, Hbase ...)
Tradeoff : schema-less but without joins
- easy to scale up and replicate data across multiple nodes
- Best for - time series data, historical records, high write low read, records for IOT device ( water sensors), netflix ( histories of different shows you watch)
Document DB (Mongodb, firestore, dynamodb, couchdb ...)
- Tradeoff - schemaless, relationalish queries but without joins
- Best for - most apps, games, iot
Relationship DB (Mysql, postgresql ... )
Acid - Atomicity, consistency, isolation and durability, hard to scale, maybe try cockroach db
In graph you don't need middleman table
- Best for : graphs, knowledge graph, recommendation engine.
Search (elastic, algolia, meili search)
- best for - search engine, type ahead
Multi Model DB ( fauna DB, ArangoDB, OrientDB)
Multi-model database management systems unify multiple database systems into one. Instead of working with numerous models and finding ways to incorporate them together, multi-model databases provide a singular engine for various database types.