key-value數據庫:IonDB

c8yy 9年前發布 | 8K 次閱讀 IonDB NoSQL數據庫

IonDB 專為 Arduino 和 IoT 提供開箱即用的,基于磁盤的快速存儲功能,為受限系統提供鍵值存儲功能,速度非常快,可以充分提升 Arduino 的性能。

這個項目是英國哥倫比亞的奧肯那根大學 Ramon Lawrence 博士指導項目的一部分,由 Lawrence 博士的分布式數據實驗室支持。還有另外一個類似的項目,也是專為嵌入式設備和傳感器節點設計的關系型數據庫 LittleD。

一般情況下,IonDB 支持:

  • 存儲一個鍵的任意值

  • 重復鍵支持

  • 范圍和等值查詢

  • 基于硬盤的持久化數據存儲

示例:

#include <SD.h>
#include "dictionary.h"
#include "slhandler.h"
void setup() {
    //Declare the dictionary and handler structs
    dictionary_handler_t    handler;
    dictionary_t            dictionary;
    //Initialize handler
    sldict_init(&handler);
    //Create dictionary: Given handler, dictionary, key type, key size, value size, dict size
    dictionary_create(&handler, &dictionary, key_type_numeric_signed, sizeof(int), 60, 10);
    ion_key_t   key = IONIZE(42);
    ion_value_t value = (ion_value_t) "Hello IonDB";
    dictionary_insert(&dictionary, key, value);
    ion_value_t returned_value = (ion_value_t) malloc(60); //from value_size
    dictionary_get(&dictionary, key, returned_value);
    printf("Returned %s\n", returned_value);
    free(returned_value);
}
void loop() {}

項目主頁:http://www.baiduhome.net/lib/view/home/1448415429251

 本文由用戶 c8yy 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!