Symmetricds User Guide
Total Page:16
File Type:pdf, Size:1020Kb
SymmetricDS User Guide v3.6 Copyright © 2007 - 2013 Eric Long, Chris Henson, Mark Hanes, Greg Wilmer Permission to use, copy, modify, and distribute the SymmetricDS User Guide Version 3.6 for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. SymmetricDS v3.6 Table of Contents Preface ................................................................................................................................................ ix 1. Introduction ..................................................................................................................................... 1 1.1. System Requirements ........................................................................................................... 1 1.2. Concepts ............................................................................................................................... 2 1.2.1. Nodes ........................................................................................................................ 2 1.2.2. Change Data Capture ................................................................................................ 3 1.2.3. Change Data Delivery ............................................................................................... 4 1.2.4. Data Channels ........................................................................................................... 4 1.3. Features ................................................................................................................................ 5 1.3.1. Two-Way Table Synchronization ............................................................................. 5 1.3.2. Data Channels ........................................................................................................... 5 1.3.3. Change Notification .................................................................................................. 5 1.3.4. HTTP(S) Transport ................................................................................................... 6 1.3.5. Data Filtering and Rerouting .................................................................................... 6 1.3.6. Transaction Awareness ............................................................................................. 6 1.3.7. Remote Management ................................................................................................ 6 1.3.8. File Synchronization ................................................................................................. 7 1.4. Why Database Triggers? ...................................................................................................... 7 2. Setup ............................................................................................................................................... 9 2.1. Engine Files ......................................................................................................................... 9 3. Configuration ................................................................................................................................ 11 3.1. Groups ................................................................................................................................ 11 3.2. Group Links ....................................................................................................................... 11 3.3. Channels ............................................................................................................................. 12 3.4. Table Triggers .................................................................................................................... 13 3.4.1. Linking Triggers ..................................................................................................... 14 3.4.1.1. Enable / disable trigger router ...................................................................... 14 3.4.1.2. Enabling "Ping Back" .................................................................................. 14 3.4.2. Large Objects .......................................................................................................... 15 3.4.3. External Select ........................................................................................................ 15 3.4.4. Dead Triggers .......................................................................................................... 15 3.4.5. Changing Triggers .................................................................................................. 16 3.5. File Triggers / File Synchronization .................................................................................. 16 3.5.1. Overview ................................................................................................................. 16 3.5.2. Operation ................................................................................................................. 17 3.5.3. File Sync Bean Shell Scripts ................................................................................... 18 3.5.4. File Sync Examples ................................................................................................. 19 3.5.4.1. Sync Text Files From Server To Client ....................................................... 19 3.5.4.2. Route changes to a specific node based on a directory name ...................... 20 3.6. Routers ............................................................................................................................... 20 3.6.1. Default Router ......................................................................................................... 21 3.6.2. Column Match Router ............................................................................................. 21 3.6.3. Lookup Table Router .............................................................................................. 23 3.6.4. Subselect Router ..................................................................................................... 24 SymmetricDS v3.6 iii SymmetricDS User Guide 3.6.5. Scripted Router ....................................................................................................... 25 3.6.6. Audit Table Router ................................................................................................. 26 3.6.7. Utilizing External Select when Routing ................................................................. 27 3.7. Conflicts ............................................................................................................................. 28 3.7.1. Conflict Detection and Resolution .......................................................................... 28 3.8. Transforms ......................................................................................................................... 30 3.8.1. Transform Configuration Tables ............................................................................. 31 3.8.2. Transformation Types ............................................................................................. 33 3.9. Load Filters ........................................................................................................................ 35 3.9.1. Load Filter Configuration Table ............................................................................. 36 3.9.2. Variables available to Data Load Filters ................................................................. 37 3.9.3. Data Load Filter Example ....................................................................................... 37 3.10. Grouplets .......................................................................................................................... 37 3.10.1. Grouplet Example ................................................................................................. 38 3.11. Parameters ........................................................................................................................ 39 3.12. Export ............................................................................................................................... 39 3.13. Import ............................................................................................................................... 39 3.14. Uninstall ........................................................................................................................... 39 4. Manage .......................................................................................................................................... 41 4.1. Identifying Nodes ............................................................................................................... 41 4.2. Creating Nodes ................................................................................................................... 41 4.2.1. Registration ............................................................................................................. 41 4.2.2. Initial Loads ............................................................................................................ 42 4.2.2.1. Target table prep for initial load .................................................................. 42 4.2.2.2. Loading subsets of data ................................................................................ 43 4.2.2.3. Splitting an Initial Load for a Table Across Multiple Batches .................... 43 4.2.2.4. Reverse Initial