Symmetricds User Guide
Total Page:16
File Type:pdf, Size:1020Kb
SymmetricDS User Guide v3.4 Copyright © 2007 - 2013 Eric Long, Chris Henson, Mark Hanes, Greg Wilmer Permission to use, copy, modify, and distribute the SymmetricDS User Guide Version 3.4 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.4 Table of Contents Preface ................................................................................................................................................ ix 1. Introduction ..................................................................................................................................... 1 1.1. System Requirements ........................................................................................................... 1 1.2. Overview .............................................................................................................................. 1 1.2.1. A Node is Born ......................................................................................................... 3 1.2.2. Capturing Changes .................................................................................................... 4 1.2.3. Change Delivery ....................................................................................................... 4 1.2.4. Channeling Data ........................................................................................................ 5 1.3. Features ................................................................................................................................ 6 1.3.1. Two-Way Table Synchronization ............................................................................. 6 1.3.2. Data Channels ........................................................................................................... 6 1.3.3. Change Notification .................................................................................................. 6 1.3.4. HTTP(S) Transport ................................................................................................... 6 1.3.5. Data Filtering and Rerouting .................................................................................... 7 1.3.6. Transaction Awareness ............................................................................................. 7 1.3.7. Remote Management ................................................................................................ 7 1.4. Origins .................................................................................................................................. 7 1.5. Why Database Triggers? ...................................................................................................... 8 1.6. Support ................................................................................................................................. 9 1.7. What's New in SymmetricDS 3 ........................................................................................... 9 2. Quick Start Tutorial ...................................................................................................................... 11 2.1. Installing SymmetricDS ..................................................................................................... 12 2.2. Creating and Populating Your Databases .......................................................................... 14 2.3. Starting SymmetricDS ....................................................................................................... 15 2.4. Registering a Node ............................................................................................................. 16 2.5. Sending an Initial Load ...................................................................................................... 17 2.6. Pulling Data ....................................................................................................................... 17 2.7. Pushing Data ...................................................................................................................... 18 2.8. Verifying Outgoing Batches .............................................................................................. 18 2.9. Verifying Incoming Batches .............................................................................................. 19 2.10. Multi-Homing .................................................................................................................. 20 3. Planning ........................................................................................................................................ 23 3.1. Identifying Nodes ............................................................................................................... 23 3.2. Organizing Nodes .............................................................................................................. 23 3.3. Defining Node Groups ....................................................................................................... 26 3.4. Linking Nodes .................................................................................................................... 27 3.5. Choosing Data Channels .................................................................................................... 27 3.6. Defining Data Changes to be Captured and Routed .......................................................... 28 3.6.1. Defining Triggers .................................................................................................... 28 3.6.2. Defining Routers ..................................................................................................... 29 3.6.3. Mapping Triggers to Routers .................................................................................. 30 3.6.3.1. Planning Initial Loads .................................................................................. 30 3.6.3.2. Circular References and "Ping Back" .......................................................... 30 3.6.4. Planning for Registering Nodes .............................................................................. 30 SymmetricDS v3.4 iii SymmetricDS User Guide 3.7. Planning Data Transformations ......................................................................................... 31 3.8. Planning Conflict Detection and Resolution ...................................................................... 31 4. Configuration ................................................................................................................................ 33 4.1. Node Properties .................................................................................................................. 33 4.2. Node ................................................................................................................................... 35 4.3. Node Group ........................................................................................................................ 35 4.4. Node Group Link ............................................................................................................... 35 4.5. Channel .............................................................................................................................. 36 4.6. Triggers, Routers, and Trigger / Routers Mappings .......................................................... 37 4.6.1. Trigger ..................................................................................................................... 38 4.6.1.1. Large Objects ............................................................................................... 38 4.6.1.2. External Select ............................................................................................. 39 4.6.2. Router ...................................................................................................................... 39 4.6.2.1. Default Router .............................................................................................. 40 4.6.2.2. Column Match Router .................................................................................. 40 4.6.2.3. Lookup Table Router ................................................................................... 42 4.6.2.4. Subselect Router .......................................................................................... 43 4.6.2.5. Scripted Router ............................................................................................ 44 4.6.2.6. Audit Table Router ...................................................................................... 45 4.6.2.7. Utilizing External Select when Routing ...................................................... 46 4.6.3. Trigger / Router Mappings ...................................................................................... 47 4.6.3.1. Enable / disable trigger router ...................................................................... 47 4.6.3.2. Initial Loads ................................................................................................. 47 4.6.3.3. Dead Triggers ............................................................................................... 49 4.6.3.4. Enabling "Ping Back" .................................................................................. 50 4.7. Opening Registration ......................................................................................................... 50 4.8. Transforming Data ............................................................................................................