-
Notifications
You must be signed in to change notification settings - Fork 138
Introduction to Sync Gateway
Gluing Couchbase Lite (and TouchDB / CouchDB) to Couchbase Server
This is an adapter that can allow Couchbase Server 2* to act as a replication endpoint for Couchbase Lite, TouchDB, CouchDB, and other compatible libraries like PouchDB. It does this by running an HTTP listener process that speaks enough of CouchDB's REST API to serve as a passive endpoint of replication, and using a Couchbase bucket as the persistent storage of all the documents.
It also provides a mechanism called channels that makes it feasible to share a database between a large number of users, with each user given access only to a subset of the database. This is a frequent use case for mobile apps, and one that doesn't work very well with CouchDB.
* It can actually run without Couchbase Server, using a simple built-in database called Walrus. This is useful for testing or for very lightweight use. More details below.
- Can't currently operate on pre-existing Couchbase buckets with app data in them. (The gateway has its own document schema and needs to create and manage documents itself.) You can migrate existing data by creating a new bucket for the gateway and then using its REST API to PUT your documents into it.
- Only a subset of the CouchDB REST API is supported: this is intentional. The gateway is not a CouchDB replacement, rather a compatible sync endpoint.
- Explicit garbage collection is required to free up space, via a REST call to
/_vacuum
. This is not yet scheduled automatically, so you'll have to call it yourself. - Document IDs longer than about 180 characters will overflow Couchbase's key size limit and cause an HTTP error.
The Sync Gateway provides an HTTP front-end for Couchbase Server, that syncs with Couchbase Lite.
Apache 2 license, like all Couchbase stuff.
NEXT: Installing And Upgrading