Skip to content

A minimalistic approach to a performance oriented DB.

License

Unknown, BSD-3-Clause licenses found

Licenses found

Unknown
LICENSE.md
BSD-3-Clause
COPYING.md
Notifications You must be signed in to change notification settings

haneefmubarak/sfDB2

Repository files navigation

sfDB2

Build Status

sfDB2 aims to provide a simple database that has support for the bare minumum. The primary design goal is to be as fast as possible, while still being portable and highly scalable.

Inspired by Redis and licensed the same.

Features and Implementation

Some of the features and/or implementations that sfDB2 looks to support include:

  • Use a tree using the SHA1 hash to provide high speed lookups with virtually no collisions
  • Process requests extremely quickly by allowing only simple requests
  • Process requests even faster by interlacing requests as they come in and are processed
  • Reorder processing on the fly to ensure that one slow request doesn't hold up many others
  • Use various techniques to allow the kernel to swap pages that are not being used out and quickly load them back in
  • Make writes extremely fast by only allowing rows to be added or removed, not edited,
  • Make read requests much much faster than write requests via not using mutexes in reads
  • Ensure that the maximum performance is pulled out of a single machine by scaling efficiently across threads, cores, memory, and also swap so that, even on a multi-GigE network pipe the network is the limiting factor
  • Prevent data loss by writing all incoming requests that alter data to a file
  • Allow DB reloads to occur quickly by periodically trimming the file
  • Prevent ambiguity by allocating a unique, incremented id for each row in a table, thus also eliminating the possibility of two rows being written to the coordinate

Want to add something and have an idea on how it could be implemented? Just make a new issue with your idea and its implementation.

-Haneef Mubarak

About

A minimalistic approach to a performance oriented DB.

Resources

License

Unknown, BSD-3-Clause licenses found

Licenses found

Unknown
LICENSE.md
BSD-3-Clause
COPYING.md

Stars

Watchers

Forks

Packages

No packages published