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