镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

About

High Performance Embedded Key-Value Store

Resources

Code of conduct

Contributing

Security policy

Stars

733 stars

Watchers

17 watching

Forks

Latest commit

 

History

552 Commits

Folders and files

SplinterDB Project Logo

Splinter Tests

What is SplinterDB?

SplinterDB is a key-value store designed for high performance on fast storage devices.

See this talk at the CMU Database Seminar and this paper:

Alexander Conway, Abhishek Gupta, Vijay Chidambaram, Martin Farach-Colton, Richard P. Spillane, Amy Tai, Rob Johnson: SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value Stores. USENIX Annual Technical Conference 2020: 49-63

Usage

SplinterDB is a library intended to be embedded within another program. See Usage for a guide on how to integrate SplinterDB into an application.

SplinterDB is provided as-is and is not recommended for use in production until version 1.0. See Limitations for details.

Build

See Build for instructions on building SplinterDB from source.

See Documentation for preliminary documentation.

Inspecting an image

Build the inspection utility with make tools (also included in make), then run:

build/release/bin/splinter_inspect space database.db

The command opens the image read-only and reports its geometry, allocated/free extents and bytes, and reserved metadata space. Stop the database before inspection. Allocation totals require a cleanly closed image; when its allocation map needs recovery, geometry is still reported and the command exits with status

  1. Counts include unused pages within allocated extents, and describe SplinterDB allocation rather than filesystem block usage. Page-type statistics are not stored in the image. Use --help for usage and exit statuses.

Insertion throughput benchmark

make benchmarks builds a concurrent random-insert and random-point-query benchmark with independently sampled throughput, per-thread rates, and optional internal task traces. See the benchmark instructions for the 8-inserter/8-reader workload, time-series plots, and configuration options.

About

High Performance Embedded Key-Value Store

Resources

Code of conduct

Contributing

Security policy

Stars

733 stars

Watchers

17 watching

Forks

Releases

Used by

Contributors

Languages