#Data Management Patterns

Patterns for managing data in cloud applications.


#Key Patterns

#Cache-Aside Pattern

diagram
Application ──▶ Cache?  ──▶ Yes ──▶ Return cached
                  │
                  No
                  │
                  ▼
              Database ──▶ Update cache ──▶ Return

#CQRS (Command Query Responsibility Segregation)

diagram
Commands ──▶ Write Model ──▶ Database
                              │
                              ▼
Queries  ◀── Read Model  ◀── Events

#Event Sourcing

Store all changes as events:

Event 1: AccountCreated { id: 123 }
Event 2: MoneyDeposited { id: 123, amount: 100 }
Event 3: MoneyWithdrawn { id: 123, amount: 50 }

#Sharding

StrategyDescription
Hash-basedHash of key determines shard
Range-basedKey ranges per shard
GeographicLocation-based

#Database Selection

Use CaseDatabase Type
TransactionsPostgreSQL, MySQL
DocumentsMongoDB
Key-ValueRedis, DynamoDB
Time SeriesInfluxDB, TimescaleDB
GraphNeo4j

[!TIP] Pro Tip: Choose databases based on access patterns, not popularity!