Kelly Mears

Relational Database

Data organized as tables with declared relationships, queried declaratively and guarded by constraints.

Data & Content2 min read206 words12 out · 21 in
also calledSQL databasePostgres

A relational database stores data as tables of rows and columns, with relationships expressed by keys and integrity enforced by declared constraints. It is queried declaratively: you describe the result you want and the engine chooses how to obtain it.

Its enduring advantage is that correctness can be delegated to the schema. A foreign key, a uniqueness constraint, or a not-null declaration is enforced for every writer, including the ones written years later by people who never read the original code. Application-level validation protects only the paths that go through it.

Transactions are the second pillar: a set of changes either all happen or none do, which is what makes multi-step operations safe under concurrency and failure.

Two things worth holding onto when working through an abstraction layer. The layer's update semantics are usually partial — an absent key means "leave this column alone", not "clear it" — so clearing a field means writing an explicit null, and deleting a key from an object before saving is a no-op that in-memory tests happily pass. And a mirrored copy of a database in an analytics warehouse can carry duplicate rows from the synchronization process, so any count taken there should be de-duplicated before it is trusted.

See also11

Multi-Tenancy

One deployment serving many isolated customers, with tenancy threaded through data, routing, and access.

Data & Content12 connections

Seed Data

Initial content created programmatically to make an empty system usable or demonstrable.

Data & Content14 connections

Database Migration

A versioned, ordered change to a database schema, applied once and recorded.

Data & Content20 connections

Schema Drift

Divergence between a schema and the code, types, or documentation that describe it.

Data & Content16 connections

Draft and Published

Keeping an in-progress version of content separate from the live one, with all the state that implies.

Data & Content6 connections

Idempotence

The property that performing an operation twice has the same effect as performing it once.

Systems & Tooling34 connections

Headless CMS

A content system exposing structured data through an API, with presentation left entirely to consumers.

Data & Content12 connections

Feature Flag

A runtime switch that decouples shipping code from enabling behavior.

Data & Content19 connections

SQLite

A complete SQL database packaged as a small library that stores everything in one file, public domain since 2000, tested to an extreme standard, and probably the most widely deployed database in the world.

Data & Content9 connections

WordPress

The open-source PHP publishing system forked from b2 in 2003 that grew from a blogging tool into the software behind a large share of all websites, held together by themes, plugins, and a strict commitment to backward compatibility.

Web Platform12 connections

Object-Relational Mapping

A library that lets code treat database rows as ordinary objects, saving a great deal of boilerplate at the cost of hiding the queries that actually run.

Data & Content9 connections

Linked from21