Virtual Full Replication by Static Segmentation for Multiple Properties of Data Objects Gunnar Mathiason, Sten F. Andler School of Humanities and Informatics, University of Sk¨ ovde {gunnar.mathiason, sten.f.andler}@his.se Daniel Jagszent Institute for Program Structures and Data Organization, University of Karlsruhe daniel@jagszent.de Abstract We implement Virtual full replication for a distributed real-time database by segmenting the database on multiple data properties. Virtual full replication provides an image to the application of full replication in a partially replicated database, by replicating data to meet the actual data needs of the users of the data. This is useful since fully repli- cated real-time databases, that allow updates at all nodes, do not scale well as updates must be replicated to every other node for replica consistency, also to nodes where only a small share of the database will ever be used. We propose an algorithm that segments the database on multiple data properties without causing a combinatorial problem. We show, by analysis and an implementation, that scalability for such a system can be improved due to scalable resource usage, while application semantics of full replication is un- changed. 1 Introduction The use of a distributed database offers the potential of using redundancy for fault tolerance, availability, and per- formance. In particular, in a real-time distributed database, full replication of all data to all nodes offers full availability. In a fully replicated database with eventual consistency [2], all transactions can run locally and are independent of network delays. With main memory residence of database replicas, local database transactions are predictable, inde- pendent of both network and disk access delays. Full replication use excessive system resources, since the system must replicate all updates to all of the nodes in a system. This causes a scalability problem, with respect to bandwidth usage for replication of updates, storage usage for replicas, and processing usage for propagating, integrat- ing and conflict resolving of detached updates. The usage of each of these resources grows as O(n 2 ), where n is the number of nodes in the system, assuming that the number of updates grows as O(n). We suggest Virtual full replication [6] as a solution to preserve the image of full replication for applications, while reducing resource usage according to the actual need, rather than replicating all updates blindly to all nodes. Virtual full replication prevents usage of excessive resource so as that scalability can be achieved. Virtual full replication is based on knowledge about the needs of the application, and uses required properties for the data, such as location, consistency model, and storage me- dia. Virtual full replication matches the data and their prop- erties with the application and transaction requirements, so that replication and thereby scalability is improved. We present an algorithm for static segmentation, an anal- ysis of its scalability with respect to bandwidth, storage and processing usage. We also present results from a proof-of- concept implementation, which indicate that scalability is achieved by a system with resource usage that grows only as O(n), assuming a constant replication degree. The paper is organized as follows: Section 2 contains a background and describes the scalability problem more in detail. Section 3 describes our approach for how Vir- tual full replication is achieved by segmentation, using data properties and how these are managed with our algorithm. Section 4 presents our analysis for usage of three system re- sources. It also presents results from our implementation in the DeeDS database prototype. 2 Scalability in a distributed real-time main- memory database 2.1 A distributed real-time database architecture The main property of real-time systems is timeliness, which can only be achieved when resource usage is pre- dictable and when execution is sufficiently efficient. Pre- dictability is essential and for a hard real-time system the 1