Installation steps

Gluesync NoSQL to SQL for Couchbase Server

Prerequisites

In order to have Gluesync working on your Couchbase Server instance you will need to have:

  • valid user credentials with permissions of reading, writing to the target bucket

  • Couchbase eventing service deployed into your Couchbase Server cluster (please see chapter deploying Couchbase Eventing for more detailed information)

Basic configuration example

This video tutorial will guide you through the basic configurations steps on setting up Gluesync for Microsoft SQL Server and Couchbase

This module can be customized by using a configuration file, in JSON format. The file name to use must be specified as parameter when launching the app, with the -f or --file tokens. The file should be composed by union of common configuration file (see here Installation steps) and source/destination specific configuration:

{
  ...
  "couchbase": {
    "certificatesPath": "/path/to/certs/dir/cert.pem",
    "timeoutSeconds": 60,
    "indexReplicaCount": 0,
    "entitiesKeys": {
      "myEntity": ["ID", ...]
    }
  }
}

Couchbase specific configurations are listed under the couchbase property:

  • certificatesPath (optional): the path to the certificates that need to be used when connecting to Couchbase Server instance using a secure connection. If omitted, no certificates are used;

  • timeoutSeconds (optional): number of seconds to set as timeout for operations involving communication with Couchbase server.

  • indexReplicaCount (optional default to 0): indicates the number of index replicas that will be generated by Gluesync. We suggest to size that number calculating it as number-of-index-node -1. For example 3 node index means a suggested replica to 2. For more details please see Couchbase doc.

  • entitiesKeys: represents the object that helps Gluesync understand which are the fields related in your JSON document that are concurring to build a unique Key in your RDBMS. This object has to contain the list of your entities (case sentitive) with as a corresponding value the array of key fields (case sentitive);

  • eventing: an object that describe some specific features for the Couchbase Eventing service, listed below:

    • port (optional): Couchbase Eventing service port (defaults to 8096);

    • functionName (optional): use this field if you would like to customize the name of the eventing function described here (defaults to "gluesync_${configuration.sourceName}_generate_document_event");

    • workersNumber (optional): number of workers per node to process the events. If no value is specified (defaults to 3);

    • scriptTimeoutSeconds (optional): timeout in seconds for the Eventing functions execution (defaults to 60 seconds);

Looking for data modelling features or other options?

For more detailed configurations options, including the ability to perform data modelling, please have a look at the dedicated Data modelling section when sourcing from NoSQL.

Troubleshooting

Here following the list of common errors.

  • ERROR TIMEOUT: BUCKET_OPEN_IN_PROGRESS: You might either have specified a wrong server port for your Couchbase connection or this is blocked by the firewall.