@statecraft/foundationdb
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

Statecraft Foundationdb store

This is a simple implementation of a statecraft wrapper for the foundationdb database maintained by Apple.

This SC wrapper supports running a horizontally scaled set of statecraft stores all pointing to the same backing foundationdb cluster.

Status: Ready for use, but see caveats below

Usage

const fdb = require('foundationdb')
const fdbStore = require('@statecraft/foundationdb')

// Configure foundationdb and create a database
fdb.setAPIVersion(600)
const db = fdb.openSync().at('my-prefix')

;(async () => {
  // Wrap the foundationdb database with statecraft!
  const store = await fdbStore(db)

  // ...
  // store.fetch(...), etc.
})()

Supported queries

The foundationdb store acts as a key-value store with range support. So, you can run both standard KV queries and range queries against the store.

Caveats

  • There is currently no support for deleting old operations from the operation log in foundationdb.
  • No performance tuning has been done yet.
  • Large queries are handled by single FDB transactions. This means you will run into performance issues and transaction size limits (5M by default) if you're fetching a lot of data all at once. Please file an issue if this is important to you.

License

ISC

Readme

Keywords

none

Package Sidebar

Install

npm i @statecraft/foundationdb

Weekly Downloads

0

Version

0.1.3

License

ISC

Unpacked Size

45.6 kB

Total Files

10

Last publish

Collaborators

  • josephg