databases

Systems for structured storage, retrieval, and manipulation of data. Persistent memory for computation.

models

  • relational: tables with rows and columns, SQL, joins, normalization. PostgreSQL, MySQL
  • graph: nodes and edges as first-class citizens, Cypher/SPARQL queries. Neo4j, knowledge graphs
  • key-value: simple pairs, high throughput. Redis, RocksDB
  • document: JSON/BSON documents, flexible schema. MongoDB, CouchDB
  • column-family: wide columns, optimized for reads at scale. Cassandra, HBase

fundamentals

  • indexing: B-trees, hash indexes, inverted indexes for fast lookup
  • ACID: atomicity, consistency, isolation, durability — transaction guarantees
  • CAP theorem: a distributed database can guarantee at most two of consistency, availability, and partition tolerance
  • query optimization: transforming queries into efficient execution plans using algorithms

distributed databases

Sharding, replication, and consensus algorithms enable databases to scale across nodes. cyber uses distributed storage for the knowledge graph.