Replication Techniques in Distributed Systems


Book Description

Replication Techniques in Distributed Systems organizes and surveys the spectrum of replication protocols and systems that achieve high availability by replicating entities in failure-prone distributed computing environments. The entities discussed in this book vary from passive untyped data objects, to typed and complex objects, to processes and messages. Replication Techniques in Distributed Systems contains definitions and introductory material suitable for a beginner, theoretical foundations and algorithms, an annotated bibliography of commercial and experimental prototype systems, as well as short guides to recommended further readings in specialized subtopics. This book can be used as recommended or required reading in graduate courses in academia, as well as a handbook for designers and implementors of systems that must deal with replication issues in distributed systems.




Replication


Book Description

Consistency models for replicated data /Alan D. Fekete and Krithi Ramamritham --Replication techniques for availability /Robbert van Renesse and Rachid Guerraoui --Modular approach to replication for availability /Fernando Pedone and André Schiper --Stumbling over consensus research: misunderstandings and issues /Marcos K. Aguilera --Replicating for performance: case studies /Maarten van Steen and Guillaume Pierre --A history of the virtual synchrony replication model /Ken Birman --From viewstamped replication to byzantine fault tolerance /Barbara Liskov --Implementing trustworthy services using replicated state machines /Fred B. Schneider and Lidong Zhou --State machine replication with Byzantine faults /Christian Cachin --Selected results from the latest decade of quorum systems research /Michael G. Merideth and Michael K. Reiter --From object replication to database replication /Fernando Pedone and André Schiper --Database replication: a tutorial /Dettina Kemme, Ricardo Jiménez-Peris, Marta Patiño-Martínez, and Gustavo Alonso --Practical database replication /Alfrânio Correia Jr. ... [et al.].




Database Replication


Book Description

Database replication is widely used for fault-tolerance, scalability and performance. The failure of one database replica does not stop the system from working as available replicas can take over the tasks of the failed replica. Scalability can be achieved by distributing the load across all replicas, and adding new replicas should the load increase. Finally, database replication can provide fast local access, even if clients are geographically distributed clients, if data copies are located close to clients. Despite its advantages, replication is not a straightforward technique to apply, and there are many hurdles to overcome. At the forefront is replica control: assuring that data copies remain consistent when updates occur. There exist many alternatives in regard to where updates can occur and when changes are propagated to data copies, how changes are applied, where the replication tool is located, etc. A particular challenge is to combine replica control with transaction management as it requires several operations to be treated as a single logical unit, and it provides atomicity, consistency, isolation and durability across the replicated system. The book provides a categorization of replica control mechanisms, presents several replica and concurrency control mechanisms in detail, and discusses many of the issues that arise when such solutions need to be implemented within or on top of relational database systems. Furthermore, the book presents the tasks that are needed to build a fault-tolerant replication solution, provides an overview of load-balancing strategies that allow load to be equally distributed across all replicas, and introduces the concept of self-provisioning that allows the replicated system to dynamically decide on the number of replicas that are needed to handle the current load. As performance evaluation is a crucial aspect when developing a replication tool, the book presents an analytical model of the scalability potential of various replication solution. For readers that are only interested in getting a good overview of the challenges of database replication and the general mechanisms of how to implement replication solutions, we recommend to read Chapters 1 to 4. For readers that want to get a more complete picture and a discussion of advanced issues, we further recommend the Chapters 5, 8, 9 and 10. Finally, Chapters 6 and 7 are of interest for those who want get familiar with thorough algorithm design and correctness reasoning. Table of Contents: Overview / 1-Copy-Equivalence and Consistency / Basic Protocols / Replication Architecture / The Scalability of Replication / Eager Replication and 1-Copy-Serializability / 1-Copy-Snapshot Isolation / Lazy Replication / Self-Configuration and Elasticity / Other Aspects of Replication




Information Computing and Applications


Book Description

The ICICA 2010 conference provided a forum for engineers and scientists in academia, industry, and government to address the most innovative research and development including technical challenges and social, legal, political, and economic issues, and to present and discuss their ideas, results, work in progress and experience on all aspects of information computing and applications.




Understanding Distributed Systems, Second Edition


Book Description

Learning to build distributed systems is hard, especially if they are large scale. It's not that there is a lack of information out there. You can find academic papers, engineering blogs, and even books on the subject. The problem is that the available information is spread out all over the place, and if you were to put it on a spectrum from theory to practice, you would find a lot of material at the two ends but not much in the middle. That is why I decided to write a book that brings together the core theoretical and practical concepts of distributed systems so that you don't have to spend hours connecting the dots. This book will guide you through the fundamentals of large-scale distributed systems, with just enough details and external references to dive deeper. This is the guide I wished existed when I first started out, based on my experience building large distributed systems that scale to millions of requests per second and billions of devices. If you are a developer working on the backend of web or mobile applications (or would like to be!), this book is for you. When building distributed applications, you need to be familiar with the network stack, data consistency models, scalability and reliability patterns, observability best practices, and much more. Although you can build applications without knowing much of that, you will end up spending hours debugging and re-architecting them, learning hard lessons that you could have acquired in a much faster and less painful way. However, if you have several years of experience designing and building highly available and fault-tolerant applications that scale to millions of users, this book might not be for you. As an expert, you are likely looking for depth rather than breadth, and this book focuses more on the latter since it would be impossible to cover the field otherwise. The second edition is a complete rewrite of the previous edition. Every page of the first edition has been reviewed and where appropriate reworked, with new topics covered for the first time.




