Re: Spreading a table across multiple nodes??
Posted in 1995
I do not recommend the following procedure unless there are no alternatives. While it does work, it is difficult to set up and initially administer due to the all the variations encountered in a distributed system. We are currently using version 5 to administer a distributed database. To accomplish this (questionable) feat, the system is administered as follows: 1. The table 'employeeMaster' has a field called 'location', which is the node the employee belongs on. There are other tables with similar items. 2. The master server has all records and is considered to be all knowing. 3. All changes are made to the master server record. 4. When a change is made, a field called 'sync' is set to a 'Y'. 5. If the sync field is not null, changes are not allowed (program controlled) 6. A sync table is set up listing all programs that are used to syncronize the database. Entries include table name, program name, current status of sync processor, and other data. 7. When a record is changed, the appropriate entry in the sync processor table is looked up by table name. If a sync is not in process, the status is changed to 'Requested' and the row is rewritten. 8. Once a minute, a 'sync controllor' program scans the sync processor table of status of 'Requested' or 'Error'. If one is found, the associated program is started. 9. The sync processor then looks for a non-null value in the table associated with it. If one is found, the records are updated as required. 10. Updates are 'batched' in groups of 50 in order to restrict long transactions and to overcome the problem with large log file sizes when doing them one at a time. 11. The program changes its status to 'completed' when done. If an error occurs, the status is changed to 'error' and the error count is incremented. 12. If the sync processor thinks the program is taking too long, it changes its status to 'timed out'. If too many errors occur, the program is not restarted. 13. A monitor program runs in a cron every 10 minutes and mails an error or timeout status to the administrator. Since there are several tables that an employee may have records in, when an employee's location changes, all affected tables are also updated. ------------------------------------------------------------------------------ -- In article <490sro$1bm@nezsdc.fujitsu.co.nz>, steve@nezsdc.fujitsu.co.nz (Steve Chell) wrote: >One of our customers has an Online database (v 5.05.UC1) on a central >server, which is accessed by remote sites over I-NET/STAR. >The problem is too much network traffic. My understanding is that >with version 5, all databases, etc used by a specific instance of Online >must reside on the local machine. > >Can more recent versions of Online be configured such that rows can be >spread across more than one node (machine), according to certain predefined >rules? > >eg, if column abc = 1 then store the row on node A, otherwise store >on node B. > >Thanks in advance ...