CompTIA Data+ (DA0-002)Data Concepts and EnvironmentsMedium
A data architect is designing a system to store customer profile data for a global e-commerce platform. Each customer profile can have a unique and evolving set of attributes, such as purchase history, preferences, and demographic information, which may not fit into a rigid, predefined table structure. The system needs to handle high read and write volumes and offer flexible schema evolution. Which type of database is BEST suited for this requirement?
- AColumnar Database
- BKey-Value Store
- CRelational Database
- DDocument Database
Show answer & explanationAnswer & explanation
Correct answer: D. Document Database
Document databases are ideal for storing semi-structured data like customer profiles, where each profile can be represented as a flexible document (e.g., JSON). Their schema-less nature allows for easy evolution of attributes without requiring costly schema migrations, and they support high read/write volumes for document-level operations.
Why the other options are wrong
- A. Columnar databases are optimized for analytical queries on specific columns, not for flexible, document-like data structures.
- B. Key-value stores are too simple for complex, hierarchical customer profile data; they typically store flat values.
- C. Relational databases enforce a rigid schema, which would make storing evolving, unique customer attributes cumbersome.
Document Database
A NoSQL database that stores data in flexible, semi-structured formats (like JSON, BSON, XML) called documents. It offers schema flexibility and is good for hierarchical data.
- Stores data as documents, often JSON-like.
- Schema-flexible, allowing documents to have different structures.
- Optimized for retrieving and updating entire documents.
Memory trick: Documents are flexible profiles, relational is rigid, key-value is simple, columnar is vertical.