A Couchbase Labs Project

cbgb

pre-alpha
a database for everyone

Quick Presentation

Download

  •  
     MacOS X
  • 64-bit  


  •  
     Windows
  • 64-bit  
  • 32-bit  




  •  
     FreeBSD
  • 64-bit  


  • Note: pre-alpha, is rebuilt often, and is probably not ready for production use, unless you like to live on the edge

    Start

    Download. Unzip the binary. On non-windows, make cbgb executable.
    Check out command line options: $ ./cbgb -h .

    By default cbgb will make a tmp folder "./tmp" to store data wherever you run it from, I prefer to make an explicit folder somewhere to store the data.

    For Example:

      $ chmod 755 cbgb
      $ mkdir ~/cbgb-data
      $ ./cbgb -data="~/cbgb-data/"
    
    Note: the default ports conflict with memcached, Membase, and Couchbase, so if you want to connect to cbgb, kill those first. You can also run it on other ports, however, we haven't tested our Couchbase SDK's against that scenario yet.

    Admin

    Connect your browser to http://localhost:8091/ to create buckets, design documents and map-reduce views.

    REST

    While the Couchbase SDK's and binary protocols are faster, cbgb can also use REST for CRUD and Index Querying (Views). REST operations are done on port 8092 by default. View Querying follows the Couchbase syntax.

    Note: Currently only GET's are implemented (for Documents).

    VERB Operation Example
    GET Retrieve Item curl -X GET http://localhost:8092/{bucket}/{key}
    curl -X GET http://localhost:8092/default/testkey
    GET Retrieve All Documents curl -X GET http://localhost:8092/{bucket}/_all_docs
    curl -X GET http://localhost:8092/default/_all_docs

    SDK's

    cbgb uses Couchbase SDK's for operations.

    You can find them with the Couchbase Develop page. Simply follow the instructions as if you were connecting to Couchbase itself.

    Note: The Java SDK automatically reconnects when there is an operation and cbgb has passivated a bucket. Other clients may not, in those cases you have to wrap the SDK with a Couchbase::Error::Network rescue/catch handler (whatever is appropriate for the language) and reconnect before retrying the operation.

    Github Project

    We welcome contributions and issue filing at the github repo.

    Apache 2 license.