A brief, anecdotal, stroll through the land of databases

A land without Databases

Storing data without a database.

examples

  • config files
  • save games
  • documents?

1) figure out a file format (pros and cons)

2) Accessible locally

3) suffers from failure and loss

4) Reinvent common database operations (comparing data, etc)

Relational, the gold standard

Common operations are expressive and simple

  • easily recombine and query data into different shapes
  • supports a wide array of read/write patterns
  • Reporting is trivial
  • Accessible to other, non-local services

Starts to reach a limit at scale

  • Indexes, joins, table scans become incredibly expensive
  • Single write, multiple read setups
  • sharding
  • True active-active datacenters are hard operationally and can be expensive (oracle)

 

Non-relational, plan B

Data is denormalized (no relations)

Redundant data that can be inconsistent

Requires understanding access patterns ahead of time

 

Can scale both reads and writes

Can ingest inconsistent formats (some schemaless formats)

Distributed problems (CAP Theorem)

May come with a language that looks like SQL but has huge caveats that are non-obvious.

Made with Slides.com