Installation Steps

GlueSync SQL to NoSQL for MS SQL Server

Prerequisites

In order to have GlueSync working on your MS SQL instance you will need to have:

  • valid user credentials with permissions of reading, writing to the target tables and respective database

Basic configuration example

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

The SQL to NoSQL 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 must have the following structure:

{
  "sourceHost": "127.0.0.1",
  "sourcePort": "1433",
  "sourceName": "db-name",
  "sourceUsername": "db-user",
  "sourcePassword": "db-pwd",
  "sourceEntities": {
    "Table1": {},
    "Table2": {},
    "Table3": {},
    "Table4": {},
    "Table5": {}
  },
  "sourceChangeRetention": 5,
  "copySourceEntitiesAtStartup": true,

  "targetHost": "localhost",
  "targetPort": "8091",
  "targetName": "bucket-name",
  "targetUsername": "bucket-user",
  "targetPassword": "bucket-pwd",

  "maxTransactionCountPerIteration": 100,
  "maxItemsCountPerTransaction": 100,

  "couchbase": {
    "certificatesPath": "/path/to/certs/dir",
    "timeoutSeconds": 60
  }
}

The parameters that refer to a source are the parameters that describe the connection to the Microsoft SQL Server instance.

  • sourceHost: the host where the instance is reachable from;

  • sourcePort: the port which the instance is reachable from;

  • sourceName: the name of the database in the SQL Server instance;

  • sourceUsername: username of a privileged user in the instance;

  • sourcePassword: password of such user;

  • sourceEntities: tables that GlueSync is going to replicate to the target database;

  • sourceChangeRetention: number of retention days preserved into the MS SQL Server change tracking system;

The parameters that refer to a target are the parameters that describe the connection to the Couchbase Server instance.

  • targetHost: the host where the instance is reachable from;

  • targetPort: the port which the instance is reachable from;

  • targetName: the name of the target bucket in the Couchbase Server instance;

  • targetUsername: username of a privileged user in the instance;

  • targetPassword: password of such user;

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. If omitted, no certificates are used;

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

Other configuration parameters are the following:

  • copySourceEntitiesAtStartup: boolean which indicates whether GlueSync should copy the whole tables contents when launched the first time;

  • maxTransactionCountPerIteration: the maximum number of transactions that should be processed when simultaneously;

  • maxItemsCountPerTransaction: the maximum number of rows that should be processed within a single transaction. This will involve a paged read of rows affected by the underlying transaction.

For more detailed configurations options please have a look at the section “Advanced configuration”.