Installation steps
Gluesync NoSQL to SQL for Couchbase Server
Prerequisites
To have Gluesync working on your Couchbase Server instance you will need to have:
-
valid user credentials with permission to read, write 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 configuration steps for 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 a parameter when launching the app, with the -f
or --file
tokens.
The file should be composed by the union of the common configuration files (see here Installation steps) and source/destination specific configuration:
{
...
"couchbase": {
"certificatesPath": "/path/to/certs/dir/cert.pem",
"timeoutSeconds": 60,
"indexReplicaCount": 0,
"entitiesKeys": {
"myEntity": ["ID", ...],
"DRIVERS": ["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 the 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 the 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 of 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 describes 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 modeling features or other options?
For more detailed configuration options, including the ability to perform data modeling, please have a look at the dedicated Data modeling section when sourcing from NoSQL.