Distributed Databases Systems

Similar documents
Introduction to the Course

Outline. File Systems. Page 1

DISTRIBUTED DATABASES CS561-SPRING 2012 WPI, MOHAMED ELTABAKH

Distributed Databases Systems

Distributed KIDS Labs 1

Distributed Databases

Distributed DBMS. Concepts. Concepts. Distributed DBMS. Concepts. Concepts 9/8/2014

Chapter 18: Parallel Databases Chapter 19: Distributed Databases ETC.

Database Management Systems

Chapter 19: Distributed Databases

Chapter 18: Parallel Databases

Distributed Databases Systems

Chapter 19: Distributed Databases

Distributed Data Management

CS 454/654 Distributed Systems. Course Objective

Database Architectures

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1

Distributed Database Systems

Advanced Data Management Technologies

Dr. Awad Khalil. Computer Science & Engineering department

Distributed Database Systems

It also performs many parallelization operations like, data loading and query processing.

GUJARAT TECHNOLOGICAL UNIVERSITY

Database Architectures

The Replication Technology in E-learning Systems

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Fundamental Research of Distributed Database

Distributed Databases

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

A database can be modeled as: + a collection of entities, + a set of relationships among entities.

Lecture 03. Spring 2018 Borough of Manhattan Community College

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

data dependence Data dependence Structure dependence

Distributed Databases

Integrity in Distributed Databases

Distributed Database Systems Fall Introduction SL01

Introduction SL01. This Course/1. Distributed Database Systems Fall This Course/2. Two Generals Problem/1

CONCEPTS OF DISTRIBUTED AND PARALLEL DATABASE

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

Lecture 23 Database System Architectures

Mobile and Heterogeneous databases Distributed Database System Query Processing. A.R. Hurson Computer Science Missouri Science & Technology

Chapter 2 Distributed Information Systems Architecture

Chapter 4. The Relational Model

DISTRIBUTED DATABASE SYSTEMS: WHERE ARE WE NOW?

Chapter 2 Introduction to Relational Models

Chapter 20: Database System Architectures

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Final Exam Review 2. Kathleen Durant CS 3200 Northeastern University Lecture 23

Distributed Databases

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

Distributed Systems LEEC (2006/07 2º Sem.)

Chapter 3. Database Architecture and the Web

Multi-CPU and distributed systems. Database system architectures. Lecture topics: monolithic systems client server systems parallel database servers

Database Administration. Database Administration CSCU9Q5. The Data Dictionary. 31Q5/IT31 Database P&A November 7, Overview:

management systems Elena Baralis, Silvia Chiusano Politecnico di Torino Pag. 1 Distributed architectures Distributed Database Management Systems

Advanced Databases: Parallel Databases A.Poulovassilis

Distributed Databases

Lecture 03. Fall 2017 Borough of Manhattan Community College

Database Normalization is the process of efficiently organizing data in a database. There are two goals of the normalization process:

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Data Warehouse and Data Mining

Department of Computer Science and Engineering (CSE) Course Outline

Chapter 11 - Data Replication Middleware

Distributed Transaction Management

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2

Distributed Transaction Management 2003

CSE 544: Principles of Database Systems

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Distributed Database Management Systems. Data and computation are distributed over different machines Different levels of complexity

Client Server & Distributed System. A Basic Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Distributed Database Management System UNIT-2. Concurrency Control. Transaction ACID rules. MCA 325, Distributed DBMS And Object Oriented Databases

DISTRIBUTED DATABASES

COMP Instructor: Dimitris Papadias WWW page:

DISTRIBUTED COMPUTING

Distributed OS and Algorithms

Information Integration

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P?

02 - Distributed Systems

Outline. q Database integration & querying. q Peer-to-Peer data management q Stream data management q MapReduce-based distributed data management

Fundamentals of Physical Design: State of Art

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS

Running Example Tables name location

The Entity Relationship Model

Distributed Databases. Distributed Database Systems. CISC437/637, Lecture #21 Ben Cartere?e

Database System Concepts and Architecture

Data about data is database Select correct option: True False Partially True None of the Above

CSE544 Database Architecture

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

