Installation Steps

GlueSync SQL to NoSQL

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": "RDBMS_SERVER_ADDRESS_HERE",
  "sourcePort": "1433",
  "sourceName": "db-name",
  "sourceUsername": "db-user",
  "sourcePassword": "db-pwd",
  "sourceEntities": {
    "Table1": {},
    "Table2": {},
    "Table3": {},
    "Table4": {},
    "Table5": {}
  },

  "sourceChangeRetention": 5,

  "targetHost": "NOSQL_SERVER_ADDRESS_HERE",
  "targetPort": "8091",
  "targetName": "database-name-or-bucket-name",
  "targetUsername": "user",
  "targetPassword": "pwd",

  "copySourceEntitiesAtStartup": true,
  "maxTransactionCountPerIteration": 100,
  "maxItemsCountPerTransaction": 100,
  "maxMigrationItemsCountPerIteration": 1000,

  "licenceKey": "XXX-XXXGSXXX-7D4FF9A0-0496-4672-BEC"
}

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

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

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

  • sourceName: the name of the source database in the SQL 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 (optional): defaults to 5. Number of retention days preserved into the source database before being cleared / purged either by the source database system or by Gluesync engine;

The parameters that refer to a target are the parameters that describe the connection to the NoSQL 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 database | bucket in the NoSQL instance;

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

  • targetPassword: password of such user;

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;

  • maxMigrationItemsCountPerIteration: defaults to 1000, it’s the size of each chunk of data being loaded by the initial snapshot process per each one of its threads. Change that value accordingly to your specific use case needs;

  • licenceKey: GlueSync licence key.

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 a RDBMS.