NoSQL Database
Non-relational database systems with flexible schemas, designed for horizontal scalability and varied consistency models.
Classification
- ComplexityMedium
- Impact areaTechnical
- Decision typeArchitectural
- Organizational maturityIntermediate
Technical context
Principles & goals
Use cases & scenarios
Compromises
- Data inconsistencies with incorrect consistency configuration
- Uncontrolled schema growth and data heterogeneity
- Vendor lock-in due to proprietary queries or operational practices
- Align data model to read and write routines
- Document explicit replication and consistency policies
- Integrate monitoring and alerting for latency, throughput, and errors
I/O & resources
- Access patterns and expected load profiles
- Data volume and growth forecasts
- Requirements for consistency and latency
- Decision for a NoSQL paradigm (document/column/key-value/graph)
- Operationalized architecture with replication and backup
- Metrics and alerts for operation and scaling
Description
NoSQL databases are non-relational storage systems that offer schema flexibility, horizontal scalability, and varied consistency models. They suit large, heterogeneous datasets, high write throughput, and distributed deployments. Typical decisions involve consistency versus availability, indexing strategies, backup approaches, and data modeling for application patterns.
✔Benefits
- High horizontal scalability for large datasets
- Schema flexibility enables rapid product iteration
- Specialized models (key-value, document, column) for varied workloads
✖Limitations
- Lack of universal ACID guarantees in many systems
- Heterogeneous APIs and query features hinder portability
- Operational complexity (sharding, replication, backups)
Trade-offs
Metrics
- Throughput (write/read ops/s)
Measures the number of successful operations per second and indicates scalability.
- Latency (p95/p99)
Indicates response time for critical read and write paths.
- Error rate / success ratio
Monitors stability and operationalization (e.g., write errors, replication failures).
Examples & implementations
Real-time analytics with event sourcing
A company stores user events in a document-based NoSQL database and runs derived aggregations for dashboards.
Product catalog as document collection
An online store uses a document-oriented system to efficiently represent variable product attributes and multilingual data.
Session store with key-value system
Web application uses a NoSQL key-value store as a fast central session storage for scalable frontends.
Implementation steps
Analyze access patterns and data volume
Select a suitable NoSQL model and implement a prototype
Perform load and chaos testing
Operationalize: configure replication, backup, monitoring
Incremental migration and validation in production
⚠️ Technical debt & bottlenecks
Technical debt
- Provisional data models without migration paths
- Monolithic dependencies on specific NoSQL APIs
- Insufficient tests for replication and failover scenarios
Known bottlenecks
Misuse examples
- Using a document DB for heavily relational transactions
- Sharding without analyzing access patterns
- Omitting monitoring and alerting in production
Typical traps
- Underestimating operationalization costs
- Ignoring hidden consistency issues during replication
- Missing strategy for schema evolution
Required skills
Architectural drivers
Constraints
- • Constraints imposed by chosen consistency models
- • Budget for storage and network in cloud environments
- • Compatibility with existing integrations