Skip to content
DEE
Database Engineering Essentials

[DEE-0] DEE Overview

INFO

DEE (Database Engineering Essentials) is a collection of guidelines and best practices for designing databases in application development.

Context

Databases are the backbone of most applications. Poor database design leads to performance bottlenecks, data integrity issues, and maintenance nightmares. DEE provides a structured, numbered set of principles to guide database design decisions -- from schema modeling to operations.

Purpose

  • Establish shared vocabulary and conventions for database design discussions
  • Provide actionable guidance for common database design decisions
  • Serve as a learning resource for developers at all experience levels
  • Document both relational and non-relational design patterns

How to Read DEEs

Each DEE follows a consistent structure:

  • Context -- Why this principle matters
  • Principle -- The core guidance (uses RFC 2119 keywords: MUST, SHOULD, MAY)
  • Visual -- Diagrams where they aid understanding
  • Example -- Concrete SQL, code, or configuration
  • Common Mistakes -- Anti-patterns to avoid
  • Related DEEs -- Cross-references to other principles
  • References -- External resources for deeper learning

Categories

RangeCategoryFocus
0-9DEE OverallPurpose, glossary, meta
10-29FundamentalsACID, CAP, data modeling basics
100-149Relational DesignNormalization, keys, constraints
150-199Indexing and StorageIndex types, storage engines, partitioning
200-299Query and PerformanceOptimization, execution plans, N+1
300-399Schema EvolutionMigrations, backward compatibility
400-449NoSQL PatternsDocument, key-value, column-family, graph
450-499Caching and SearchRedis, Elasticsearch, cache strategies
500-599Application PatternsConnection pooling, ORM, multi-tenancy
600-699OperationsBackup, replication, sharding, monitoring
  • ADE -- API Design Essentials (deep dive on API design)
  • BEE -- Backend Engineering Essentials (broad backend engineering guidelines)

Maintainer

Alive Kuo -- alegnadise@gmail.com