Installation steps

Gluesync SQL to NoSQL for IBM i (AS/400)

Prerequisites

To have Gluesync working on your IBM i (AS/400) instance you will need to have:

  • valid user credentials with permissions to read to the source tables and respective schema;

  • a schema (library) called GLUESYNC is required to be created in AS400, there Gluesync will store 2 tables in order to track its progress and checkpoints (to learn more about these 2 tables please follow this link);

  • tables of whom changes need to be tracked must have journal enabled;

  • given user role level should be QPGMR (at least) to let Gluesync read the specified journal.

Only tables that are subject to journaling will be able to provide changes feed. Both Libraries & Journals are configurable via the tablesJournals key. You can find more details about its configuration below on this page.

Basic configuration example

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 of the union of the common configuration files (see here Installation steps) and source/destination specific configuration:

{
  ...
  "sourcePort": "",
  ...

  "as400": {
    "tablesJournals": {
      "MYSCHEMA.DRIVERS": {
        "journalLibrary": "MyLibrary",
        "journalName": "QSQJRN"
      },
      "MYSCHEMA.ORDER_HEADERS": {
        "journalLibrary": "MyLibrary",
        "journalName": "MYJOURNAL"
      },
      ...
    },
    "tableKeys": {
      "articles": ["id1", "id2"],
      "drivers": ["driver_unique_id"],
      "customers": [
          "customer_name",
          "customer_surname",
          "customer_age",
          "customer_id"
        ]
    }
  }
}

AS400-specific configurations are listed under the as400 property:

  • tablesJournals: the object declaration containing the following parameters:

    • journalLibrary: allow to specify the custom Library name where your journals are stored;

    • journalName: allow to specify the Journal name.

  • tableKeys: is the object that represents the key-value pair list of tables and its columns that compose the clustered (compound) index or the column Gluesync will use as a primary key. To read more about this feature we suggest you have a look at the following link.

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