NEW
A NoSQL database type that stores and queries data as self-describing documents, typically in JSON-like formats with flexible schemas.
DESCRIPTION
Document databases manage semi-structured data in document collections, enabling dynamic schema evolution and nested fields. They excel at developer productivity and serve content, catalogs, and event logs. Rich indexing, aggregation, and ACID guarantees vary by implementation. Data modeling focuses on embedding versus referencing to align with query patterns. Popular systems include MongoDB and CouchDB.
ALTERNATIVE DEFINITIONS
MongoDB
A document database stores data in JSON-like documents that can vary in structure, offering a flexible, semi-structured data model.
Highlights JSON-like storage and flexible schema.
AWS
Document databases store data as documents, typically using JSON, enabling flexible schemas and fast queries on document attributes.
Emphasizes attribute-based querying on JSON documents.
RELATED TERMS
JSON BSON MongoDB CouchDB Indexing Aggregation Pipeline Schema Flexibility NoSQL Database ACID Consistency
COMPETING TERMS
RELATIONS
- Broader: Database
KNOWLEDGE AREAS
Data Storage & Operations Data Architecture Data Engineering
TARGET AUDIENCE
Data Engineer Software Developer Data Architect Cloud Architect
EXTERNAL SOURCES
- Wikipedia - Document-oriented database
- MongoDB - MongoDB manual on documents
- Apache CouchDB - CouchDB overview of document model
- Microsoft - Cosmos DB document concepts
TOP QUESTIONS
When should I use a Document Database?
Use document databases for semi-structured JSON data, rapidly evolving schemas, and document-centric queries, such as product catalogs or user profiles.
Category: Decision
How do Document Databases handle schema changes?
They allow schema-on-write flexibility, letting documents in a collection vary in fields. Validation rules can enforce structure when needed.
Category: Capabilities
What are common modeling patterns in Document Databases?
Embedding related data for single-document reads and referencing for many-to-many relationships are common patterns aligned to query needs.
Category: Best Practices
Do Document Databases support transactions?
Many support single-document ACID; some provide multi-document transactions with constraints on performance and scalability.
Category: Capabilities
How does indexing work in a Document Database?
Secondary indexes on fields, compound indexes, and text or geospatial indexes speed queries. Proper index design is vital for performance.
Category: Mechanism
What are typical pitfalls with Document Databases?
Over-embedding leading to duplication, under-indexing, and inconsistent document shapes can degrade performance and maintainability.
Category: Mistakes
How do Document Databases scale?
They typically shard collections across nodes using hash or range partitioning, enabling horizontal scaling.
Category: Scalability
How do Document Databases compare to relational systems?
They trade normalized schemas for flexibility and application-driven joins, which can simplify reads but move some logic into the app.
Category: Comparison
What is the role of aggregation frameworks?
Aggregation pipelines enable complex transformations and analytics within the database, reducing data movement.
Category: Functionality