Redundancy Control For PostgreSQL

Slides:



Advertisements
Similar presentations
Oracle Data Guard Ensuring Disaster Recovery for Enterprise Data
Advertisements

1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
8.
1 © Copyright 2010 EMC Corporation. All rights reserved. EMC RecoverPoint/Cluster Enabler for Microsoft Failover Cluster.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
SYSchange for z/OS By Pristine Software April 2009 Thomas Phillips April 2009 SYSchange Pristine Software.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
Lesson 1: Configuring Network Load Balancing
1© Copyright 2011 EMC Corporation. All rights reserved. EMC RECOVERPOINT/ CLUSTER ENABLER FOR MICROSOFT FAILOVER CLUSTER.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Conceptual Architecture of PostgreSQL
PostgreSQL Enhancement PopSQL Daniel Basilio, Eril Berkok Julia Canella, Mark Fischer Misiu Godfrey, Andrew Heard.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
N-Tier Architecture.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
Web Based Applications
Managing Multi-User Databases AIMS 3710 R. Nakatsu.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
Categories of Testing.
Software Testing Life Cycle
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Computer Emergency Notification System (CENS)
1 Some initial Design suggestions… Getting started… where to begin? Find out whether your design architecture will work… as soon as possible. If you need.
Information: Policy, Strategy and Systems Module Overview
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Advantage of File-oriented system: it provides useful historical information about how data are managed earlier. File-oriented systems create many problems.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
1 Database Management Systems (DBMS). 2 Database Management Systems (DBMS) n Overview of: ä Database Management Components ä Database Systems Architecture.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Distributed database system
CSC480 Software Engineering Lecture 10 September 25, 2002.
Concrete Architecture of PostgreSQL. Overview – Derivation Process – Conceptual Architecture Revisited – High Level Conceptual Dependencies – High Level.
High Availability in DB2 Nishant Sinha
Topic Distributed DBMS Database Management Systems Fall 2012 Presented by: Osama Ben Omran.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  The concept of Data, Information and Knowledge  The fundamental terms:  Database and database system  Database.
IT System Administration Lesson 3 Dr Jeffrey A Robinson.
Component 8/Unit 9aHealth IT Workforce Curriculum Version 1.0 Fall Installation and Maintenance of Health IT Systems Unit 9a Creating Fault Tolerant.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
Managing Multi-User Databases
The Client-Server Model
N-Tier Architecture.
The Client/Server Database Environment
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Part 3 Design What does design mean in different fields?
The Client/Server Database Environment
Important Software Performance Testing That Ensure High Quality Solutions.
IMPACTED TESTS BASED ON
Building a Database on S3
Princess Nourah bint Abdulrahman University
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Software Architecture
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Software models - Software Architecture Design Patterns
Conceptual Architecture of PostgreSQL
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Mark McKelvin EE249 Embedded System Design December 03, 2002
Database System Architectures
SOFTWARE DEVELOPMENT LIFE CYCLE
Abstractions for Fault Tolerance
Presentation transcript:

Redundancy Control For PostgreSQL everyone S-Queue-L Khurrum A Mujeeb, Adam Abu Hijleh, Adam Ali Stephen McDonald, Wisam Zaghal CISC 322 - Fall 2010

Overview Motivation for Redundancy Control SAAM Analysis Stakeholders & Interests Possible Implementations of Redundancy based on architecture design Comparison of designs Our chosen architecture Redundancy Subsystem Use Case Risks and limitations of Redundancy Implementation Effects on Concurrency and Team Issues Limitations Lessons Learned Conclusion adam

What is Redundancy? Redundancy is having two or more independent components, be it processes or data, with the exact same purpose Lets say we have an employee database which contains 2 rows of the following data Emp num Emp Name Age 12345 John 25 12345 John 25 adam

Motivation for Redundancy Control Increase server reliability & availability by decreasing the chances of a complete server failure If one server crashes queries still get processed as if there was no crash Current implementation uses a “hot standby” server in case of failover Asynchronous – Secondary server data is not sync’d in real time, but is updated when needed or at regular intervals Read only queries New Implementation increases reliability and availability while sacrificing performance and increased cost Synchronous – Secondary server must be updated concurrently Read/Write queries allowed on both servers adam

Motivation: Stakeholders Interests Non-Functional Requirements PostgreSQL Developers Maintainability End Users of PostgreSQL Reliability, Availibility, Performance, Usability, Security CommitFest Reviewers Testability Network Administrators of Backend Server Reliability, Security, Scalability   adam Stakeholder Non-Functional Requirement PostgreSQL Developers Maintainability End Users Reliability, Performance, Availability, Usability, Security CommitFest Reviewers Testability, Performance, Reliability, Portability Network Administrator of Backend Server Reliability, Security, Scalability

Potential Conceptual Architecture for Redundancy Control Layered Architecture Client communicates with the redundancy control layer which in turn communicates with Postgres Object Oriented Architecture All subsystems communicate directly with each other stephen

Comparative Advantages Layered Approach Advantages: Greater security and testability, and, in the event of the redundancy subsystem crashing, maintains data integrity Object-Oriented Approach Advantages: Better performance and availability khurrum

Selected Architecture for Redundancy Control stephen

Impacted Subsystems - All subsystems affected, due to Redundancy Control acting as a “link” between the upper and lower layer stephen

Redundancy Control Subsystem stephen Legend Components External subsystems Depend on Depends on Subsystems

Testing Impact of Enhancement Regression Testing make sure software does not become less effective that in the past Functionality tests - black box testing - test every time a feature is added, changed or extended Failure tests - examples that have caused failures in the past - before correcting failure, find out what caused it and save it - re run on all future versions Operational Tests - ensure existing/intended functionality/behavior not lost - catches accidental or unintentional changes stephen

Use Case: Server 1 Fails Legend: Baby Adam Function Call User Client Library Interface Redundancy control Server 1 Server 2 Backend 1 Backend 2 Request to Log in Request to Log in Logged in Server Requested Server Requested Server spawned Use Case: Server 1 Fails Server and communi- cation channel created Query Sent Query Sent Query Sent Query Sent Query Sent Server 1 Not Responding Executed Query Returned Executed Query Returned Executed Query Returned Executed Query Returned Executed Query Returned Baby Adam Executed Query Returned Legend: Function Call User Components Duration of running component Data Flow

Comparison of Potential Risks & Limitations Further expenses are required to introduce an additional servers Backend Servers must be Identical Risks: Entire system is reliant upon the Redundancy Control subsystem No failover in the case when both servers are down khurrum

Concurrency & Team Issues Submissions of new enhancements have to added to next CommitFest New team to manage redundancy control, test the code frequently and make sure there are no bugs Further personnel Concurrency controls remain the same as currently implemented   khurrum

Limitations Due to the lack of knowledge about SQL Database Management Systems within the group, coming up with an enhancement was very challenging Determining what Postgres has implemented with regards to data backup systems We had to assume that our new implementation could be easily integrated in a layered architecture Baby adam

Lessons Learned Currently, the majority of SQL Database Systems have an asynchronous redundancy feature available, as synchronous is very expensive to maintain and set-up Understanding the difference between synchronous and asynchronous was crucial before suggesting alternatives Baby adam

Conclusions We have decided to implement Redundancy Control, utilizing three machines; one for the client communication and redundancy control, and one of the two backends We are doing this utilizing a layered architecture The main goal of our implementation is to INCREASE reliability, with a small reduction in performance, and an increased financial cost khurrum