Comparing Databases - pykello/pykello.github.com GitHub Wiki

Fauna vs Aurora, DynamoDB, MongoDB

Link: The Why and How of Distributed Databases

Dimensions:

  • Data Model: Relation vs. Document-Oriented Non-relational
  • Query Model
  • Transactional Model
    • DynamoDB: Only ACID within one region
  • Consistency Model
    • Aurora: Impossible to perform write transactions or consistent read-only queries in non-primary regions.
    • DynamoDB: within one region
    • MongoDB: Developers must limit queries
  • Indexing
  • Fault tolerance
  • Security
  • Scalability
    • DynamoDB: significant operational work for customers vs. Fauna

CockroachDB vs. Postgres & MongoDB

Link: CockroachDB in Comparison

Interesting Dimensions:

  • Distributed Transactions
    • MongoDB: Lightweight transactions only
  • Isolation
    • MongoDB: Eventual consistent default, read uncommitted highest. Allows snapshot read.
  • Potential data issues
    • MongoDB: Dirty reads, phantom reads, non-repeatable reads, write skew
  • Cost-based optimization
    • MongoDB: No
  • Geo-partitioning
    • Cockroach: Yes, row-level
    • MongoDB: No
  • Multi-cloud

Yugabyte vs. Cockroach

Link 1: Bringing Truth to Competitive Benchmark Claims – YugabyteDB vs CockroachDB, Part 2 image

Link 2: Compare YugabyteDB to other databases

Yugabyte benchmark

Link 1: Achieving 10x Better Distributed SQL Performance in YugabyteDB 2.1

tpc-c:

  • NewOrder: 154 tps
  • Payment: 672 tps
  • OrderStatus: 3059 tps
  • Delivery: 55 tps
  • StockLevel: 118 tps
  • Overall: 217 tps

Link 2: Very poor performance in comparison to Postgresql