# Selecting a Database Type

**Key points when selecting databases**

* Ease-of-learning curve
* Ease of data modeling
* Scalability/throughput
* Availability/partitioning tolerance
* Consistency
* Programming language support, product maturity, SQL support, and community
* Read/write priority (does the database prioritizes reads over writes, or the other way around)

**Database types (with examples)**

* Relational - PostgreSQL, Oracle, Microsoft SQL
* Key-value - Riak KV, Amazon DynamoDB, Redis
* Document - MongoDB, Couchbase, Amazon DocumentDB
* Columnar - Cassandra, Scylla, Amazon SimpleDB
* Graph - Neo4j, Infinite Graph, Tiger Graph
* NewSQL - VoltDB, ClustrixDB, SimpleStore (aka MemSQL)
* Cloud-native - Snowflake, Datomic, Redshift
* Time-series - InfluxDB, kdb+, Amazon Timestream
