NoSQL Databases

Context: FIT2094_MOC · the answer to Big Data scale · “not only SQL”, not “no SQL” · organised into four data models

Quick Revision

  • 🎯 Objective: non-relational, distributed, schema-less stores that scale out across commodity servers ➔ handle Big Data volume/velocity/variety.
  • ⚡ Key Constraint: they drop the rigid schema, enforced FKs, JOINs and full ACID that bottleneck an RDBMS at internet scale.

📝 Core

  • Name ➔ coined 2009 (Johan Oskarsson, #NoSQL); means not only SQL / not relational — many have their own or SQL-like query languages.
  • Origins ➔ engineering need at Google (Bigtable, wide-column, 2006) and Amazon (Dynamo, key-value, 2007 ➔ DynamoDB).
  • Characteristics ➔ non-relational (related data stored together, no engine-enforced FKs); mostly open source; distributed/cluster-friendly; schema-less (documents in one collection may differ; add fields with no migration).
  • Distributionsharding (partition data across nodes) and/or replication (copy data to many nodes); production mixes both.

⚖️ Core Decision Matrix

ApproachWhatGainsRisk
Sharding (partition)split one dataset across nodes (A–M | N–Z)storage capacity + write throughputa node failure loses that partition
Replicationcopy same data to many nodesread throughput + fault toleranceconsistency management overhead

⚠️ Common Mistakes

  • 💡 “NoSQL” ≠ “no SQL” ➔ it means not only SQL; several NoSQL systems expose SQL-like querying.
  • 💡 Schema-less ≠ structure-less ➔ documents still have fields; the point is fields can vary and evolve without a migration.

🧠 Active Recall