A newer version of this documentation is available.
View Latest (v2.0)

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,
    "eventing": {
      "baseUrl": "https://NOSQL_SERVER_ADDRESS_HERE",
      "metadataBucketName": "MetadataBucket"
    }
  }
}

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.

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

    • baseUrl: Couchbase Eventing service URL;

    • 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");

    • metadataBucketName: name of the bucket designed to store metadata information;

    • isSyncGatewayPresent (optional): bool value used to specify if in your Couchbase deployment there is a Couchbase Sync Gateway linked to the source bucket (defaults to false);

    • helperBucketName (required only if isSyncGatewayPresent is set to true): name of helper bucket (needed only if you have a Couchbase Sync Gateway present into your deployment);

    • helperFunctionName (required only if isSyncGatewayPresent is set to true): use this field if you would like to customize the name of the eventing function described here (defaults to gluesync_${configuration.sourceName}_save_event_to_target);

    • 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.