What Are Graph Databases and Index-Free Adjacency?
Index-Free Adjacency
Relational databases compute joins at query time by scanning indexes. Graph databases store relationships as physical pointers between nodes. Traversing from one node to its neighbors is O(1) (constant time) regardless of total graph size. Following 5 hops in a billion-node graph takes the same time as in a thousand-node graph because you only visit nodes on your path, not the entire dataset.
Performance and Transactions
Graph databases are OLTP systems (Online Transaction Processing: real-time operations like lookups and updates). They provide ACID guarantees (Atomicity, Consistency, Isolation, Durability) ensuring transactions either fully complete or fully rollback. Bounded traversals of 1-4 hops typically complete in single-digit to tens of milliseconds when the active subgraph fits in memory. Most graph databases use a schema-optional model: you can add new node types and relationship types without migrations, enabling rapid domain evolution.
When Graphs Excel
Ideal for: social networks (friends of friends), recommendation engines (users who bought X also bought Y), fraud detection (connected suspicious accounts), and knowledge graphs. A query like "find friends of friends within 3 degrees who like jazz" executes as a simple pattern match in milliseconds.
Limitations
Graph databases struggle with: global analytics across the entire dataset, high-throughput fan-out writes (writing to millions of targets), workloads with sparse relationships, or access patterns not involving traversal. Scaling is also challenging: most work best when the graph fits in memory on a single node.