Distributed Database Techniques

Preface

The dream of distributed database technology has been in existence for a long time without the possibility of implementation occurring.  The goal of this dream was to locate data through out an enterprise where it was needed without excessive duplication of data.  In theory, this would include having multiple database instances acting as a complete database.  Tables could be located in a specific instance in the enterprise or it could be split up over several instances by either having specific rows in specific instances or having a portion of the rows in one instance while the rest of the rows are in other instances.  While all of this is going on, referential integrity is maintained and the ability to join data from these different databases in a single query is accomplished.

The closest that commercial products have been able to achieve is data replication.  In this technology, multiple databases have copies of the data.  Each database in the enterprise is logically independent of the others but through the replication process has data from the other databases.  Data replication places limits on how the data can be manipulated in that only the database that creates a row can modify that row.  All other databases in the enterprise can only query that row and not modify it.  This limitation does not make data replication useless.  Common uses of this technique would include a roll-up database for enterprise wide reporting as well as the distribution of common data such as price lists to all of the databases that require this information.

This text describes a method that may be employed to provide a distributed database environment.  This technique allows data to be made available at any location in the enterprise and to make that data modifiable at all locations as well as providing a mechanism to propagate those updates throughout the enterprise.  A goal of this approach is to achieve these goals without modifying the applications that are running on the databases.

This work is derived from a project that I participated in at Applied Materials (AMAT) many years ago. As the Architect of the data distribution piece of the “Seldomly Connected Architecture”, I had to deal with many of the problems that I discuss in this book.  I also worked for Nortel Networks in the Clarify Division which had it’s own distributed database technology called “Traveler”.  The methods that I am discussing here are not necessarily the same methods that we used at AMAT and at Nortel.