Skip to main content

Structured vs unstructured, NoSQL taxonomy

Short answer

Structured data has a fixed schema (e.g., RDBMS tables), while unstructured data (e.g., text, images) lacks predefined format. NoSQL databases are categorized as key-value stores (Redis), document stores (MongoDB), column-family stores (HBase), and graph databases (Neo4j), each suited for different scalability and data model needs.

Differentiate between structured and unstructured data and discuss the Taxonomy of NoSQL.

Structured vs unstructured data

Structured data follows a fixed schema of rows and columns (e.g. a bank's customer table). Unstructured data has no predefined format or schema (e.g. text, images, video, emails, logs).

PointStructuredUnstructured
SchemaPredefined, fixedNone, free-form
StorageRDBMS tablesFiles, NoSQL, data lakes (HDFS)
QuerySQLSearch, text mining, MapReduce
Ease of analysisEasyHard, needs processing
Share of all dataAbout 10 to 20%About 80%
ExamplesStudent table, transactionsPhotos, tweets, PDFs, video

(Semi-structured data such as XML and JSON has tags but no rigid schema.)

Taxonomy of NoSQL

NoSQL ("Not Only SQL") databases are non-relational, schema-flexible, horizontally scalable stores. They are classified into four main types by data model.

  1. Key-Value stores: data is a pair of unique key and an opaque value, accessed by key only. Very fast and simple; good for caching, sessions, shopping carts. Examples: Redis, Riak, DynamoDB, Memcached.
  2. Document stores: data is stored as self-describing documents (JSON/BSON/XML) that can be nested and differ in structure. Supports querying on fields. Good for content management and catalogues. Examples: MongoDB, CouchDB.
  3. Column-family (wide-column) stores: data is stored in rows with column families, and column values are stored together. Good for huge write volumes and analytics on large data. Examples: HBase, Cassandra, BigTable.
  4. Graph databases: data is stored as nodes, edges and properties, optimised for traversing relationships. Good for social networks, recommendations and fraud detection. Examples: Neo4j, InfiniteGraph.
            NoSQL
   +--------+--------+---------+
 Key-Value Document Column   Graph
 Redis    MongoDB  HBase    Neo4j
 Riak     CouchDB  Cassandra

The first three (key-value, document, column-family) are called aggregate-oriented databases, as they store a whole aggregate unit together, which suits clusters. Graph databases are relationship-oriented.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Big Data Technologies chapter 4 questions →