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

Last updated