Architecture

Architecture

/ Architecture

Architecture #

Pizza is a distributed search engine built on a shared-nothing design: every node owns its shards, memory, and disks — and within a node, every CPU core runs its own runtime instance, sharing nothing with the other cores. All disk and network I/O is asynchronous, running on a thread-per-core runtime ( monoio); on Linux, io_uring offloads the WAL’s durable-write fsyncs whenever the kernel supports it.

A gateway fronts the distributed query engine, which dispatches subqueries to data nodes; each data node runs one Pizza runtime instance per CPU core over local WAL, store, index, and meta storage.

Pizza at a glance: a gateway, a distributed query engine, and data nodes running one runtime instance per CPU core.

...

Why named Pizza

/ Distributed, / Architecture, / Sharding

Why named Pizza? #

Do you wonder why this project is named Pizza?

To infinity scaling #

Pizza solves the challenge of managing massive data seamlessly. Imagine creating a collection and continuously adding documents, from zero to petabytes, without the need to worry about sharding or reindexing. Scaling your machine becomes effortless, ensuring a smooth, seamless, and painless experience for application developers.

Sharding puzzle #

One of the world’s three major challenges: What is the appropriate size for an index shard?

...