CometDB: A FoundationDB queue manager for Erlang

The project link is here.

CometDB

CometDB is an Erlang implementation of queue model over FoundationDB.

About

This project aims to provide you a set of simple interfaces so that you can use FoundationDB as a Distributed, High Concurrency and Low Latency Queue.

Features

  • You can insert data in batch.
  • You can fetch data in batch.
  • You can delete data in range.
  • You can insert data of any size; we overcome the size limitation of FDB.

How to use

We need to setup the FDB environment first. You can find details in FoundationDB official website.

The usage is really simple. Here is an example:

P = comet:start(). 
comet:insert(P, <<"testq">>, <<"testvalue">>). 
comet:batch_insert(P, <<"testq">>, [<<"testvalue_2">>, <<"testvalue_3">>, <<"testvalue_4">>]). comet:fetch(P, <<"testq">>, 100). 
comet:delete(P, <<"testq">>, 1).

TODO

  • type checking
  • stream
  • cursors
  • index
  • priority queue
  • connection management
  • performance
  • tests …
1 Like