tailieunhanh - Lightweight Reflection for Middleware-based Database Replication

Once everything was in a database, the MyLifeBits project became a quest for useful tools to organize, associate metadata, access and report about the information. Figure 1 shows the many different capture and display tools used to populate the store and then to search or access it. In order to support legacy applications, NTFS files and Outlook email stores are monitored and their metadata integrated into the database, including the text of each item to enable full-text search. The system captures every web page visited, all Instant Message (IM) chat sessions, all telephone conversations, as well as meetings, radio,. | Lightweight Reflection for Middleware-based Database Replication J. Salas R. Jimenez-Peris M. Patino-Martinez Universidad Politecnica de Madrid UPM Madrid Spain jsalas rjimenez mpatino @ B. Kemme McGill University Montreal Quebec Canada kemme@ Abstract Middleware-based database replication approaches have emerged in the last few years as an alternative to traditional database replication implemented within the database kernel. A middleware approach enables third party vendors to provide high availability solutions a growing practice nowadays in the software industry. However middleware solutions often lack scalability and exhibit a number of consistency and performance issues. The reason is that in most cases the middleware has to handle the database as a black box and hence cannot take advantage of the many optimizations implemented in the database kernel. Thus middleware solutions often reimplement key functionality but cannot achieve the same efficiency as a kernel implementation. Reflection has been proposed during the last decade as a fruitful paradigm to separate non-functional aspects from functional ones simplifying software development and maintenance whilst fostering reuse. However fully reflective databases are not feasible due to the high cost of reflection. Our claim is that by exposing some minimal database functionality through a lightweight reflective interface efficient and scalable middleware database replication can be attained. In this paper we explore a wide variety of such lightweight reflective interfaces and discuss what kind of replication algorithms they enable. We also discuss implementation alternatives for some of these interfaces and evaluate their performance. Keywords database replication reflection middleware fault-tolerant distributed systems. This work has been partially funded by the European Adapt project the Spanish Ministry of Education and Science MEc under grant TIN2004-07474-C02-01 and the Madrid .