Abstract:
Data is replicated in distributed systems to improve availability and performance Although replication is an intuitive, readily understood idea, its implementation is difficult In this paper, the design criterions of replication based distributed systems for disaster tolerance are presented, emphasizing that data replication should not disturb client applications that use the original database, and severe performance penalties associated with replication should be avoided A survey of current replication techniques is also presented Academically, the replication technique seems to be matured, but academic researches have little influence on the replication scheme used in commercial systems for the simple reason that they are complex and inefficient A simple and efficient real time system for disaster tolerance is introduced in this paper The system is based on the strict primary lazy update techniques Experiments show that multithreading technique and multiprocessing technique can improve performance, and multithreading technique consumes little memory So multithreading is used in this system But multithreaded servers typically lead to nondeterminism Its influence on replication is discussed in detail An evaluation of this system is also discussed, which proves that the system fulfills the design criteria proposed Compared to the replication techniques provided by database vendors such as Oracle and Informix etc, SDP R has sound advantages Its database interface layer hides the difference of database So it is suited for systems whose databases are provided by different database vendors Moreover, SDP R can guarantee serializability for arbitrary copy graphs The proposed system will be built within the architecture of the next generation of intelligent networks