Different Databases For Different Jobs
Just because you have a database that you like, doesn't mean it's the right tool for the job. In this section, we'll take a look at different databases.
There are tons of different designs, but we'll explore four here, which cover the majority of the designs you'll see in the wild.
Database Type:
Key/Value store
Example Software:
Redis
Upsides:
Really easy to use. CRAZY FAST.
Downsides:
No built in relationships with your data. Very limited query types. Hard to scale
Database Type:
Document
Example Software:
MongoDB
Upsides:
Can store JSON documents whole, without splitting up data. Pretty Fast database system, depending on query type.
Downsides:
Very different query format compared to SQL. Hard to scale.
Database Type:
SQL
Example Software:
MySQL, Postgres, MS SQL Server, Oracle
Upsides:
Very powerful query language. Pretty easy to scale.
Downsides:
Slower (Compared to Redis or MongoDB). Limited to rows and columns (with caveats).
Database Type:
Graph
Example Software:
Neo4J
Upsides:
Can model relationships between multiple entities (Visualized as Facebook Friend Connections)
Downsides:
Can't model traditional relational data. Is pretty specific for what it does.