Real-Time Database Systems


Book Description

Despite the growing interest in Real-Time Database Systems, there is no single book that acts as a reference to academics, professionals, and practitioners who wish to understand the issues involved in the design and development of RTDBS. Real-Time Database Systems: Issues and Applications fulfills this need. This book presents the spectrum of issues that may arise in various real-time database applications, the available solutions and technologies that may be used to address these issues, and the open problems that need to be tackled in the future. With rapid advances in this area, several concepts have been proposed without a widely accepted consensus on their definitions and implications. To address this need, the first chapter is an introduction to the key RTDBS concepts and definitions, which is followed by a survey of the state of the art in RTDBS research and practice. The remainder of the book consists of four sections: models and paradigms, applications and benchmarks, scheduling and concurrency control, and experimental systems. The chapters in each section are contributed by experts in the respective areas. Real-Time Database Systems: Issues and Applications is primarily intended for practicing engineers and researchers working in the growing area of real-time database systems. For practitioners, the book will provide a much needed bridge for technology transfer and continued education. For researchers, this book will provide a comprehensive reference for well-established results. This book can also be used in a senior or graduate level course on real-time systems, real-time database systems, and database systems or closely related courses.




Advances in Distributed Systems


Book Description

In 1992 we initiated a research project on large scale distributed computing systems (LSDCS). It was a collaborative project involving research institutes and universities in Bologna, Grenoble, Lausanne, Lisbon, Rennes, Rocquencourt, Newcastle, and Twente. The World Wide Web had recently been developed at CERN, but its use was not yet as common place as it is today and graphical browsers had yet to be developed. It was clear to us (and to just about everyone else) that LSDCS comprising several thousands to millions of individual computer systems (nodes) would be coming into existence as a consequence both of technological advances and the demands placed by applications. We were excited about the problems of building large distributed systems, and felt that serious rethinking of many of the existing computational paradigms, algorithms, and structuring principles for distributed computing was called for. In our research proposal, we summarized the problem domain as follows: “We expect LSDCS to exhibit great diversity of node and communications capability. Nodes will range from (mobile) laptop computers, workstations to supercomputers. Whereas mobile computers may well have unreliable, low bandwidth communications to the rest of the system, other parts of the system may well possess high bandwidth communications capability. To appreciate the problems posed by the sheer scale of a system comprising thousands of nodes, we observe that such systems will be rarely functioning in their entirety.




Data Replication


Book Description

For enterprise-wide data replication that works, you'll find the right tools for the right job--right here Data Replication: Tools and Techniques for Managing Distributed Information is a step-by-step guide to replicated data implementation, covering everything from technologies and terms to design approaches used by major vendors like IBM and Sybase to the latest in alternative design strategies. Here's everything on selecting the right set of replication tools and designing and building databases that work effectively with these tools. In addition, the book provides: * Clear data distribution methodology and tips and techniques for designing databases that use replication efficiently * A work plan for building an in-house framework for replication * An application developer's work plan for implementing replication * Highlighted "Tips" and "Warnings" and a Decision * Tree that offers easy selection of the best replication alternatives * Concepts applicable to both vendor-supplied and in-house solutions * Illustrative case studies on such topics as using replication within the OLAP operational data store, and OLTP and mobile computing environments




Principles of Distributed Database Systems


Book Description

This third edition of a classic textbook can be used to teach at the senior undergraduate and graduate levels. The material concentrates on fundamental theories as well as techniques and algorithms. The advent of the Internet and the World Wide Web, and, more recently, the emergence of cloud computing and streaming data applications, has forced a renewal of interest in distributed and parallel data management, while, at the same time, requiring a rethinking of some of the traditional techniques. This book covers the breadth and depth of this re-emerging field. The coverage consists of two parts. The first part discusses the fundamental principles of distributed data management and includes distribution design, data integration, distributed query processing and optimization, distributed transaction management, and replication. The second part focuses on more advanced topics and includes discussion of parallel database systems, distributed object management, peer-to-peer data management, web data management, data stream systems, and cloud computing. New in this Edition: • New chapters, covering database replication, database integration, multidatabase query processing, peer-to-peer data management, and web data management. • Coverage of emerging topics such as data streams and cloud computing • Extensive revisions and updates based on years of class testing and feedback Ancillary teaching materials are available.




Networked Digital Technologies, Part II


Book Description

On behalf of the NDT 2010 conference, the Program Committee and Charles University in Prague, Czech Republic, we welcome you to the proceedings of the Second International Conference on ‘Networked Digital Technologies’ (NDT 2010). The NDT 2010 conference explored new advances in digital and Web technology applications. It brought together researchers from various areas of computer and information sciences who addressed both theoretical and applied aspects of Web technology and Internet applications. We hope that the discussions and exchange of ideas that took place will contribute to advancements in the technology in the near future. The conference received 216 papers, out of which 85 were accepted, resulting in an acceptance rate of 39%. These accepted papers are authored by researchers from 34 countries covering many significant areas of Web applications. Each paper was evaluated by a minimum of two reviewers. Finally, we believe that the proceedings document the best research in the studied areas. We express our thanks to the Charles University in Prague, Springer, the authors and the organizers of the conference.