Skip to content

Default DB

Alexander Czigler edited this page Jun 1, 2022 · 18 revisions

Default DB

We would like to find a default database that is our go-to option when setting up a new project. While we are in the process of selecting the right db for us this page holds a summary of the pros and cons of the different options.

Selection process

Needs (What is important?)

  • No-SQL
  • Long-term support
  • Support various platforms/languages
  • Support for hierarchies (documents in documents)
  • Easy to deploy yet capable of scaling (and cloud compatibility)

Wants (What is nice to have?)

  • Subscription to changes
  • Migrations (versioning) tooling

TODO

  • Compare costs when self-hosting
  • Compare costs in managed cloud
  • Compare drivers/platform/language support
  • Compare versioning/migration tools

Candidates

MongoDB

Pros

  • Easy to use
  • Developer friendly
  • Simple
  • Scalable
  • Managed in AWS, Azure, GC

TODO

  • Test change streams

Apache Cassandra

Pros

  • Fault-tolerant
  • Scalable
  • Managed in AWS, GC

Apache CouchDB

Pros

  • HTTP REST API

Cons

  • Write operations do not lock db; conflicts need to be handed in the application code
Clone this wiki locally