Chapter 1: Introduction

Chapter 9: Concurrency Control

A Framework for Workload Allocation in Distributed Transaction Processing Systems

CSE 5306 Distributed Systems. Course Introduction

CS DATABASE TECHNOLOGY UNIT I

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

SCALABLE CONSISTENCY AND TRANSACTION MODELS

Distributed Systems. Lecture 4 Othon Michail COMP 212 1/27

Transcription:

Distributed Databases Systems Lecture No. 01 Distributed Database Systems Naeem Ahmed Email: naeemmahoto@gmail.com Department of Software Engineering Mehran Univeristy of Engineering and Technology Jamshoro

Outline Introduction to DDS Distributed DBMS DDBMS Environment Acknowledgement: I am indebted to M. Tamer Oezsu, Patrick Valduriez for the slides of the book: Principles of Distributed Database Systems, 2 nd Edition, Prentice Hall (2001) and Johann Gamper.

Definitions Database: Shared collection of logically related data Relational Database: A collection of normalized relations with distinct relation names Relation: A relation is a table with columns and rows Attribute: An attribute is a named column of a relation Tuple: A tuple is a row of a relation Degree: The degree of a relation is the number of attributes it contains Cardinality: The cardinality of a relation is the number of tuples it contains Superkey: An attribute, or set of attributes, that uniquely identifies a tuple within a relation Candidate key: A superkey such that no proper subset is a superkey within the relation or a minimal superkey Primary key: The candidate key that is selected to identify tuples uniquely within the relation

Definitions Foreign key: An attribute, or set of attributes, within one relation that matches the candidate key of some (possibly the same) relation Composite key: candidate key that consists of more than one attribute Database Management System (DBMS): a software system that enables users to define, create, maintain, and control access to the database Application program: a computer program that interacts with the database by issuing an appropriate request (typically an SQL statement) to the DBMS Database system: a collection of application programs that interact with the database along with the DBMS and database itself File-based system: a collection of application programs that perform services for the end-users, usually the production of reports. Each program defines and manages its own data

File Systems In the old days, programs stored data in regular files Each program has to maintain its own data huge overhead program 1 data description 1 File 1 program 2 data description 2 program 3 data description 3 File 2 File 3

Database Management The development of DBMS helped to fully achieve data independence (transparency) Provide centralized and controlled data maintenance and access Application is immune to physical and logical file organization

Database Management Application program 1 (with data semantics) Application program 2 (with data semantics) DBMS description manipulation control database Application program 3 (with data semantics)

Integrate Databases and Communication Database Technology integration Computer Networks distribution Distributed Database Systems integration

Integrate Databases and Communication Distributed database system is the union of what appear to be two diametrically opposed approaches to data processing: database systems and computer network Computer networks promote a mode of work that goes against centralization Key issues to understand this combination The most important objective of DB technology is integration not centralization Integration is possible without centralization, i.e., integration of databases and networking does not mean centralization (in fact quite opposite) Goal of distributed database systems: achieve data integration and data distribution transparency

Distributed Computing/Data Processing A distributed computing system is a collection of autonomous processing elements that are interconnected by a computer network. The elements cooperate in order to perform the assigned task The term distributed is very broadly used. The exact meaning of the word depends on the context Synonymous terms: distributed function distributed data processing multiprocessors/multicomputers satellite processing back-end processing dedicated/special purpose computers timeshared systems

Distributed Computing/Data Processing What can be distributed? Processing logic Functions Data Control Classification of distributed systems with respect to various criteria Degree of coupling, i.e., how closely the processing elements are connected e.g., measured as ratio of amount of data exchanged to amount of local processing weak coupling, strong coupling Interconnection structure point-to-point connection between processing elements Synchronization (i.e., synchronous and asynchronous )

Definition of DDB and DDBMS A distributed database (DDB) is a collection of multiple, logically interrelated databases distributed over a computer network A distributed database management system (DDBMS) is the software that manages the DDB and provides an access mechanism that makes this distribution transparent to the users Distributed database system (DDBS) = DB + Communication The terms DDBMS and DDBS are often used interchangeably

