Key-value store implementations for Arduino microcontrollers - Fazackerley, Scott; Huang, Eric; Douglas, Graeme; Kudlac, Raffi; Lawrence, Ramon (2015 IEEE 28th Canadian Conference on Electrical and Computer Engineering (CCECE), 2015)
The Internet of Things relies on connecting devices big and small to the Internet and facilitates their communication and management. This includes the smallest microcontrollers and embedded processors that perform simple but critical tasks. There are many applications where there is benefit to processing data locally on the device before sending it over the network. Since network communication is an order of magnitude more costly than local data processing, efficient techniques for storing, searching, and filtering data are useful. In this work, we present a library of implementations of key-value stores for use on Arduino devices. The goal is to make it easy for Arduino programmers to manipulate data without worrying about implementing data structures and query libraries. Key-value stores are conceptually simple for programmers to use. This paper describes the implementations and provides insights on their performance and trade-offs. The work has being released as open source to the Arduino community and is available at https://github.com/iondbproject/iondb.