Distribution Design. Distribution Design Issues. Fragmentation. Degree of Fragmentation. Fragmentation 28/09/16

Similar documents
Chapter 3: Distributed Database Design

Distributed Database Design (Chapter 5)

Distributed Database Management Systems

Distributed Databases in a Nutshell

Distributed Database Systems. Prof. Dr. Carl-Christian Kanne

Advanced Database Management Systems

Fragmentation and Data Allocation in the Distributed Environments

Chapter 5: Overview of Query Processing

Overview of Database Management

Distributed Database Design

Principles of Distributed Database Systems

Outline. Distributed DBMSPage 4. 1

Parallel Databases. Parallel Architectures. Parallelism Terminology 1/4/2015. Increase performance by performing operations in parallel

Horizontal Fragmentation Technique in Distributed Database

BBM467 Data Intensive ApplicaAons

Distributed Databases. Concepts. Why distributed databases? Distributed Databases Basic Concepts

A Novel Cloud Computing Data Fragmentation Service Design for Distributed Systems

Physical Database Design and Tuning

Chapter 2: DDBMS Architecture

PartJoin: An Efficient Storage and Query Execution for Data Warehouses

1. Physical Database Design in Relational Databases (1)

DISTRIBUTED AND PARALLELL DATABASE

Topics. Distributed Databases. Desirable Properties. Introduction. Distributed DBMS Architectures. Types of Distributed Databases

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Sharding and MongoDB. Release MongoDB, Inc.

chapater 7 : Distributed Database Management Systems

Sharding and MongoDB. Release MongoDB, Inc.

Chapter 13: Query Processing. Basic Steps in Query Processing

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

Distributed Databases

High Performance Spatial Queries and Analytics for Spatial Big Data. Fusheng Wang. Department of Biomedical Informatics Emory University

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Physical Design. Phases of database design. Physical design: Inputs.

International Journal of Innovative Research in Computer and Communication Engineering. (An ISO 3297: 2007 Certified Organization)

An Overview of Distributed Databases

Review: Participation Constraints

Extended Principle of Orthogonal Database Design

Vertical Partitioning Algorithms for Database Design

ENHANCEMENTS TO SQL SERVER COLUMN STORES. Anuhya Mallempati #

Lecture 6. SQL, Logical DB Design

Distributed Data Management

3. Relational Model and Relational Algebra

Automated Teller Machine (ATM), Host Processor, Distributed Database Management System, Fragments. 1. INTRODUCTION

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

A Virtual Machine Searching Method in Networks using a Vector Space Model and Routing Table Tree Architecture

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

In Memory Accelerator for MongoDB

White Paper. Optimizing the Performance Of MySQL Cluster

Chapter 6: Episode discovery process

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model

A. TRUE-FALSE: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ:

Information Retrieval and Web Search Engines

Policy Distribution Methods for Function Parallel Firewalls

Scheduling Shop Scheduling. Tim Nieberg

Data warehousing with PostgreSQL

TOP-DOWN APPROACH PROCESS BUILT ON CONCEPTUAL DESIGN TO PHYSICAL DESIGN USING LIS, GCS SCHEMA

Horizontal Partitioning by Predicate Abstraction and its Application to Data Warehouse Design

Database Design Patterns. Winter Lecture 24

Dynamic Programming. Lecture Overview Introduction

Benefits of Normalisation in a Data Base - Part 1

Transaction Management in Distributed Database Systems: the Case of Oracle s Two-Phase Commit

RCFile: A Fast and Space-efficient Data Placement Structure in MapReduce-based Warehouse Systems CLOUD COMPUTING GROUP - LITAO DENG

Distributed Architectures. Distributed Databases. Distributed Databases. Distributed Databases

Rethinking SIMD Vectorization for In-Memory Databases

Data Warehousing und Data Mining

SQL Query Evaluation. Winter Lecture 23

