Episodes

How graph databases work: Neo4j and Kùzu
Before we build one in C++, why graphs, where the series is heading, and how Neo4j and Kùzu store a graph and run a query.

Graph database in C++: pages on disk
The graph moves from memory into files of 4 KiB pages, with fixed-size records for nodes and relationships, so it outlives the program.

Graph database benchmark: Neo4j vs Kùzu
A first benchmark on a million relationships, with the same two-hop question asked of smollerGraph, Neo4j and Kùzu.

Graph visualization in the browser with D3.js
cpplint, clang-tidy and Abseil's Status for smollerGraph, then a UI, with sg serve answering HTTP and a page that draws the graph with D3, walks it a hop at a time, and shows each node's record on disk.

Database buffer pool in C++: keeping pages in memory
A buffer pool for smollerGraph, with frames, a page table, pins, dirty pages and the clock, and what it does to a million relationships.