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?

  1. AColumnar Database
  2. BKey-Value Store
  3. CRelational Database
  4. DDocument Database
Show answer & 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.

More Data Concepts and Environments questions