Crate photondb

source ·
Expand description

A high-performance storage engine for modern hardware and platforms.

PhotonDB is designed from scratch to leverage the power of modern multi-core chips, storage devices, and operating systems.

Features:

  • Latch-free data structures, scale to many cores.
  • Log-structured persistent stores, optimized for flash storage.
  • Asynchronous APIs and efficient file IO, powered by io_uring on Linux.

This crate provides three sets of APIs:

  • Raw: a set of low-level APIs that can run with different environments.
  • Std: a set of synchronous APIs based on the raw one that doesn’t require a runtime to run.
  • Photon: a set of asynchronous APIs based on the raw one that must run with the PhotonIO runtime.

The Photon APIs are the default and are re-exported to the top-level module for convenience.

Re-exports

pub use photon::Table;

Modules

Environments for PhotonDB to interact with different runtimes and platforms.
Asynchronous PhotonDB APIs based on the raw APIs with the Photon environment.
Raw PhotonDB APIs that can can run with different environments.
Synchronous PhotonDB APIs based on the raw APIs with the Std environment.

Structs

Checksum Type.
Compression method.
Options that control manual flush operations.
An iterator over user entries in a page.
Options to configure a page store.
Options to configure the behavior of reads.
Statistics of page store.
Options to configure a table.
Statstistic of a table.
Statistics of a tree.
Options to configure the behavior of writes.

Enums

A list of possible errors returned by PhotonDB.

Type Definitions

A specialized Result type returned by PhotonDB.