Knowledgebase

Core Database Principles: Everything That Matters, Briefly Print

  • 0

The whole category in one page.

RECOVERABLE FIRST, THEN AVAILABLE, THEN FAST

A slow database is an inconvenience; a lost one can end a business. A backup that has never been restored is not a backup, and replication is not a backup either — a deletion replicates instantly and faithfully.

INDEXES ARE THE WHOLE GAME

Missing ones are why applications work for a year and then degrade suddenly. Index foreign keys, read the execution plan, and check whether far more rows are examined than returned.

MOST PROBLEMS ARE QUERIES, NOT CONFIGURATION

Fix the slow query before touching a setting. Tuning first is effort spent where the problem is not.

NEVER FLOATING POINT FOR MONEY, NEVER TEXT FOR DATES

And use the full character encoding, because the wrong one corrupts text permanently on import.

PUT CONSTRAINTS IN THE DATABASE, NOT ONLY THE APPLICATION

Scripts, imports and second applications bypass application validation entirely.

PARAMETERISE EVERY QUERY, AND GRANT MINIMUM PRIVILEGES

Injection is prevented by the first and limited by the second. An account that cannot drop tables cannot be made to.

BIND THE DATABASE TO THE LOCAL ADDRESS

Exposed databases are scanned and attacked continuously, and this single setting prevents most of it.

KEEP TRANSACTIONS SHORT AND NEVER CALL EXTERNAL SERVICES INSIDE ONE

TIME EVERY SCHEMA CHANGE ON A COPY BEFORE RUNNING IT LIVE


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot