Skip to content

Commit

Permalink
0003229: Add Data Loader for Apache Ignite
Browse files Browse the repository at this point in the history
  • Loading branch information
maxwellpettit committed Aug 23, 2017
1 parent 2920b5a commit 656a1ef
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions symmetric-assemble/src/asciidoc/appendix/databases.ad
Expand Up @@ -383,6 +383,7 @@ When locating a table, SymmetricDS uses the default catalog and schema unless th
|select current_schema()
|===

include::ignite.ad[]
include::db2.ad[]
include::derby.ad[]
include::firebird.ad[]
Expand Down
35 changes: 35 additions & 0 deletions symmetric-assemble/src/asciidoc/appendix/ignite.ad
@@ -0,0 +1,35 @@

=== Apache Ignite

Since SymmetricDS is trigger based and there are not triggers in Apache Ignite, data can only be loaded to an Apache Ignite instance. The runtime SymmetricDS tables will also need to be installed in a full relational database to support integration with Apache Ignite.

The following steps explain how to configure a SymmetricDS instance using Apache Ignite as a destination node:

* Configure and start an Apache Ignite cluster.
* Copy the Apache Ignite JDBC driver (ignite-core-VERSION.jar) to the "lib" directory of the SymmetricDS installation.
* Start SymmetricDS and configure a master node with the desired source database.
* Configure the desired node groups, group links, and routers.
* Create a target node and database that will contain the SymmetricDS runtime tables for the Apache Ignite instance.

TIP: The simplest solution to support Ignite is to add a new node (see <<Add Node>>) that is connected to an H2 database to store all the SYM_* runtime tables.

* Configure the channels that will send data to the target node and the corresponding reload channel. Set the Data Loader Type to "jdbc" on both of these channels.
* Stop your SymmetricDS instance and edit the .properties file for the target node in the engines directory of the SymmetricDS installation.
* Set the following properties in the engine file:

[source,properties]
----
jdbc.db.url=jdbc:ignite:thin://localhost
jdbc.db.driver=org.apache.ignite.IgniteJdbcThinDriver
jdbc.db.user=
jdbc.db.password=
jdbc.create.table.not.null.columns.supported=false
----

* Update the jdbc url, username, and password to the desired Apache Ignite instance.
* Restart SymmetricDS.
* Create Table Triggers and Table Routers for the desired source tables to sync.

TIP: Keep in mind that SymmetricDS currently only supports syncing to the "PUBLIC" schema of an Apache Ignite instance.

* (Optional) Perform an initial load from the source to the target node and/or send the table definitions to the Apache Ignite instance.

0 comments on commit 656a1ef

Please sign in to comment.