HTTPS clone URL
Subversion checkout URL
C client for Riak - NoSQL database
Fetching latest commit...
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
---------------------------------------------- riak-c-driver v0.02a alpha by Piotr Nosek, Erlang Solutions Ltd. ---------------------------------------------- --- TABLE OF CONTENTS --- 1. Overview 2. Requirements 3. Installation 4. Usage 5. TODO list 6. Buglist 7. Version history 8. Links and references --- 1. Overview --- Riak is a No-SQL database, which emphasizes on replication and data distribution. This driver/library provides means to communicate with Riak instances using cURL and Protocol Buffers. In fisrt case, it works as cURL wrapper and HTTP response parser. In second case, it communicates via TCP socket. Originally this library was created during attempts of benchmarking Riak in comaprison to MongoDB and MySQL and it was decided that it deserves being a separate project. ;) Right now this driver provides very limited functionality, but it's definitely something to start with. --- 2. Requirements --- Dependencies for this project: (header files required for compilation) - cURL - Protocol Buffers - Protocol Buffers for C - json-c C standard library is also required. Library was tested with gcc but it should work fine with other C compilers. --- 3. Installation --- First make sure you have installed all dependencies. Then just type $ make and then (as superuser) # make install This will create dynamic-linked library libriakdrv.so and copy it to PREFIX/lib (default PREFIX: /usr/local). Additionaly riakdrv.h header file will be copied to PREFIX/include. If you want to uninstall the library, use # make uninstall This will erase both .so and .h file. If you want to compile test application (which can also suit as an example how to use the driver), type $ make test --- 4. Usage --- To use the library, just include riakdrv.h header file and add -lriakdrv to your linker parameters. For detailed documentation check doc/ directory. --- 5. TODO list --- - rewrite remaining possible functions from cURL to Protocol Buffers - getting JSON from DB by key - logging - tests - aided MapReduce statement creation? --- 6. Buglist --- Probably too many to list. :) It's very alpha version though... --- 7. Version history --- ==> v0.022 alpha <== - by [wjlroe]: improved makefile, some cosmetic changes to git ignore etc. ==> v0.021 alpha <== - putting data ported to Protocol Buffers - executing MapReduce ported to Protocol Buffers ==> v0.02a alpha <== - filled most of documentation - introduced error reporting ==> v0.02 alpha <== - multiple connection support - but not tested yet - began porting most functionality to Protocol Buffers - now Riak can be pinged - fetching list of buckets - started creating documentation in Doxygen - added very simple testing application ==> v0.01 alpha <== - opening/closing "connection" - no multiple "connections" support - putting JSON data into DB - getting JSON data from DB with MapReduce - getting raw data from DB with RiakSearch --- 8. Links and references ---  http://wiki.basho.com  http://curl.haxx.se  http://code.google.com/p/protobuf/  http://code.google.com/p/protobuf-c/  http://www.mongodb.org  http://www.mysql.com  http://oss.metaparadigm.com/json-c/