IonDB, a key-value datastore for resource constrained systems.
C C++ CMake Objective-C Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmake
documentation
dotfiles @ 8e607a0
examples
resources
src
.gitattributes
.gitignore
.gitmodules
AUTHORS.md
CMakeLists.txt
LICENSE.md
Makefile
NOTICE.md
README.md
library.properties

README.md

IonDB

Development: Build Status Embedded Device: Build Status

You might also be interested in our sister project, LittleD - A relational database using 1kB of RAM or less.

"What is this?"

Currently in the Arduino world, there doesn't exist an associative array or map implementation that is both easy to use and performance competitive. There also is little support for disk based storage options that don't involve writing it yourself. IonDB is fast, functional, and offers disk based storage out of the box.

In general, IonDB supports:

  • Storing arbitrary values associated to a key
  • Duplicate key support
  • Range and Equality queries
  • Disk based persistent data storage

IonDB has a paper that was published at IEEE (CCECE) 2015, which can be found here.

Code Examples

Check out this example file for code examples on how to use IonDB.

Further Reading

IonDB's Homepage: link

User focused information pages can be found on our wiki.

For extensive information on IonDB, refer to our documentation pages for an API level reference.

License

IonDB is licensed under the BSD-Clause 3 License. For more information, please refer to the license file.

Collaboration

Pull requests are very much welcome. Note that IonDB has a strict integration process that must fully pass before changes will be merged. Please see our page on contributing for more details.