Definition of DDB and DDBMS Implicit assumptions Data stored at a number of sites each site logically consists of a single processor Processors at different sites are interconnected by a computer network no multiprocessors DDBS is a database, not a collection of files data logically related as exhibited in the users access patterns DDBMS is a collections of DBMSs (not a remote file system)

What is not a DDBS? A timesharing computer system A loosely or tightly coupled multiprocessor system A database system which resides at one of the nodes of a network of computers - this is a centralized database on a network node

Centralized DBMS on a Network Site 1 Site 2 Site 5 Communication Network Site 4 Site 3

Distributed DBMS Environment Site 1 Site 2 Site 5 Communication Network Site 4 Site 3

Boston Boston projects Boston employees Boston assignments Tokyo Communication Network New York Boston projects New York employees New York projects New York assignments DDB and DDBMS Paris Paris projects Paris employees Paris assignments Boston employees Montreal Montreal projects Paris projects New York projects with budget > 200000 Montreal employees Montreal assignments Example: Database consists of 3 relations employees, projects, and assignment which are partitioned and stored at different sites (fragmentation) SELECT ENAME,SAL FROM EMP,ASG,PAY WHERE DUR > 12 AND EMP.ENO = ASG.ENO AND PAY.TITLE = EMP.TITLE

Applications Manufacturing - especially multi-plant manufacturing Military command and control Electronic fund transfers and electronic trading Corporate MIS Airline restrictions Hotel chains Any organization which has a decentralized organization structure

Distributed DBMS Promises Distributed Database Systems deliver the following advantages: Higher reliability Improved performance Easier system expansion Transparency of distributed and replicated data

Distributed DBMS Promises Higher reliability Replication of components No single points of failure e.g., a broken communication link or processing element does not bring down the entire system Distributed transaction processing guarantees the consistency of the database and concurrency

Distributed DBMS Promises Improved performance Proximity of data to its points of use Reduces remote access delays Requires some support for fragmentation and replication Parallelism in execution Inter-query parallelism Intra-query parallelism Update and read-only queries influence the design of DDBSs substantially If mostly read-only access is required, as much as possible of the data should be replicated Writing becomes more complicated with replicated data

Distributed DBMS Promises Easier system expansion Issue is database scaling Emergence of microprocessor and workstation technologies Network of workstations much cheaper than a single mainframe computer Data communication cost versus telecommunication cost Increasing database size

Distributed DBMS Promises Transparency Refers to the separation of the higher-level semantics of the system from the lower-level implementation issues A transparent system hides the implementation details from the users A fully transparent DBMS provides high-level support for the development of complex applications

Distributed DBMS Promises Transparency: User wants to see one database Distributed Database

Distributed DBMS Promises DBMS Software DBMS Software User Query User Application Communication Subsystem DBMS Software Transparency: Programmer sees many databases DBMS Software User Query DBMS Software User Application User Query

Distributed DBMS Promises Various forms of transparency can be distingushed for DDBMSs: Network transparency (also called distribution transparency) Location transparency Naming transparency Replication transparency Fragmentation transparency Transaction transparency Concurrency transparency Performance transparency

Distributed DBMS Promises Network/Distribution transparency allows a user to perceive a DDBS as a single, logical entity The user is protected from the operational details of the network (or even does not know about the existence of the network) The user does not need to know the location of data items and a command used to perform a task is independent from the location of the data and the site the task is performed (location transparency)

Distributed DBMS Promises A unique name is provided for each object in the database (naming transparency) In absence of this, users are required to embed the location name as part of an identifier Different ways to ensure naming transparency: Solution 1: Create a central name server; however, this results in loss of some local autonomy central site may become a bottleneck low availability (if the central site fails remaining sites cannot create new objects)

Distributed DBMS Promises Solution 2: Prefix object with identifier of site that created it e.g., branch created at site S1 might be named S1.BRANCH Also need to identify each fragment and its copies e.g., copy 2 of fragment 3 of Branch created at site S1 might be referred to as S1.BRANCH.F3.C2 An approach that resolves these problems uses aliases for each database object Thus, S1.BRANCH.F3.C2 might be known as local branch by user at site S1 DDBMS has task of mapping an alias to appropriate database object