Big Data Technology CS , Technion, Spring 2013

CS54100: Database Systems

Multilevel Communication Aware Approach for Load Balancing

DATABASE MANAGEMENT SYSTEMS. Question Bank:

Software Pipelining. for (i=1, i<100, i++) { x := A[i]; x := x+1; A[i] := x

A Review of Database Schemas

Using Peer to Peer Dynamic Querying in Grid Information Services

Advanced Database Group Project - Distributed Database with SQL Server

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

low-level storage structures e.g. partitions underpinning the warehouse logical table structures

Network Algorithms for Homeland Security

Ryan Horn, Lead Software Engineer at Twilio. November 12, 2014 Las Vegas. BDT312 Using the Cloud to Scale from a Database to a Data Platform

Conjugating data mood and tenses: Simple past, infinite present, fast continuous, simpler imperative, conditional future perfect

Understanding Neo4j Scalability

Part 6. Normalization

Lecture 13: The Knapsack Problem

Graph Security Testing

Secure and Efficient Data Storage in Multi-clouds

MapReduce and the New Software Stack

SAP HANA SPS 09 - What s New? SAP HANA Scalability

SCAN: A Structural Clustering Algorithm for Networks

Clustering. Danilo Croce Web Mining & Retrieval a.a. 2015/201 16/03/2016

Java Modules for Time Series Analysis

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage

A1 and FARM scalable graph database on top of a transactional memory layer

BCA. Database Management System

TECHNIQUES FOR DATA REPLICATION ON DISTRIBUTED DATABASES

Transcription:

Distributed Database design: fragmentation & allocation Distribution Design Top-down Material from: Principles of Distributed Database Systems Özsu, M. Tamer, Valduriez, Patrick, 3rd ed. 2011 + slides from H. Garcia Molina. mostly in designing systems from scratch mostly in homogeneous systems Bottom-up when the databases already exist at a number of sites Presented by C. Roncancio Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/1 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/4 Distribution Design Issues Fragmentation! Why fragment at all? " How to fragment? # How much to fragment? $ How to test correctness? % How to allocate? & Information requirements? Can't we just distribute relations? What is a reasonable unit of distribution? relation views are subsets of relations 'locality extra communication fragments of relations (sub-relations) concurrent execution of a number of transactions that access different portions of a relation views that cannot be defined on a single fragment will require extra processing semantic data control (especially integrity enforcement) more difficult Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/6 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/ Fragmentation Degree of Fragmentation Horizontal Fragmentation (HF) Primary Horizontal Fragmentation (PHF) Derived Horizontal Fragmentation (DHF) Vertical Fragmentation (VF) Hybrid Fragmentation (HF) tuples or attributes finite number of alternatives relations Finding the suitable level of partitioning within this range Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/8 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/9 1

Fragmentation Alternatives Horizontal 1 : projects with budgets less than $200,000 2 : projects with budgets greater than or equal to $200,000 Fragmentation Alternatives Horizontal 1 : projects with budgets less than $200,000 2 : projects with budgets greater than or equal to $200,000 1 2 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/10 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/11 Correctness of Fragmentation Completeness Decomposition of relation R into fragments R 1, R 2,..., R n is complete if and only if each data item in R can also be found in some R i Reconstruction If relation R is decomposed into fragments R 1, R 2,..., R n, then there should exist some relational operator such that R = 1 i n R i Disjointness If relation R is decomposed into fragments R 1, R 2,..., R n, and data item d i is in R j, then d i should not be in any other fragment R k (k j ). Allocation Alternatives Non-replicated partitioned : each fragment resides at only one site Replicated fully replicated : each fragment at each site partially replicated : each fragment at some of the sites Rule of thumb: If read-only queries << 1, replication is advantageous, update queries otherwise replication may cause problems Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/12 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/13 Comparison of Replication Alternatives Information Requirements QUERY PROCESSING DIRECTORY MANAGEMENT Full-replication Partial-replication Partitioning Easy Easy or Non-existant Same Difficulty Same Difficulty Four categories: Database information Application information Communication network information Computer system information CONCURRENCY CONTROL Moderate Difficult Easy RELIABILITY Very high High Low Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/14 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/15 2

PHF Information Requirements Database Information relationship SKILL TITLE, SAL EMP ENO, ENAME, TITLE ASG ENO, PNO, RESP, DUR cardinality of each relation: card(r) PNO, PNAME, BUDGET, LOC PHF - Information Requirements Application Information simple predicates : Given R[A 1, A 2,, A n ], a simple predicate p j is p j : A i Value where {=,<,,>,, }, Value D i and D i is the domain of A i. For relation R we define Pr = {p 1, p 2,,p m } Example : PNAME = "Maintenance" BUDGET 200000 minterm predicates : Given R and Pr = {p 1, p 2,,p m } define M = {m 1,m 2,,m r } as M = { m i m i = pj Pr p j * }, 1 j m, 1 i z where p j * = p j or p j * = (p j ). Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/16 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/1 PHF Information Requirements Example m 1 : PNAME="Maintenance" BUDGET 200000 m 2 : NOT(PNAME="Maintenance") BUDGET 200000 m 3 : PNAME= "Maintenance" NOT(BUDGET 200000) m 4 : NOT(PNAME="Maintenance") NOT(BUDGET 200000) Derived Horizontal Fragmentation Defined on a member relation of a link according to a selection operation specified on its owner. Each link is an equijoin. Equijoin can be implemented by means of semijoins. PAY TITLE, SAL EMP L 1 ENO, ENAME, TITLE PNO, PNAME, BUDGET, LOC ASG L 2 L 3 ENO, PNO, RESP, DUR Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/18 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/3 DHF Definition Example Given a link L where owner(l)=s and member(l)=r, the derived horizontal fragments of R are defined as R i = R F S i, 1 i w where w is the maximum number of fragments that will be defined on R and S i = σ Fi (S) where F i is the formula according to which the primary horizontal fragment S i is defined. Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/38 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/39 3

Example DHF Example Pay 1 = σ SAL 30000 (Pay) Pay 2 = σ SAL>30000 (Pay) PAY 1 PAY 2 TITLE Mech. Eng. Programmer SAL 2000 24000 TITLE Elect. Eng. Syst. Anal. SAL 40000 34000 Given link L 1 where owner(l 1 )=Pay and member(l 1 )=EMP EMP 1 = EMP Pay 1 EMP 2 = EMP Pay 2 Where Pay 1 = σ SAL 30000 (Pay) Pay 2 = σ SAL>30000 (Pay) EMP 1 ENO ENAME TITLE E3 A. Lee Mech. Eng. E4 J. Miller Programmer E R. Davis Mech. Eng. EMP 2 ENO ENAME TITLE E1 J. Doe Elect. Eng. E2 M. Smith Syst. Anal. E5 B. Casey Syst. Anal. E6 L. Chu Elect. Eng. E8 J. Jones Syst. Anal. Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/40 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/41 DHF Correctness Vertical Fragmentation Completeness Referential integrity Let R be the member relation of a link whose owner is relation S which is fragmented as F S = {S 1, S 2,..., S n }. Furthermore, let A be the join attribute between R and S. Then, for each tuple t of R, there should be a tuple t' of S such that t[a] = t' [A] Reconstruction Same as primary horizontal fragmentation. Disjointness Simple join graphs between the owner and the member fragments. Has been studied within the centralized context design methodology physical clustering More difficult than horizontal, because more alternatives exist. Two approaches : grouping attributes to fragments splitting relation to fragments Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/43 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/44 Fragmentation Alternatives Vertical 1 : information about project budgets 2 : information about project names and locations Fragmentation Alternatives Vertical 1 : information about project budgets 2 : information about project names and locations 1 2 PNO BUDGET P1 150000 P2 135000 P3 250000 P4 310000 P5 500000 PNO PNAME LOC P1 Instrumentation Montreal P2 Database Develop. New York P3 CAD/CAM New York P4 Maintenance Paris P5 CAD/CAM Boston Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/45 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/46 4

Vertical Fragmentation VF Information Requirements Overlapping fragments grouping Non-overlapping fragments splitting We do not consider the replicated key attributes to be overlapping. Advantage: Easier to enforce functional dependencies (for integrity checking etc.) Application Information Attribute affinities a measure that indicates how closely related the attributes are This is obtained from more primitive usage data Attribute usage values Given a set of queries Q = {q 1, q 2,, q q } that will run on the relation R[A 1, A 2,, A n ], use(q i,a j ) = 1 if attribute A j is referenced by query q i 0 otherwise use(q i, ) can be defined accordingly Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/4 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/48 VF Definition of use(q i,a j ) VF Affinity Measure aff(a i,a j ) Consider the following 4 queries for relation q 1 : SELECT BUDGET q 2 : SELECT PNAME,BUDGET FROM FROM WHERE PNO=Value q 3 : SELECT PNAME q 4 : SELECT SUM(BUDGET) FROM FROM WHERE LOC=Value WHERE LOC=Value Let A 1 = PNO, A 2 = PNAME, A 3 = BUDGET, A 4 = LOC The attribute affinity measure between two attributes A i and A j of a relation R[A 1, A 2,, A n ] with respect to the set of applications Q = (q 1, q 2,, q q ) is defined as follows : aff (A i, A j ) = (query access) all queries that access A i and A j q 1 q 2 q 3 q 4 A 1 A 2 A 3 A 4 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 query access = all sites access frequency of a query access execution Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/49 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/50 VF Calculation of aff(a i, A j ) VF Calculation of aff(a i, A j ) Assume each query in the previous example accesses the attributes once during each execution. S 1 S 2 S 3 Also assume the access frequencies q 1 15 20 10 q 2 q 3 q 4 5 0 0 25 25 25 3 0 0 Assume each query in the previous example accesses the attributes once during each execution. Also assume the access frequencies q 1 S 1 15 S 2 20 S 3 10 q 2 q 3 q 4 5 0 0 25 25 25 3 0 0 Then aff(a 1, A 3 ) = 15*1 + 20*1+10*1 = 45 and the attribute affinity matrix AA is A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 45 0 45 0 0 80 5 5 45 5 53 3 0 5 3 8 Then aff(a 1, A 3 ) = 15*1 + 20*1+10*1 = 45 and the attribute affinity matrix AA is A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 45 0 45 0 0 80 5 5 45 5 53 3 0 5 3 8 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/51 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/52 5

VF Clustering Algorithm Take the attribute affinity matrix AA and reorganize the attribute orders to form clusters where the attributes in each cluster demonstrate high affinity to one another. Bond Energy Algorithm (BEA) has been used for clustering of entities. BEA finds an ordering of entities (in our case attributes) such that the global affinity measure is maximized. AM = i j (affinity of A i and A j with their neighbors) VF Correctness A relation R, defined over attribute set A and key K, generates the vertical partitioning F R = {R 1, R 2,, R r }. Completeness The following should be true for A: A = A Ri Reconstruction Reconstruction can be achieved by Disjointness R = K R i, R i F R TID's are not considered to be overlapping since they are maintained by the system Duplicated keys are not considered to be overlapping Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/53 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/62 Hybrid Fragmentation R HF HF R 1 R 2 VF VF VF VF VF R 11 R 12 R 21 R 22 R 23 Fragment Allocation Problem Statement Given F = {F 1, F 2,, F n } fragments S ={S 1, S 2,, S m } network sites Q = {q 1, q 2,, q q } applications Find the "optimal" distribution of F to S. Optimality Minimal cost Communication + storage + processing (read & update) Cost in terms of time (usually) Performance Response time and/or throughput Constraints Per site constraints (storage & processing) Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/63 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/64 Information Requirements Database information selectivity of fragments size of a fragment Application information access types and numbers access localities Communication network information unit cost of storing data at a site unit cost of processing at a site Computer system information bandwidth latency communication overhead Allocation File Allocation (FAP) vs Database Allocation (DAP): Fragments are not individual files relationships have to be maintained Access to databases is more complicated remote file access model not applicable relationship between allocation and query processing Cost of integrity enforcement should be considered Cost of concurrency control should be considered Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/65 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/66 6

Allocation Information Requirements Database Information selectivity of fragments size of a fragment Application Information number of read accesses of a query to a fragment number of update accesses of query to a fragment A matrix indicating which queries update which fragments A similar matrix for retrievals originating site of each query Site Information unit cost of storing data at a site unit cost of processing at a site Network Information communication cost/frame between two sites frame size General Form min(total Cost) subject to response time constraint storage constraint processing constraint Decision Variable 1 if fragment F x ij = i is stored at site S j 0 otherwise Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/6 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/68 Total Cost all queries all sites query processing cost + Storage Cost (of fragment F j at S k ) (unit storage cost at S k ) * (size of F j ) * x jk Query Processing Cost (for one query) cost of storing a fragment at a site processing component + transmission component Query Processing Cost Processing component access cost + integrity enforcement cost + concurrency control cost Access cost (no. of update accesses+ no. of read accesses) * all sites x ij * local processing cost at a site Integrity enforcement and concurrency control costs Can be similarly calculated Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/69 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/0 Query Processing Cost Transmission component cost of processing updates + cost of processing retrievals Cost of updates all sites all sites update message cost + acknowledgment cost Retrieval Cost min all sites (cost of retrieval command + cost of sending back the result) Constraints Response Time execution time of query max. allowable response time for that query Storage Constraint (for a site) storage requirement of a fragment at that site storage capacity at that site Processing constraint (for a site) processing load of a query at that site all queries processing capacity of that site Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/1 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/2

Solution Methods FAP is NP-complete DAP also NP-complete Heuristics based on single commodity warehouse location (for FAP) knapsack problem branch and bound techniques network flow Attempts to reduce the solution space assume all candidate partitionings known; select the best partitioning ignore replication at first sliding window on fragments Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/3 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/4 Fragmentation / sharding A partition forms a «shard» Fragmentation based on FAQ or known access patterns Automatic partitioning, sharding? Sharding is often related to shared nothing architectures Three common horizontal partitioning techniques Round robin Hash partitioning Range partitioning Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/5 Ch. From H. Garcia Molina Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/6 Round robin Hash partitioning R D0 D1 D2 t1 t1 t2 t2 t3 t3 t4 t4... t5 Evenly distributes data Good for scanning full relation Not good for point or range queries R D0 D1 D2 t1 h(k1)=2 t1 t2 h(k2)=0 t2 t3 h(k3)=0 t3 t4 h(k4)=1 t4... Good for point queries on key; also for joins Not good for range queries; point queries not on key If hash function good, even distribution From H. Garcia Molina Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/ From H. Garcia Molina Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/8 8

Range partitioning Conclusion R D0 D1 D2 t1: A=5 partitioning t1 t2: A=8 vector t2 t3: A=2 4 t3 t4: A=3 V0 V1 t4... Good for some range queries on A Need to select good vector: else unbalance data skew execution skew Fragmentation Decomposition / reconstruction Queries & integrity constraints Horizontal simple / derived, vertical, hybrid Properties: reconstruction, completeness, disjunction Sharding Allocation / duplication Cost model Iterative approach From H. Garcia Molina Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/9 Distributed DBMS M. T. Özsu & P. Valduriez Ch.3/80 80 9