Adaptive Middleware for Data Replication (original) (raw)
Related papers
Towards Dynamically Adaptive Replicated Databases
In the last few years it has been advocated the need for systems that adapt automatically to changes in their environment. These changes can range from modifications of the load, kind of workload, available resources, network conditions, the kind of clients making requests, server failures and recoveries, etc. Dynamically adaptive systems, also termed autonomic systems, are systems that sense their environment and configure themselves to accommodate changes in their surrounding context in order to maximize one or more performance metrics. Databases are essential components of today´s information systems and therefore, they are one of the targets to introduce adaptation. In this paper, we explore how dynamic adaptation is being approached in Middle-R, a database replication middleware. We explore dynamic adaptation for replicated databases in the context of failures, recoveries, workload variations and changes in the available resources.
A Middleware Architecture for Supporting Adaptable Replication of Enterprise Application Data ?
2005
Enterprise-wide data replication improves availability, performance, fault-tolerance and dependability of database services within and between different subunits in medium and large enterprises. The overhead of consistency management of replicated data can be tamed by built-in DBMS functionality. Different kinds of applications, e.g., update-intensive online transaction processing, cyclical updates for data warehousing, knowledge sharing of repository data, and so on, have different requirements for the availability, up-to-dateness and consistency of replicated data. Thus, replication strategies should be adaptable to the specific requirements of diverse enterprise applications. We describe a middleware for enterprise-wide data replication. It maintains meta data for several protocols, so that the replication strategy can be adapted on the fly to the actual needs of an application.
Reliable Communication Infrastructure for Adaptive Data Replication
Lecture Notes in Computer Science, 2009
In this paper, we propose a reliable group communication solution dedicated to a data replication algorithm to adapt it to unreliable environments. The data replication algorithm, named Adaptive Data Replication (ADR), has already an adaptiveness mechanism encapsulated in its dynamic replica placement strategy. Our extension of ADR to unreliable environments provides a data replication solution that is adaptive both in terms of replica placement and in terms of request routing. At the routing level, this solution takes the unreliability of the environment into account, in order to maximize reliable delivery of requests. At the replica placement level, the dynamically changing origin and frequency of read/write requests are analyzed, in order to define a set of replica that minimizes communication cost. Performance evaluation shows that this original combination of two adaptive strategies makes it possible to ensure high request delivery, while minimizing communication costs in the system.
Middleware-Based Data Replication: Some History and Future Trends
2006
Middleware-based data replication is a way to increase availability, fault tolerance and performance of networked information systems without modifying the underlying DBMS core code. However, if such middleware is not properly conceived, it will introduce an overhead leading to poor response times. In this paper we study the progression of solutions for problems typically entailed by replication, which led to the use of middleware for avoiding inconveniencies associated with earlier approaches. We survey several existing and projected architectures -designed by our research groups-in terms of availability, consistency and fault tolerance.
Hihooi: A Database Replication Middleware for Scaling Transactional Databases Consistently
IEEE Transactions on Knowledge and Data Engineering, 2020
With the advent of the Internet and Internet-connected devices, modern business applications can experience rapid increases as well as variability in transactional workloads. Database replication has been employed to scale performance and improve availability of relational databases but past approaches have suffered from various issues including limited scalability, performance versus consistency tradeoffs, and requirements for database or application modifications. This paper presents Hihooi, a replication-based middleware system that is able to achieve workload scalability, strong consistency guarantees, and elasticity for existing transactional databases at a low cost. A novel replication algorithm enables Hihooi to propagate database modifications asynchronously to all replicas at high speeds, while ensuring that all replicas are consistent. At the same time, a fine-grained routing algorithm is used to load balance incoming transactions to available replicas in a consistent way. Our thorough experimental evaluation with several well-established benchmarks shows how Hihooi is able to achieve almost linear workload scalability for transactional databases.
MIDDLE-R: Consistent database replication at the middleware level
The widespread use of clusters and Web farms has increased the importance of data replication. In this article, we show how to implement consistent and scalable data replication at the middleware level. We do this by combining transactional concurrency control with group communication primitives. The article presents different replication protocols, argues their correctness, describes their implementation as part of a generic middleware, Middle-R, and proves their feasibility with an extensive performance evaluation. The solution proposed is well suited for a variety of applications including Web farms and distributed object platforms.
MADIS: A Slim Middleware for Database Replication
2005
Data replication serves to improve the availability and performance of distributed systems. The price to be paid consists of costs caused by protocols by which a sufficient degree of consistency of replicated data is maintained. Different kinds of targeted applications require different kinds of replication protocols, each one requiring a different set of metadata. We discuss the middleware architecture used in the MADIS project for maintaining the consistency of replicated databases. Instead of reinventing wheels, MADIS makes use of basic resources provided by conventional database systems (e.g. triggers, views, etc) to achieve its purpose, to a large extent. So, the underlying databases can perform more efficiently many of the routines needed to support any consistency protocol, the implementation of which thus becomes much simpler and easier. MADIS enables the databases to simultaneously maintain different metadata needed for different replication protocols, so that the latter can be chosen, plugged in and exchanged on the fly as online-configurable modules, in order to fit the shifting needs of given applications best, at each moment.
Consistent Database Replication at the Middleware Level
ACM Transactions on Computer Systems - TOCS, 2005
The widespread use of clusters and web farms has increased the importance of data replication. In this paper, we show how to implement consistent and scalable data replication at the middleware level. We do this by combining transactional concurrency control with group communication primitives. The paper presents different replication protocols, argues their correctness, describes their implementation as part of a generic middleware tool, and proves their feasibility with an extensive performance evaluation. The solution proposed is well suited for a variety of applications including web farms and distributed object platforms.
A Middleware-level Approach to Adaptive Distributed Systems
This paper proposes an approach to adapting distributed applications to changes in environmental conditions, e.g., user requirements and resource availability. The key idea behind the proposed approach is to introduce the relocation of software components to define functions between computers as a basic mechanism for adaptation on distributed systems. It also introduces application-specific built-in policies for relocating components to define higher-level adaptation. It is constructed as a middleware system for Java-based general-purposed software components. This paper describes the proposed approach and the design and implementation of the approach with three applications, e.g., dynamic deployment of software at nodes in a sensor network and adaptive selection between data replication between primary backup and chain replication approaches in a distributed system.
Consistent Replication in Distributed Multi-Tier Architectures
Proceedings of the 7th International Conference on Collaborative Computing: Networking, Applications and Worksharing, 2011
Replication is commonly used to address the scalability and availability requirements of collaborative web applications in domains such as computer supported cooperative work, social networking, e-commerce and e-banking. While providing substantial benefits, replication also introduces the overhead of maintaining data consistent among the replicated servers. In this work we study the performance of common replication approaches with various consistency guarantees and argue for the feasibility of strong consistency. We propose an efficient, distributed, strong consistency protocol and reveal experimentally that its overhead is not prohibitive. We have implemented a replication middleware that offers different consistency protocols, including our strong consistency protocol. We use the TPC-W transactional web commerce benchmark to provide a comprehensive performance comparison of the different replication approaches under a variety of workload mixes.