An in-memory database implementing a large subset of the CouchDB REST API. AvanceDB has blistering fast document lookup and map/reduce performance. If you are currently using CouchDB and struggle with view build times then AvanceDB should be a seamless replacement for your view workload.
We aim to support the following CouchDB features:
- Futon and Fauxton
- JavaScript Map/Reduce
- Replication
- Apache Lucene and ElasticSearch integration
- Compatibility with common CouchDB clients like Cradle, Nano and others
- Compatibility with PouchDB
AvanceDB is not designed to replace CouchDB for document storage. We have permanent document store functionality on the product roadmap but we are unlikely to realize this feature for quite a while.
The core is written in C++ 11 with Boost and map/reduce executed by an embedded SpiderMonkey JSAPI instance. We chose C++ because it is very fast and gives control over memory allocations that simply isn't available with managed languages like Java and C#.
AvanceDB will run on Linux on a humble Raspberry Pi 2 or an enterprise server. Via the magic of Brew you can spin up an instance of AvanceDB on OSX too. If you are running Windows you are out of luck, at least for the moment.
OS | Architecture | Status |
---|---|---|
Debian 8.6 | i386 | |
Debian 8.6 | amd64 | |
Ubuntu 14.04 | amd64 | |
Ubuntu 16.04 | amd64 | |
CentOS 6.8 | amd64 | |
CentOS 7.3 | amd64 | |
Fedora 25 | amd64 | |
FreeBSD 11 | amd64 |
You can run AvanceDB under Docker on Linux or Mac or Homebrew on Mac.
We plan to release RPM and DEB packages for CentOS/RHEL and Debian/Ubuntu at some point in the future.
Install Docker if you don't already have it installed. Make sure it is running properly by spinning up the hello-world
container, then you are go:
docker run -d -p 5994:5994 ripcordsoftware/avancedb
Fire up your browser and navigate to http://localhost:5994/_utils
and you should see the main Futon window.
Once you have brew
installed you can install AvanceDB with:
brew install autoconf@2.13 && \
brew install autoconf && \
brew install ripcordsoftware/packages/avancedb
To run AvanceDB as a daemon under launchd
execute: sudo brew services start ripcordsoftware/packages/avancedb
.
Check out our Wiki for information about building AvanceDB on your platform.
AvanceDB is under active development, you can check out the current API support status here.
If you are a C++ 11 ace with interest in NoSQL and CouchDB specifically then we'd love any contributions you have. Chat to us on Gitter if you think you can help us out.
We aim for all major CouchDB clients like Cradle, Nano, CouchDB-Python to operate with AvanceDB. We need unit tests for these platforms, so if you have the language skills and the time and want to contribute then we'd love to hear from you. We hang around on Gitter all the time, come over for a chat.