Distributed DBMS Promises Replication transparency ensures that the user is not involved in the management of copies of some data The user should even not be aware about the existence of replicas, rather should work as if there exists a single copy of the data Replication of data is needed for various reasons e.g., increased efficiency for read-only data access

Distributed DBMS Promises Fragmentation transparency ensures that the user is not aware of and is not involved in the fragmentation of the data The user is not involved in finding query processing strategies over fragments or formulating queries over fragments The evaluation of a query that is specified over an entire relation but now has to be performed on top of the fragments requires an appropriate query evaluation strategy Fragmentation is commonly done for reasons of performance, availability, and reliability Two fragmentation alternatives Horizontal fragmentation: divide a relation into a subsets of tuples Vertical fragmentation: divide a relation by columns

Distributed DBMS Promises Transaction transparency ensures that all distributed transactions maintain integrity and consistency of the DDB and support concurrency Each distributed transaction is divided into a number of subtransactions (a sub-transaction for each site that has relevant data) that concurrently access data at different locations DDBMS must ensure the indivisibility of both the global transaction and each of the sub-transactions Can be further divided into Concurrency transparency Failure transparency

Distributed DBMS Promises Concurrency transparency guarantees that transactions must execute independently and are logically consistent, i.e., executing a set of transactions in parallel gives the same result as if the transactions were executed in some arbitrary serial order Same fundamental principles as for centralized DBMS, but more complicated to realize: DDBMS must ensure that global and local transactions do not interfere with each other DDBMS must ensure consistency of all sub-transactions of global transaction Replication makes concurrency even more complicated If a copy of a replicated data item is updated, update must be propagated to all copies (i.e., all at a time, when sites are reachable or asynchronous updating)

Distributed DBMS Promises Failure transparency: DDBMS must ensure atomicity and durability of the global transaction, i.e., the sub-transactions of the global transaction either all commit or all abort Thus, DDBMS must synchronize global transaction to ensure that all sub-transactions have completed successfully before recording a final COMMIT for the global transaction The solution should be robust in presence of site and network failures

Distributed DBMS Promises Performance transparency: DDBMS must perform as if it were a centralized DBMS DDBMS should not suffer any performance degradation due to the distributed architecture DDBMS should determine most cost-effective strategy to execute a request Distributed Query Processor (DQP) maps data request into an ordered sequence of operations on local databases DQP must consider fragmentation, replication, and allocation schemas DQP has to decide: which fragment to access, which copy of a fragment to use, which location to use DQP produces execution strategy optimized with respect to some cost function Typically, costs associated with a distributed request include: I/O cost, CPU cost, and communication cost

Complicating Factors Complexity Cost Security Integrity control more difficult Lack of standards Lack of experience Database design more complex

Distributed DBMS Issues Distributed Database Design how to distribute the database? How to fragment the data? replicated & non-replicated database distribution Partitioned data vs. replicated data? Distributed query processing Design algorithms that analyze queries and convert them into a series of data manipulation operations Distribution of data, communication costs, etc. has to be considered Find optimal query plans min{cost = data transmission + local processing}

Distributed DBMS Issues Distributed directory management Distributed concurrency control Synchronization of concurrent accesses such that the integrity of the DB is maintained Integrity of multiple copies of (parts of) the DB have to be considered (mutual consistency) Distributed deadlock management Deadlock management: prevention, avoidance, detection/recovery Reliability How to make the system resilient to failures Heterogeneous databases

Relationship Between Issues Directory Management Query Processing Distribution Design Reliability Concurrency Control Deadlock Management

Summary A distributed database (DDB) is a collection of multiple, logically interrelated databases distributed over a computer network Data stored at a number of sites, the sites are connected by a network. DDB supports the relational model. DDB is not a remote file system Transparent system hides the implementation details from the users Distribution transparency Network transparency Transaction transparency Performance transparency

Summary Programming a distributed database involves: Distributed database design Distributed query processing Distributed directory management Distributed concurrency control Distributed deadlock management Reliability