Skip to content
IT Atlas

Applications & Data · Databases

Databases

Systems that store, protect and serve structured data with transactional guarantees, indexing and controlled concurrent access.

IntermediateUpdated 2026-09-01

Overview

Relational databases organise data into tables with enforced schemas and relationships, queried with SQL and protected by ACID transactions. Non relational stores trade some of those guarantees for scale, flexible schema or specific access patterns, document, key value, wide column, graph and time series.

For IT teams the database is usually the availability and recovery centre of gravity of an application. Its backup method, patch cadence and access model deserve more attention than the application tier in front of it.

How it works

  1. 01Indexes trade write cost and storage for read speed; query plans reveal whether they are used.
  2. 02Transaction isolation levels determine what concurrent sessions can observe, and are a frequent source of subtle application bugs.
  3. 03High availability uses replication with automatic failover, always on availability groups, managed failover groups, or replica sets.
  4. 04Backups must be application consistent and include transaction logs when point in time recovery is required.

Reference table

Choosing a store
TypeStrengthTypical use
Relational (SQL)Strong consistency, joins, mature toolingERP, finance, line of business systems
DocumentFlexible schema, developer velocityCatalogues, content, event payloads
Key-valueVery low latency at scaleSessions, caching, feature flags
Wide-columnHuge write volumes, partitioned accessTelemetry, IoT ingestion
GraphRelationship traversalIdentity relationships, fraud, dependency mapping
Time-seriesEfficient time ordered writes and rollupsMonitoring metrics, historian style data

Security considerations

  • Use managed or federated identity for application access instead of embedded connection string passwords.
  • Restrict network reachability to the application tier only; never expose a database to the internet.
  • Encrypt at rest and in transit, and apply column level protection or masking for sensitive fields.
  • Audit privileged database access separately, DBA activity is rarely covered by application logging.

Common misconfigurations

  • Default or shared administrative accounts (sa, root, postgres) still enabled with weak passwords.
  • Point in time recovery assumed but transaction log backups never configured.
  • Production data copied into test environments without masking.