Your company collects user-interaction events from a mobile app. Each event arrives as a JSON document whose shape changes frequently as new features are released. Business analysts must issue ad-hoc queries that filter on nested fields (for example, payload.checkout.items.sku) and expect fast response times without asking engineers to run frequent schema migrations. Which storage system design most closely aligns with semi-structured storage principles while meeting these requirements?
A key-value store that treats each JSON payload as an opaque blob addressable only by its primary key
A row-oriented relational database that requires ALTER TABLE statements whenever a new field is added
A columnar analytic warehouse that ingests Avro files with a fixed writer schema defined at load time
A document-oriented NoSQL database that stores JSON natively and supports secondary indexes on document attributes
Document-oriented databases are built to hold semi-structured data such as JSON or XML. They keep the internal key-value structure of each document, letting the engine create secondary indexes on individual or nested attributes so analysts can query any field without altering a global table definition. A pure key-value store sees the JSON as an opaque blob and can only retrieve by the primary key. Traditional row-oriented relational databases enforce a predefined schema, so new fields require ALTER TABLE operations. Columnar analytic warehouses that rely on Avro files demand a writer schema at load time; every structural change forces schema-evolution steps and full re-loads. Therefore, a document-oriented NoSQL database is the most appropriate choice.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What makes document-oriented databases suitable for semi-structured data?
Open an interactive chat with Bash
How does a document-oriented NoSQL database differ from a key-value store?
Open an interactive chat with Bash
Why are schema changes problematic in relational databases for semi-structured data?