Distributed Data Management
|
|
|
- Eleanor Willis
- 9 years ago
- Views:
Transcription
1 Distributed Data Management Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2015/2016
2 Organization Weekly lecture Teacher: Eike Schallehn Weekly exercises with two alternative time slots Starting in the third week of the lecture period Teachers: Xiao Chen, Juliana Alves Pereira Written exam at the end of the semester (registration using HISQUIS system) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
3 Prerequisites Required: knowledge about database basics from database introduction course Basic principles, Relational Model, SQL, database design, ER Model Helpful: advanced knowledege about database internals Query processing, storage structures Helpful hands-on experience: SQL queries, DDL and DML Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
4 Overview 1 Foundations 2 Distributed DBMS: architectures, distribution, query processing, transaction management, replication 3 Parallel DBMS: architectures, query processing 4 Federated DBS: architectures, conflicts, integration, query processing 5 Peer-to-peer Data Management Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
5 English Literature /1 M. Tamer Özsu, P. Valduriez: Principles of Distributed Database Systems. Second Edition, Prentice Hall, Upper Saddle River, NJ, S. Ceri and G. Pelagatti: Distributed Databases Principles and Systems, McGraw Hill Book Company, C. T. Yu, W. Meng: Principles of Database Query Processing for Advanced Applications. Morgan Kaufmann Publishers, San Francisco, CA, Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
6 English Literature /2 Elmasri, R.; Navathe, S.: Fundamentals of Database Systems, Addison Wesley, 2003 C. Dye: Oracle Distributed Systems, O Reilly, Sebastopol, CA, D. Kossmann: The State of the Art in Distributed Query Processing, ACM Computing Surveys, Vol. 32, No. 4, 2000, S Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
7 German Literature P. Dadam: Verteilte Datenbanken und Client/Server-Systeme, Springer-Verlag, Berlin, Heidelberg E. Rahm: Mehrrechner-Datenbanksysteme. Addison-Wesley, Bonn, S. Conrad: Föderierte Datenbanksysteme: Konzepte der Datenintegration. Springer-Verlag, Berlin/Heidelberg, Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
8 Part I Introduction
9 Overview Motivation Recapitulation Classification of Multi-Processor DBMS Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
10 Centralized Data Management DBMS Application Application Application Data manipulation Data definition TXN management... New requirements Support for de-centralized organization structures High availability High performance Scalability Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
11 Data Management in a Network Node Node Network Node Node Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
12 Distributed Data Management Node Node Network Node Node Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
13 Distributed Data Management: Example Products Magdeburg, San Francisco Customers Magdeburg Magdeburg Products San Francisco, Sydney Customers San Francisco, Sydney San Francisco Network München Products München, Magdeburg, Sydney Customers München Sydney Products Sydney Customers Sydney Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
14 Advantages of Distributed DBMS Transparent management of distributed/replicated data Availability and fault tolerance Performance Scalability Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
15 Transparent Data Management Transparency: " hide" implementation details For (distributed) database systems Data independence (physical, logical) Network transparency " hide" existence of the network " hide" physical location of data To applications a distributed DBS looks just like a centralized DBS Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
16 Transparent Data Management/2 continued: Replication transparency Replication: managing copies of remote data (performance, availability, fault-tolerance) Hiding the existence of copies (e.g. during updates) Fragmentation transparency Fragmentation: decomposition of relations and distribution of resulting fragments Hiding decomposition of global relation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
17 Who provides Transparency? Application Different parts/modules of distributed application Communication / data exchange using standard protocols (RPC, CORBA, HTTP, SOAP,... ) DBMS Transparent SQL-access to data on remote DB-instances Requires query decomposition, transaction coordination, replication Operating system Operating systems provides network transparency e.g. on file system level (NFS) or through standard protocols (TCP/IP) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
18 Fault-Tolerance Failure of one single node can be compensated Requires Replicated copies on different nodes Distributed transactions Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
19 Performance Data can be stored, where they are most likely used reduction of transfer costs Parallel processing in distributed systems Inter-transaction-parallelism: parallel processing of different transactions Inter-query-parallelism: parallel processing of different queries Intra-query-parallelism: parallel of one or several operations within one query Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
20 Scalability Requirements raised by growing databases or necessary performance improvement Addition of new nodes/processors often cheaper than design of new system or complex tuning measures Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
21 Differentiation Distributed Information System Application components communicate for purpose of data exchange (distribution on application level) Distributed DBS Distribution solely realized on the DBS-level Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
22 Differentiation /2 DBMS on distributed file system All data must be read from blocks stored on different disks Processing is performed only within DBMS node (not distributed) Distribution handled by operating system Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
23 Special Case: Parallel DBS Data management on simultaneous computer (multi processor, special hardware) Processing capacities are used for performance improvement Example 100 GB relation, sequential read with 10 MB/s 17 minutes parallel read on 10 nodes (without considering coordination overhead) 1:40 minutes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
24 Special Case: Heterogeneous DBS Motivation: integration of previously existing DBS (legacy systems) Integrated access: global queries, relationships between data objects in different databases, global integrity Problems Heterogeneity on different levels: system, data model, schema, data Special importance on the WWW: integration of Web sources Mediator concept Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
25 Special Case: Peer-to-Peer-Systems Peer-to-Peer (P2P): networks without centralized servers All / many nodes (peers) store data Each node knows only some " close" neighbors No global view No centralized coordination Examples: Napster, Gnutella, Freenet, BitTorrent,... Distributed management of data (e.g. MP3-Files) Lookup using centralized servers (Napster) or distributed (Gnutella) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
26 Database Management Systems (DBMS) Nowadays commonly used to store huge amounts of data persistently, in collaborative scenarios, to fulfill high performance requirements, to fulfill high consistency requirements, as a basic component of information systems, to serve as a common IT infrastructure for departments of an organization or company. Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
27 Database Management Systems A database management system (DBMS) is a suite of computer programs designed to manage a database and run operations on the data requested by numerous clients. A database (DB) is an organized collection of data. A database system (DBS) is the concrete instance of a database managed by a database management system. Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
28 Codd s 9 Rules for DBMS /1 Differentiate DBMS from other systems managing data persistently, e.g. file systems 1 Integration: homogeneous, non-redundant management of data 2 Operations: means for accessing, creating, modifying, and deleting data 3 Catalog: the data description must be accessible as part of the database itself 4 User views: different users/applications must be able to have a different perception of the data Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
29 Codd s 9 Rules for DBMS /2 5 Integrity control: the systems must provide means to grant the consistency of data 6 Data security: the system must grant only authorized accesses 7 Transactions: multiple operations on data can be grouped into a logical unit 8 Synchronization: parallel accesses to the database are managed by the system 9 Data backups: the system provides functionality to grant long-term accessibility even in case of failures Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
30 3 Level Schema Architecture External Schema 1... External Schema N Conceptual Schema Query Processing Data Representation Internal Schema Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
31 3 Level Schema Architecture /2 Important concept of DBMS Provides transparency, i.e. non-visibility, of storage implementation details ease of use decreased application maintenance efforts conceptual foundation for standards portability Describes abstraction steps: Logical data independence Physical data independence Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
32 Data Independence Logical data independence: Changes to the logical schema level must not require a change to an application (external schema) based on the structure. Physical data independence: Changes to the physical schema level (how data is stored) must not require a change to the logical schema. Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
33 Architecture of a DBS Schema architecture roughly conforms to general architecture of a database systems Applications access database using specific views (external schema) The DBMS provides access for all applications using the logical schema The database is stored on secondary storage according to an internal schema Application 1... Application n DBMS Database Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
34 Client Server Architecture Schema architecture does not directly relate to client server architecture (communication/network architecture) Client 1... Client n Clients may run several applications DB Server Applications may run on several clients DB servers may be distributed... Database Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
35 The Relational Model Developed by Edgar F. Codd ( ) in 1970 Derived from mathematical model of n-ary relations Colloquial: data is organized as tables (relations) of records (n-tuples) with columns (attributes) Currently most commonly used database model Relational Database Management Systems (RDBMS) First prototype: IBM System R in 1974 Implemented as core of all major DBMS since late 70s: IBM DB2, Oracle, MS SQL Server, Informix, Sybase, MySQL, PostgreSQL, etc. Database model of the DBMS language standard SQL Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
36 Basic Constructs A relational database is a database that is structured according to the relational database model. It consists of a set of relations. Relation name Attributes R A1 An } Relation schema Tuple Relation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
37 Integrity Constraints Static integrity constraints describe valid tuples of a relation Primary key constraint Foreign key constraint (referential integrity) Value range constraints... In SQL additionally: uniqueness and not-null Transitional integrity constraints describe valid changes to a database Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
38 The Relational Algebra A relational algebra is a set of operations that are closed over relations. Each operation has one or more relations as input The output of each operation is a relation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
39 Relational Operations Primitive operations: Selection σ Projection π Cartesian product (cross product) Set union Set difference Rename β Non-primitive operations Natural Join θ-join and Equi-Join ϕ Semi-Join Outer-Joins = Set intersection... Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
40 Notation for Relations and Tuples If R denotes a relation schema (set of attributes), than the function r(r) denotes a relation conforming to that schema (set of tuples) R and r(r) are often erroneously used synonymously to denote a relation, assuming that for a given relation schema only one relation exists t(r) denotes a tuple conforming to a relation schema t(r.a) denotes an attribute value of a tuple for an attribute a R Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
41 The Selection Operation σ Select tuples based on predicate or complex condition PROJECT PNAME PNUMBER PLOCATION DNUM ProductX 1 Bellaire 5 ProductY 2 Sugarland 5 ProductZ 3 Houston 5 Computerization 10 Stafford 4 Reorganization 20 Houston 1 Newbenefits 30 Stafford 4 σ PLOCATION= Stafford (r(project )) PNAME PNUMBER PLOCATION DNUM Computerization 10 Stafford 4 Newbenefits 30 Stafford 4 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
42 The Projection Operation π Project to set of attributes - remove duplicates if necessary PROJECT PNAME PNUMBER PLOCATION DNUM ProductX 1 Bellaire 5 ProductY 2 Sugarland 5 ProductZ 3 Houston 5 Computerization 10 Stafford 4 Reorganization 20 Houston 1 Newbenefits 30 Stafford 4 π PLOCATION,DNUM (r(project )) PLOCATION DNUM Bellaire 5 Sugarland 5 Houston 5 Stafford 4 Houston 1 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
43 Cartesian or cross product Create all possible combinations of tuples from the two input relations R A B S C D E r(r) r(s) A B C D E Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
44 Set: Union, Intersection, Difference All require compatible schemas: attribute names and domains Union: duplicate entries are removed Intersection and Difference: as possible result Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
45 The Natural Join Operation Combine tuples from two relations r(r) and r(s) where for all attributes a = R S (defined in both relations) is t(r.a) = t(s.a). Basic operation for following key relationships If there are no common attributes result is Cartesian product R S = = r(r) r(s) = r(r) r(s) Can be expressed as combination of π, σ and r(r) r(s) = π R S (σ a R S t(r.a)=t(s.a) (r(r) r(s))) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
46 The Natural Join Operation /2 R A B S B C D r(r) r(s) A B C D Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
47 The Semi-Join Operation Results all tuples from one relation having a (natural) join partner in the other relation r(r) r(s) = π R (r(r) r(s)) PERSON PID NAME 1273 Dylan 2244 Cohen 3456 Reed CAR PID BRAND 1273 Cadillac 1273 VW Beetle 3456 Stutz Bearcat r(person) r(car) PID NAME 1273 Dylan 3456 Reed Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
48 Other Join Operations Conditional join: join condition ϕ is explicitly specified r(r) ϕ r(s) = σ ϕ (r(r) r(s)) θ-join: special conditional join, where ϕ is a single predicate of the form aθb with a R, b S, and θ {=,, >, <,,,... } Equi-Join: special θ-join where θ is =. (Left or Right) Outer Join: union of natural join result and tuples from the left or right input relation which could not be joined (requires NULL-values to grant compatible schemas). Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
49 Relational Database Management Systems A Relational Database Management System (RDBMS) is a database management system implementing the relational database model. Today, most relational DBMS implement the SQL database model There are some significant differences between the relational model and SQL (duplicate rows, tuple order significant, anonymous column names, etc.) Most distributed and parallel DBMS have a relational (SQL) data model Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
50 SQL Data Model Said to implement relational database model Defines own terms Table name Columns R A1 An Some significant differences exist } Table head Row Table Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
51 Structured Query Language Structured Query Language (SQL): declarative language to describe requested query results Realizes relational operations (with the mentioned discrepancies) Basic form: SELECT-FROM-WHERE-block (SFW) SELECT FNAME, LNAME, MGRSTARTDATE FROM EMPLOYEE, DEPARTMENT WHERE SSN=MGRSSN Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
52 SQL: Selection σ σ DNO=5 SALARY >30000 (r(employee)) SELECT * FROM EMPLOYEE WHERE DNO=5 AND SALARY>30000 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
53 SQL: Projection π π LNAME,FNAME (r(employee)) SELECT LNAME,FNAME FROM EMPLOYEE Difference to RM: does not remove duplicates Requires additional DISTINCT SELECT DISTINCT LNAME,FNAME FROM EMPLOYEE Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
54 SQL: Cartesian Product r(employee) r(project ) SELECT * FROM EMPLOYEE, PROJECT Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
55 SQL: Natural Join r(department ) r(department _LOCATIONS) SELECT * FROM DEPARTMENT NATURAL JOIN DEPARTMEN_LOCATIONS Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
56 SQL: Equi-Join r(employee) SSN=MGRSSN r(department ) SELECT * FROM EMPLOYEE, DEPARTMENT WHERE SSN=MGRSSN Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
57 SQL: Union r(r) r(s) SELECT * FROM R UNION SELECT * FROM S Other set operations: INTERSECT, MINUS Does remove duplicates (in compliance with RM) If duplicates required: SELECT * FROM R UNION ALL SELECT * FROM S Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
58 SQL: Other Features SQL provides several features not in the relational algebra Grouping And Aggregation Functions, e.g. SUM, AVG, COUNT,... Sorting SELECT PLOCATION, AVG(HOURS) FROM EMPLOYEE, WORKS_ON, PROJECT WHERE SSN=ESSN AND PNO=PNUMBER GROUP BY PLOCATION HAVING COUNT(*) > 1 ORDER BY PLOCATION Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
59 SQL DDL Data Definition Language to create, modify, and delete schema objects CREATE DROP ALTER TABLE mytable ( id INT,...) DROP TABLE... ALTER TABLE... CREATE VIEW myview AS SELECT... DROP VIEW... CREATE INDEX... DROP INDEX Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
60 Simple Integrity Constraints CREATE TABLE employee( ssn INTEGER, lname VARCHAR2(20) NOT NULL, dno INTEGER,... FOREIGN KEY (dno) REFERENCES department(dnumber), PRIMARY KEY (ssn) ) Additionally: triggers, explicit value domains,... Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
61 SQL DML Data Manipulation Language to create, modify, and delete tuples INSERT INTO (<COLUMNS>) mytable VALUES (...) INSERT INTO (<COLUMNS>) mytable SELECT... UPDATE mytable SET... WHERE... DELETE FROM mytable WHERE... Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
62 Other Parts of SQL Data Control Language (DCL): GRANT, REVOKE Transaction management: START TRANSACTION, COMMIT, ROLLBACK Stored procedures and imperative programming concepts Cursor definition and management Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
63 Transactions Sequence of database operations Read and write operations In SQL sequence of INSERT, UPDATE, DELETE, SELECT statements Build a semantic unit, e.g. transfer of an amount from one bank account to another Has to conform to ACID properties Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
64 Transactions: ACID Properties Atomicity means that a transaction can not be interrupted or performed only partially TXN is performed in its entirety or not at all Consistency to preserve data integrity A TXN starts from a consistent database state and ends with a consistent database state Isolation Result of a TXN must be independent of other possibly running parallel TXNs Durability or persistence After a TXN finished successfully (from the user s view) its results must be in the database and the effect can not be reversed Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
65 Functional Dependencies A functional dependency (FD) X Y within a relation between sets r(r) of attributes X R and Y R exists, if for each tuple the values of X determine the values for Y i.e. t 1, t 2 r(r) : t 1 (X) = t 2 (X) t 1 (Y ) = t 2 (Y ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
66 Derivation Rules for FDs R 1 Reflexivity if X Y = X Y R 2 Accumulation {X Y } = XZ YZ R 3 Transitivity {X Y, Y Z } = X Z R 4 Decomposition {X YZ } = X Y R 5 Unification {X Y, X Z } = X YZ R 6 Pseudotransitivity {X Y, WY Z } = WX Z R 1 -R 3 known as Armstrong-Axioms (sound, complete) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
67 Normal Forms Formal criteria to force schemas to be free of redundancy First Normal Form (1NF) allows only atomic attribute values i.e. all attribute values ar of basic data types like integer or string but not further structured like e.g. an array or a set of values Second Normal Form (2NF) avoids partial dependencies A partial dependency exist, if a non-key attribute is functionally dependent on a real subset of the primary key of the relation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
68 Normal Forms /2 Third Normal Form (3NF) avoids transitive dependencies Disallows functional dependencies between non-key attributes Boyce-Codd-Normal Form (BCNF) disallows transitive dependencies also for primary key attributes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
69 Multi-Processor DBMS In general: DBMS which are able to use multiple processors or DBMS-instances to process database operations [Rahm 94] Can be classified according to different criteria Processors with same or different functionality Access to external storage Spatial distribution Processor connection Integrated vs. federated architecture Homogeneous vs. heterogeneous architecture Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
70 Criterion: Processor Functionality Assumption: each processor provides the same functionality Classification [Rahm94] Multi Processor DBMS External Storage shared partitioned Spatial Distribution local local distributed Processor Connection tight close loose (close) loose loose Shared Everything Shared Disk Shared Nothing Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
71 Criterion: Access to External Storage Partitioned access External storage is divided among processors/nodes Each processor has only access to local storage Accessing different partitions requires communication Shared access Each processor has access to full database Requires synchronisation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
72 Criterion: Spatial Distribution Locally distributed: DB-Cluster Fast inter-processor communication Fault-tolerance Dynamic load balancing possible Little administration efforts Application: parallel DBMS, solutions for high availabilty Remotely distributed: distributed DBS in WAN scenarios Support for distributed organization structures Fault-tolerant (even to major catastrophes) Application: distributed DBS Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
73 Criterion: Processor Connection Tight connection Processors share main memory Efficient co-operation Load-balancing by means of operating system Problems: Fault-tolerance, cache coherence, limited number of processors ( 20) Parallel multi-processor DBMS Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
74 Criterion: Processor Connection /2 Loose connection: Independent nodes with own main memory and DBMS instances Advantages: failure isolation, scalability Problems: expensive network communication, costly DB operations, load balancing Close connection: Mix of the above In addition to own main memory there is connection via shared memory Managed by operating system Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
75 Class: Shared-Everything Shared Main Memory DBMS Buffer CPU Cache CPU Cache CPU Cache Shared Hard Disks Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
76 Class: Shared-Everything /2 Simple realization of DBMS Distribution transparency provided by operating system Expensive synchronization Extended implementation of query processing Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
77 Class: Shared-Nothing Main Memory Main Memory Main Memory DBMS Buffer DBMS Buffer DBMS Buffer CPU Cache CPU Cache CPU Cache Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
78 Class: Shared-Nothing /2 Distribution of DB across various nodes Distributed/parallel execution plans TXN management across participating nodes Management of catalog and replicas Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
79 Class: Shared-Disk Highspeed Communication Main Memory Main Memory Main Memory DBMS Buffer DBMS Buffer DBMS Puffer CPU Cache CPU Cache CPU Cache gemeinsame Festplatten Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
80 Class: Shared-Disk /2 Avoids physical data distribution No distributed TXNs and query processing Requires buffer invalidation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
81 Criterion: Integrated vs. Federated DBS Integrated: Shared database for all nodes one conceptual schema High distribution transparency: access to distributed DB via local DBMS Requires co-operation of DBMS nodes restricted autonomy Federated: Nodes with own DB and own conceptual schema Requires schema integration global conceptual schema High degree of autonomy of nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
82 Criterion: Integrated vs. Federates DBS /2 Multi Processor DBS Shared Disk Shared Nothing integrated integrated federated homogeneous homogeneous homogeneous heterogeneous Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
83 Criterion: Centralized vs. De-centralized Coordination Centralized: Each node has global view on database (directly of via master) Central coordinator: initiator of query/transaction knows all participating nodes Provides typical DBS properties (ACID, result completeness, etc.) Applications: distributed and parallel DBS Limited availability, fault-tolerance, scalabilty Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
84 Criterion: Centralized vs. De-centralized Coordination /2 De-centralized: No global view on schema peer knows only neighbors Autonomous peers; global behavior depends on local interaction Can not provide typical DBMS properties Application: P2P systems Advantages: availability, fault-tolerance, scalabilty Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
85 Comparison Parallel Distributed Federated DBS DBS DBS High TXN rates Intra-TXN-Parallelism Scalability Availability Geogr. Distribution Node Autonomy DBS-Heterogeneity Administration Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
86 Part II Distributed DBS Architecture
87 Overview Foundations of DDBS Catalog Management DDBS Design: Fragmentation Allocation and Replication Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
88 Architecture & Data Distribution DBMS Instance Node Node Network Node Node Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
89 Dimensions Heterogeneity Centralized DBS Client/Server DBS Autonomy Distributed DBS Distribution Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
90 12 Rules for DDBMS by Date 1 Local Autonomy Component system have maximal control over own data, local access does not require access to other components 2 No reliance on central site Local components can perform independently of central component 3 Continuous operation/high availability Overall system performs despite local interrupt 4 Location transparency User of overall system should not be aware of physical storage location Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
91 12 Rules for DDBMS by Date /2 5 Fragmentation transparency If data of one relation is fragmented, user should not be aware of this 6 Replication transparency User should not be aware of redundant copies of data Management and redundancy is controlled by DBMS 7 Distributed query processing Efficient access to data stored on different sites within one DB operation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
92 12 Rules for DDBMS by Date /3 8 Distributed Transaction Management ACID properties must persist for distributed operations 9 Hardware independence Component DB processing on different hardware platforms 10 Operating system independence Component DB processing on different OS 11 Network independence DB processing using different network protocols 12 DBMS independence (ideal) Usage of different DBMS possible Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
93 Schema Architecture External Schema 1... External Schema N Global Conceptual Schema (GCS) Global Distribution schema (GDS) Local Conceptual Schema 1 (LCS) Local Internal Schema 1 (LIS) Local Conceptual Schema 2 (LCS) Local Internal Schema 2 (LIS)... Local Conceptual Schema M (LCS) Local Internal Schema M (LIS) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
94 Schema Architecture /2 Global conzeptual schema (GCS) Logical structure of overall DB Supported by all nodes Ensures transparency Global distribution schema (GDS) Describes fragmentation, replication, allocation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
95 System Architecture Global Query Processing Global Recovery Global Catalog Management Global Transaction Management Replica Management Global Synchronisation global Component "normal DBMS" local Component Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
96 Catalog Management Catalog: collection of metadata (schema, statistics, access rights, etc.) Local catalog Identical to catalog of a centralized DBS consistes of LIS and LCS Global ctalaog Also contains GCS and GDS System-wide management of users and access rights Storage Local catalog: on each node Global catalog: centralized, replicated, or partitioned Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
97 Global Catalog /1 Centralized: one instance of global catalog managed by central node Advantages: only one update operation required, litte space consumption Disadvantages: request for each query, potential bottleneck, critical ressource Replicated: full copy of global catalog stored on each node Advantage: low communication overhead during queries, availabilty Disadvantage: high overhead for updates Mix- form: cluster-catalog with centralized catalog for certain clusters of nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
98 Global Catalog /2 Partitioned: (relevant) part of the catalog is stored on each node No explicit GCS union of LCS Partitioned GDS by extend object (relations, etc.) names (see System R*) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
99 Coherency Control Idea: buffer for non-local parts of the catalog Avoids frequent remote accesses for often used parts of the catalog Problem: invalidation of buffered copies after updates Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
100 Coherency Control /2 Approaches Explicit invalidation: Owner of catalog data keeps list of copy sites After an update these nodes are informed of invalidation Implicit invalidation: Identification of invalid catalog data during processing time using version numbers or timestamps (see System R*) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
101 DB Object Name Management Task: identification of relations, views, procedures, etc. Typical schema object names in RDBMS: [<username>.]<objectname> Requirement global uniqueness in DDBS Name Server approach: management of names in centralized catalog Hierarchic Naming: enrich object name with node name [[<nodename>.]<username>.]<objectname> Node name: birth site (or simplification via alias) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
102 Name Management: Node Types global Name Birth site Catalog site Store site Store site Store site Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
103 Catalog Management in System R* Birth site Prefix of the relation name Knows about storage sites Query processing Executing node gets catalog entry of relevant relation Catalog entry is buffered for later accesses Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
104 Catalog Management in System R* /2 Query processing (continued) Partial query plans include time stamp of catalog entry Node processing partial query checks whether catalog time stamp is still current In case of failure: buffer invalidation, re-set query and new query translation according to current schema Summary: Advantage: high degree of autinomy, user-controlled invalidation of buffered catalog data, good performance Disadvantage: no uniform realization of global views Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
105 Database Distribution In Shared-Nothing-Systems (DDBS): definition of physical distribution of data Impact: Communication efforts overall performance Load balancing Availability Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
106 Bottom Up vs. Top Down Bottom Up Subsumption of local conceptual schemata (LCS) into global conceptual schema (GCS) Integration of existing DB schema integration (Federated DBS) Top Down GCS of local DB designed first Distribution of schema to different nodes Distribution Design Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
107 Distribution Design Tasks R1 R1 R2.1 Node 1 R2 R3 Node 2 R3 R4.1 R4 R2.2 Node 3 R4.2 global Relation R Fragments Allocations Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
108 Fragmentation Granularity of distribution: relation Operations on one relation can always be performed on one node Simplifies integrity control Granularity of distribution: fragments of relations Grants locality of access Load balancing Reduced processing costs for operations performed only on part of the data Parallel processing Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
109 Fragmentation /2 Approach: Column- or tuple-wise decomposition (vertical/horizontal) Described using relational algebra expressions (queries) Important rules/requirements Completeness Reconstructability Disjointness Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
110 Example Database MEMBER MNo MName Position M1 Ian Curtis SW Developer M2 Levon Helm Analyst M3 Tom Verlaine SW Developer M4 Moe Tucker Manager M5 David Berman HW-Developer PROJECT PNr PName Budget Loc P1 DB Development MD P2 Hardware Dev M P3 Web-Design MD P4 Customizing B ASSIGNMENT MNr PNr Capacity M1 P1 5 M2 P4 4 M2 P1 6 M3 P4 3 M4 P1 4 M4 P3 5 M5 P2 7 SALARY Position YSalary SW Developer HW-Developer Analyst Manager Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
111 Primary Horizontal Fragmentation " Tupel-wise" decomposition of a global relation R into n fragments R i Defined by n selection predicates P i on attributes from R P i : fragmentation predicates R i := σ Pi (R) (1 i n) Completeness: each tuple from R must be assigned to a fragment Disjointness: decomposition into disjoint fragments R i R j = (1 i, j n, i j), Reconstructability: R = 1 i n R i Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
112 Primary Horizontal Fragmentation /2 Example: fragmentation of PROJECT by predicate on location attribute " Loc" PROJECT 1 = σ Loc= M (PROJECT) PROJECT 2 = σ Loc= B (PROJECT) PROJECT 3 = σ Loc= MD (PROJECT) PROJECT 1 PNr PName Budget Loc P2 Hardware Dev M PROJECT 3 PNr PName Budget Loc P1 DB Development MD P3 Web-Design MD PROJECT 2 PNr PName Budget Loc P4 Customizing B Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
113 Derived Horizontal Fragmentation Fragmentation definition of relation S derived from existing horizontal fragmentation of relation R Using foreign key relationships Relation R with n fragments R i Decomposition of depending relation S P i defined only on R S i = S R i = S σ Pi (R) = π S.* (S σ Pi (R)) Reconstructability: see above Disjointness: implied by disjointness of R-fragments Completeness: granted for lossless semi-join (no null-values for foreign key in S) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
114 Derived Horizontal Fragmentation /2 Fragmentation of relation ASSIGNMENT derived from fragmentation of PROJECT relation ASSIGNMENT 1 = ASSIGNMENT PROJECT 1 ASSIGNMENT 2 = ASSIGNMENT PROJECT 2 ASSIGNMENT 3 = ASSIGNMENT PROJECT 3 ASSIGNMENT 1 MNr PNr Capacity M5 P2 7 ASSIGNMENT 2 MNr PNr Capacity M2 P4 4 M3 P4 3 ASSIGNMENT 3 MNr PNr Capacity M1 P1 5 M2 P1 6 M4 P1 4 M4 P3 5 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
115 Vertical Fragmentation Comlumn-wise decomposition of a relation using relational projection Completeness: each attribute must be in at least one fragment Reconstructability: through natural join primary key of global relation must be in each fragment Limited disjointness R i := π K,Ai,...,A j (R) R = R 1 R 2 R n Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
116 Vertical Fragmentation /2 Fragmentation of PROJECT-Relation regarding Budget and project name / location PROJECT 1 = π PNr, PName, Loc (PROJECT) PROJECT 2 = π PNr, Budget (PROJECT) PROJECT 1 PNr PName Loc P1 DB Development MD P2 Hardware Dev. M P3 Web-Design MD P4 Customizing B PROJECT 2 PNr Budget P P P P Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
117 Hybrid Fragmentation Fragment of a relation is relation itself Can be subject of further fragmentation Also possible: combination of horizontal and vertical fragmentation PROJECT PROJECT 1 =π PNr, PName, Loc (PROJECT) PROJECT 2 =π PNr, Budget (PROJECT) PROJECT 1,1 =σ Loc= M (PROJECT 1 ) PROJECT 2,1 =σ Loc= B (PROJECT 1 ) PROJECT 3,1 =σ Loc= MD (PROJECT 1 ) horizontal vertical PROJECT1 PROJECT2 PROJECT PROJECT PROJECT 1,1 1,2 1,3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
118 Fragmentation transparency Decomposition of a relation is for user/application not visble Only view on global relation Requires mapping of DB operations to fragments by DDBMS Example Transparent: select * from Project where PNr=P1 Without transparency: select * from Project1 where PNr=P1 if not-found then select * from Project2 where PNr=P1 if not-found then select * from Project3 where PNr=P1 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
119 Fragmentation transparency /2 Example (continued) Transparent: update Project set Ort= B where PNr=P3 Without transparency: select PNr, PName, Budget into :PNr, :PName, :Budget from Project3 where PNr=P3 insert into Project2 values (:PNr, :PName, :Budget, B ) delete from Project3 where PNr=P3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
120 Computation of an optimal Fragmentation In huge systems with many relations/nodes: intuitive decomposition often too complex/not possible In this case: systematic process based on access characteristics Kind of access (read/write) Frequency Relations / attributes Predicates in queries Transfer volume and times Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
121 Optimal horizontal Fragmentation Based on [Özsu/Valduriez 99] and [Dadam 96] Given: relation R(A 1,..., A n ), operator θ {<,, >,, =, }, Domain dom(a i ) Definition: simple predicate p i of the form A j θ const with const dom(a j ) Defines possible binary fragmentation of R Example: PROJECT 1 = PROJECT 2 = σ Budget> (PROJECT) σ Budget (PROJECT) Definition: Minterm m is conjunction of simple predicates as m = p 1 p 2 p j with p i = p i oder p i = p i Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
122 Optimal horizontal Fragmentation /2 Definition: Set M n (P) of all n-ary Minterms for the set P of simple predicates: n M n (P) = {m m = pi, p i P} i=1 Defines complete fragmentation of R without redundancies R = σ m(r) m M n(p) σ mi σ mj =, m i, m j M n(p), m i m j Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
123 Optimal horizontal Fragmentation /3 Completeness and no redundancy not sufficient: P = { Budget < , Budget > , Ort = MD, Ort = B } Minterm p 1 p 2 p 3 p 4 not satisfiable; but p 1 p 2 p 3 p 4 Identification of practically relevant Minterms M(P) 1 M(P) := M n (P) 2 Remove irrelevant Minterms from M(P) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
124 Elimination of irrelevant Minterms 1 Elimination of unsatisfiable Minterms If two terms p i and p j in one m M(P) contradict, m is not satisfiable and can be removed from M(P). 2 Elimination of dependent predicates If a p i from m M(P) implies another term p j (e.g. functional dependency, overlapping domains), p j can be removed from m. 3 Relevance of a fragmentation Minterms m i and m j, m i contains p i, m j contains p i Access statistics: acc(m) (e.g. derived from query log) Fragment size: card(f ) (derived from data distribution statistics) pi is relevant, if acc(m i ) card(f i ) acc(m j ) card(f j ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
125 Algorithm HORIZFRAGMENT Identification of a complete, non-redundant and minimal horizontal fragmentation of a relation R for a given set of predicates P Input: P: set of predicates over R (Intermediate) Results: M(P): set of relevant Minterms F(P): set of Minterm-fragments from R R(m) := σ m (R) with m M(P) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
126 Algorithm HORIZFRAGMENT forall p P do Q := Q {p} compute M(Q ) and F(Q ) compare F(Q ) with F(Q) if F(Q ) significant improvement over F (Q) then Q := Q forall q Q \ {p} do /* unnecessary Fragmentation? */ Q := Q \ {q} compute M(Q ) and F(Q ) compare F(Q ) with F(Q) if F(Q) no significant improvement over F(Q ) then Q := Q /* d.h., remove q from Q */ end end end Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
127 Allocation and Replication Allocation Assignment of relations or fragments to physical storage location Non-redundant: fragments are stored in only one place partitioned DB Redundant: fragments can be stored more than once replicated DB Replication Storage of redundant copies of fragments or relations Full: Each global relation stored on every node (no distribution design, no distributed query processing, high costs for storage and updates) Partial: Fragments are stored on selected nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
128 Allocation and Replication /2 Aspects of allocation Efficiency: Minimization of costs for remote accesses Avoidance of bottlenecks Data security: Selection of nodes depending on their " reliability" Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
129 Identification of an optimal Allocation Cost model for non-redundant allocation [Dadam 96] Goal: Minimize storage and transfer costs Storage + Transfer for K fragments and L nodes Storage costs: Storage = p,i S p D pi SC i Sp : Size of fragment p in data units SCi : StorageCosts per data unit on node i D pi : Distribution of fragment with D pi = 1 if p stored on node i, 0 otherwise Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
130 Identification of an optimal Allocation /2 Transfer costs: Transfer = F it O tp D pj TC ij + F it R tp D pj TC ji i,t,p,j i,t,p,j Fit : Frequency of operation of type t on node i Otp : Size of operation t for fragment p in data units (e.g. size of query string) TC ij : TransferCosts from node i to j in data units Rtp : Size o the result of one operation of type t on fragment p Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
131 Identification of an optimal Allocation /3 Additional constraints: D pi = 1 for p = 1,..., K i S p D pi M i p for p = i,..., L where M i is max. storage capacity on node i Integer optimization problem Often heuristic solution possible: Identify relevant candidate distributions Compute costs and compare candidates Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
132 Identification of an optimal Allocation /4 Cost model for redundant replication Additional constraints slightly modified: D pi 1 for p = 1,..., K i S p D pi M i p ffr p = i,..., L Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
133 Identification of an optimal Allocation /5 Transfer costs Read operations on p send from node i to j with minimal TCij and D pj = 1 Update operations on p send to all nodes j with D pj = 1 Φt : of an operation (in case of update) or min (in case of read operation) ransfer = F it Φ t (O tp TC ij + R tp TC ji ) T j:d i,t,p pj =1 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
134 Evaluation of Approaches Model considering broad spectrum of applications Exact computation possible But: High computation efforts (optimization problem) Exact input values are hard to obtain Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
135 Part III Distributed DBS Query Processing
136 Overview Overview Data Localization Join Processing Global Optimization Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
137 Overview Goal of query processing: creation of an efficient as possible query plans from a declarative query Transformation to internal format (Calculus Algebra) Selection of access paths (indexes) and algorithms (e.g. Merge-Join vs. Nested-Loops-Join) Cost-based selection of best possible plan In Distributed DBS: User view: no difference queries are formulated on global schema/external views Query processing: Consideration of physical distribution of data Consideration of communication costs Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
138 Phases of Query Processing Global Query Porcessing Global Query Global Schema Distribution Schema Global Statistics Query Transformation Algebra Expression Data Localization Fragement Expression Global Optimization Local Query Processing Global Schema Local Optimization Globally optimized Fragment Expression Locally optimized Query Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
139 Phases of Query Processing /2 Query transformation Translation of SQL to internal representation (Relational Algebra) Name resolution: object names internal names (catalog) Semantic analysis: verification of global relations and attributes, view expansion, global access control Normalization: transformation to canonical format Algebraic optimization: improve " efficiency" of algebra expression Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
140 Phases of Query Processing /3 Data localization: Identification of nodes with fragments of used relations (from distribution schema) Global optimization: Selection of least expensive query plan Consideration of costs (execution and communication, cardinalities of intermediate results) Determination of execution order and place Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
141 Phases of Query Processing /4 Local optimization Optimization of fragment query on each node Using local catalog data (statistics) Usage of index structures Cost-based selection of locally optimal plan Code-generation Map query plan to executable code Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
142 Query Transformation Global Query Syntax Analysis (Parsing) Name Resolution Query Transformation Semantic Analysis Algebr. Optimization Data Localization Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
143 Translation to Relational Algebra select A1,..., Am from R1, R2,..., Rn where F Initial relational algebra expression: π A1,...,A m (σ F (r(r 1 ) r(r 2 ) r(r 3 ) r(r n ))) Improve algebra expression: Detect joins to replace Cartesian products Resolution of subqueries (not exists-queries to set difference) Consider SQL-operations not in relational algebra: (group by, order by, arithmetics,... ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
144 Normalization Transform query to unified canonical format to s implify following optimization steps Special importance: selection and join conditions (from where-clause) Conjunctive normal form vs. disjunctive normal form Conjunktive normal form (CNF) for basic predicates pij : (p 11 p 12 p 1n ) (p m1 p m2 p mn ) Disjunctive normal form (DNF): (p 11 p 12 p 1n ) (p m1 p m2 p mn ) Transformation according to equivalence rules for logical operations Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
145 Normalization /2 Equivalence rules p1 p 2 p 2 p 1 und p 1 p 2 p 2 p 1 p 1 (p 2 p 3 ) (p 1 p 2 ) p 3 und p 1 (p 2 p 3 ) (p 1 p 2 ) p 3 p1 (p 2 p 3 ) (p 1 p2) (p 1 p 3 ) und p 1 (p 2 p 3 ) (p 1 p2) (p 1 p 3 ) (p1 p 2 ) p 1 p 2 und (p 1 p 2 ) p 1 p 2 ( p1 ) p 1 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
146 Normalization: Example Query: select * from Project P, Assignment A where P.PNr = A.PNr and Budget > and (Loc = MD or Loc = B ) Selection condition in CNF: P.PNr = A.PNr Budget > (Loc = MD Loc = B ) Selection condition in DNF: (P.PNr = A.PNr Budget > Loc = MD ) (P.PNr = A.PNr Budget > Loc = B ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
147 Phases of Optimization Optimization Algebra Expression Logical Optimization Physical Optimization Optimized Algebra Expression Possible Access Plans Cost based Optimization Best Access Plan Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
148 Algebraic Optimization Term replacement based on semantic equivalences Directed replacement rules to improve processing of expression Heuristic approach: Move operation to get smaller intermediate results Indentify and remove redundancies Result: improved algebraic express operator tree initial query plan Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
149 Algebraic Rules Operators σ and commute, if selection attribute from one relation: σ F (r 1 r 2 ) σ F (r 1 ) r 2 falls attr(f ) R 1 If selection condition can be split, such that F = F 1 F 2 contain predicates on attributes in only one relation, respectively: σ F (r 1 r 2 ) σ F1 (r 1 ) σ F2 (r 2 ) if attr(f 1 ) R 1 and attr(f 2 ) R 2 Always: decompose to F 1 with attributes from R 1, if F 2 contains attributes from R 1 and R 2 : σ F (r 1 r 2 ) σ F2 (σ F1 (r 1 ) r 2 ) if attr(f 1 ) R 1 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
150 Algebraic Rules /2 Combination of conditions of σ is identical to logical conjunction operations can change their order σ F1 (σ F2 (r 1 )) σ F1 F 2 (r 1 ) σ F2 (σ F1 (r 1 )) (uses commutativity of logic AND) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
151 Algebraic Rules /3 Operator is commutative: r 1 r 2 r 2 r 1 Operator is associative: (r 1 r 2 ) r 3 r 1 (r 2 r 3 ) Domination of sequence of π operators: π X (π Y (r 1 )) π X (r 1 ) π and σ are commutative in some cases: σ F (π X (r 1 )) π X (σ F (r 1 )) if attr(f) X π X1 (σ F (π X1 X 2 (r 1 ))) π X1 (σ F (r 1 )) if attr(f) X 2 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
152 Algebraic Rules /4 Commutation of σ and : σ F (r 1 r 2 ) σ F (r 1 ) σ F (r 2 ) Commutation of σ and with other set operation and Commutation of π and partially possible: join attributes must be kept and later removed (nevertheless decreases intermediate result size) Commutation of π und Distributivity for set operations Idempotent expressions, e.g. r 1 r 1 = r 1 and r 1 r 1 = r1 Operations with empty relations, e.g. r 1 = r 1 Commutativity of set operations... Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
153 Algebraic Optimization: Example select * from Procekt P, Assignment A where P.PNr = A.PNr and Capacity > 5 and (Loc = MD or Loc = B ) σ Capacity > 5 ( Loc= MD Loc= B) >< Project >< Assignment σ Loc = MD Loc= B Project σ Capacity>5 Assignment Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
154 Data Localization Task: create fragment queries based on data distribution Replace global relation with fragments Insert reconstruction expression using fragments of global relation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
155 Data Localization Phase Query Transformation Data Localization Resolution of Fragments of global Relations Algebr. Optimization Physical Optimization Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
156 Data Localization: Example I Schema: PROJ 1 = σ Budget (PROJEKT) PROJ 2 = σ <Budget (PROJECT) PROJ 3 = σ Budget> (PROJECT) PROJECT = PROJ 1 PROJ 2 PROJ 3 Query: σ Loc= MD Budget (PROJECT) = σ Loc= MD Budget (PROJ 1 PROJ 2 PROJ 3 ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
157 Data Localization /2 Requirement: further simplification of query Goal: eliminate queries on fragments not used in query Example: pushing down σ to fragments σ Loc= MD Budget (PROJ 1 PROJ 2 PROJ 3 ) because of: σ Budget (PROJ 2 ) =, σ Budget (PROJ 3 ) = = σ Loc= MD (σ Budget (PROJ 1 )) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
158 Data Localization /3 For horizontal fragmentation Also possible simplification of join processing Push down join if fragmentation on join attribute Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
159 Data Localization: Example II Schema: M 1 = σ MNr< M3 (MEMBER) M 2 = σ M3 MNr< M5 (MEMBER) M 3 = σ MNr M5 (MEMBER) Z 1 = σ MNr< M3 (ASSIGNMENT) Z 2 = σ MNr M3 (ASSIGNMENT) Query: ASSIGNMENT MEMBER = (M 1 M 2 M 3 ) ( Z 1 Z 2 ) = (M 1 Z 1 ) (M 2 Z 2 ) ( M 3 Z 2 ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
160 Data Localization /4 Vertical fragmentation: reduction by pushing down projections Example: PROJ 1 = π PNr,PName,Loc (PROJECT) PROJ 2 = π PNr,Budget (PROJECT) PROJECT = PROJ 1 PROJ 2 Query: π PName (PROJECT) = π PName (PROJ 1 PROJ 2 ) = π PName (PROJ 1 ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
161 Qualified Relations Descriptive information to support algebraic optimization Annotation of fragments and intermediate results with content condition (combination of predicates that are satisfied here) Estimation of size of relation If r = Q(r), then r inherits condition from r, plus additional predicates from Q Qualification condition q R : [R : q R ] Extended relational algebra: σ F [R : q R ] Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
162 Extended Relational Algebra (1) E := σ F [R : q R ] [E : F q R ] (2) E := π A [R : q R ] [E : q R ] (3) E := [R : q R ] [S : q S ] [E : q R q S ] (4) E := [R : q R ] [S : q S ] [E : q R ] (5) E := [R : q R ] [S : q S ] [E : q R q S ] (6) E := [R : q R ] F [S : q S ] [E : q R q S F] Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
163 Extended Relational Algebra /2 Usage of rules for description no processing Example: σ Budget (PROJECT) E 1 = σ Budget [PROJ 1 : Budget ] [E 1 : ( Budget ) (Budget )] [E 1 : Budget ] E 2 = σ 1000 Budget [PROJ 2 : < Budget ] [E 2 : ( Budget ) ( < Budget )] [E 2 : < Budget ] E 3 = σ Budget [PROJ 3 : Budget > ] [E 3 : ( Budget ) (Budget > )] E 3 = Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
164 Join Processing Join operations: Common task in relational DBS, very expensive ( O(n 2 )) In distributed DBS: join of nodes stored on different nodes Simple strategy: process join on one node Ship whole: transfer the full relation beforehand Fetch as needed: request tuples for join one at a time Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
165 " Fetch as needed " vs. " Ship whole" R A B S B C D R S A B C D Strategy #Messages #Values SW at R-node 2 18 SW at S-node 2 14 SW at 3. node 4 32 FAN at S-node 6 2 = = 10 FAN at R-node 7 2 = = 13 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
166 Join Processing /2 Comparison: " Fetch as needed" with higher number of messages, useful for small left hand-side relation (e.g. restricted by previous selection) " Ship whole" with higher data volume, useful for smaller right hand-side (transferred) relation Specific algorithms for both: Nested-Loop Join Sort-Merge Join Semi-Join Bit Vector-Join Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
167 Nested-Loop Join Nested loop over all tuples t 1 r and all t 2 s for operation r s for each t r r do begin for each t s s do begin if ϕ(t r, t s ) then put(t r t s ) endif end end r ϕ s: Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
168 Sort Merge-Join X := R S; if not yet sorted, first sort r and s on join attributes X 1 t r (X) < t s (X), read next t r r 2 t r (X) > t s (X), read next t s s 3 t r (X) = t s (X), join t r with t s and all subsequent tuples to t s equal regarding X with t s 4 Repeat for the first t s s with t s(x) t s (X) starting with original t s and following t r of t r until t r (X) = t r (X) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
169 Sort Merge-Join: Costs Worst case: all tuples with identical X-values: O(n r n s ) X keys of R or S: O(n r log n r + n s log n s ) If relations are already sorted (e.g. index on join attributes, often the case): O(n r + n s ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
170 Semi-Join Idea: request join partner tuples in one step to minimize message overhead (combines advantages of SW and FAN) Based on: r s = r (s r) = r (s π A (r)) (A is set of join attributes) Procedure: 1 Node N r : computation of π A (r) and transfer to N s 2 Node N s : computation of s = s π A (r) = s r and transfer to N r 3 Node N r : computation of r s = r s Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
171 Semi-Join: Example Q B R A R A R D A 3 6 B 4 8 R Node S Node S C S C 3 6 S C 3 6 Q C 3 6 D 1 7 D 1 7 D 1 7 R S A Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
172 Bit Vector-Join Bit Vector or Hash Filter-Join Idea: minimize request size (semi-join) by mapping join attribute values to bit vector B[1... n] Mapping: Hash function h maps values to buckets 1... n If value exists in bucket according bit is set to 1 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
173 Bit Vector-Join /2 Procedure: 1 Node N r : for each value v in π A (r) set according bit in B[h(v)] and transfer bit vector B to N s 2 Node N s : compute s = {t s B[h(t.A)] is set } and transfer to N r 3 Node N r : compute r s = r s Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
174 Bit Vector-Join /3 Comparison: Decreased size of request message compared to semi-join Hash-mapping not injective only potential join partners in bit vector sufficiently great n and suitable hash function h required Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
175 Bit Vector-Join: Example Q B R A 3 6 B 4 8 D S C C h(c) C D S C D S h(t.a(r)) R Node S Node Q C 3 6 ( ) h(v)=v mod 7 Hit D 1 7 A Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
176 Global Optimization Task: selection of most cost-efficient plan from set of possible query plans Prerequisite: knowledge about Fragmentation Fragment and relation sizes Value ranges and distributions Cost of operations/algorithms In Distributed DBS often details for nodes not known: Existing indexes, storage organization,... Decision about usage is task of local optimization Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
177 Cost-based optimization: Overview Query Generate the Search Space Transformation Rules Equivalent Plans Search Strategy Cost Model Best Plan Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
178 Optimization: Search Space Search space: set of all equivalent query plans Generated by transformation rules: Algebraic rules with no preferred direction, e.g. join commutativity and associativity (join trees) Assignment of operation implementation/algorithm, e.g. distributed join processing Assignment of operations to nodes Constraining the search space Heuristics (like algebraic optimization) Usage of " preferred" query plans (e.g. pre-defined join trees) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
179 Optimization: Join Trees C D A B A B C D Left deep trees or right deep trees join order as nested structure/loops, all inner nodes (operations) have at least one input relation Bushy trees better potential for parallel processing, but higher optimization efforts required (greater number of possible alternatives) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
180 Optimization: Search Strategy Traversing the search space and selection of best plan based on cost model: Variants: Which plans are considered: full or partial traversal In which order are the alternatives evaluated Deterministic: systematic generation of plans as bottom up construction, simple plans for access to base relations are combined to full plans, grants best plan, computationally complex (e.g. dynamic programming) Random-based: create initial query plan (e.g. with greedy strategy or heuristics) and improve these by randomly creating " neighbors", e.g. exchanging operation algorithm or processing location or join order, less expensive (e.g. genetic algorithms) but does not grant best plan Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
181 Cost Model Allows comparison/evaluation of query plans Components Cost function Estimation of costs for operation processing Database statistics Data about relation sizes, value ranges and distribution Formulas Estimation of sizes of intermediate results (input for operations) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
182 Cost Functions Total time Sum of all time components for all nodes / transfers T total =T CPU #insts + T I/O #I/Os+ T MSG #msgs + T TR #bytes Communication time: CT (#bytes) = T MSG + T TR #bytes Coefficients characteristic for Distributed DBS: WAN: communication time (T MSG, T TR ) dominates LAN: also local costs (TCPU, T I/O ) relevant Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
183 Cost Functions /2 Response time Timespan from initiation of query until availability of full results T total =T CPU seq_#insts + T I/O seq_#i/os+ T MSG seq_#msgs + T TR seq_#bytes With seq_#x is maximum number x that must be performed sequentially Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
184 Total Time vs. Response Time Node 3 x Data Units y Data Units Node 1 Node 2 T total = 2T MSG + T TR (x + y) T response = max{t MSG + T TR x, T MSG + T TR y} Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
185 Database statistics Main factor for costs: size of intermediate results Estimation of sizes based on statistics For relation R with attributes A 1,..., A n and fragments R 1,..., R f Attribute size: length(ai ) (in Byte) Number of distinct values of A i for each fragment R j : val(a i, R j ) Min and max attribute values: min(a i ) and max(a i ) Cardinality of value domain of Ai : card(dom(a i )) Number of tuples in each fragment: card(rj ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
186 Cardinality of Intermediate Results Estimation often based on following simplifications Independence of different attributes Equal distribution of attribute values Selectivity factor SF: Ratio of result tuples vs. input relation tuples Example: σf (R) returns 10% of tuples from R SF= 0.1 Size of an intermediate relation: size(r) = card(r) length(r) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
187 Cardinality of Selections Cardinality card(σ F (R)) = SF S (F ) card(r) SF depends on selection condition with predicates p(a i ) and constants v SF S (A = v) = SF S (A > v) = SF S (A < v) = 1 val(a, R) max(a) v max(a) min(a) v max(a) max(a) min(a) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
188 Cardinality of Selections /2 SF S (p(a i ) p(a j )) = SF S (p(a i )) SF S (p(a j )) SF S (p(a i ) p(a j )) = SF S (p(a i )) + SF S (p(a j )) (SF S (p(a i )) SF S (p(a j ))) SF S (A {v 1,..., v n }) = SF S (A = v) card({v 1,..., v n }) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
189 Cardinality of Projections Without duplicate elimination card(π A (R)) = card(r) With duplicate elimination (for non-key attributes A) card(π A (R)) = val(a, R) With duplicate elimination (a key is subset of attributes in A) card(π A (R)) = card(r) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
190 Cardinality of Joins Cartesian products card(r S) = card(r) card(s) Join Upper bound: cardinality of Cartesian product Better estimation for foreign key relationships S.B R.A: card(r A=B S) = card(s) Selectivity factor SF J from database statistics card(r S) = SF J card(r) card(s) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
191 Cardinality of Semi-joins Operation R A S Selectivity factor for attribute A from relation S: SF SJ (S.A) Cardinality: SF SJ (R A S) = val(a, S) card(dom(a)) card(r A S) = SF SJ (S.A) card(r) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
192 Cardinality of Set Operations Union R S Lower bound: max{card(r), card(s)} Upper bound: card(r) + card(s) Set difference R S Lower bound: 0 Upper bound: card(r) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
193 Example Fragmentation: PROJECT = PROJECT 1 PROJECT 2 PROJECT 3 Query: Statistics: σ Budget> (PROJECT) card(project 1 ) = 3.500, card(project 2 ) = 4.000, card(project 3 ) = length(project) = 30 min(budget) = , max(budget) = TMSG = 0.3s T TR = 1/1000s Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
194 Example: Query Plans Variant 1: σ Budget> (PROJECT 1 PROJECT 2 PROJECT 3 ) Variant 2: σ Budget> (PROJECT 1 ) σ Budget> (PROJECT 2 ) σ Budget> (PROJECT 3 ) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
195 Join Order in DDBS Huge influence on overall performance General rule: avoid Cartesian products where possible Join order for 2 relations R S if size(r) < size(s) R S if size(r) > size (S) Join order for 3 relations R A S B T K 2 S A B K 1 R T K 3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
196 Join Order in DDBS /2 (cont.) Possible strategies: 1 R N 2 ; N 2 computes R := R S; R N 3 ; N 3 computes R T 2 S N 1 ; N 1 computes R := R S; R N 3 ; N 3 computes R T 3 S N 3 ; N 3 computes S := S T ; S N 1 ; N 1 computes S R 4 T N 2 ; N 2 computes T := T S; T N 1 ; N 1 computes T R 5 R N 2 ; T N 2 ; N 2 computes R S T Decision based on size of relations and intermediate results Possible utilization of parallelism in variant 5 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
197 Utilization of Semi-Joins Consideration of semi-join-based strategies Relations R at node N 1 and S at node N 2 Possible strategies R A S 1 (R A S) A S 2 R A (S A R) 3 (R A S) A (S A R) Comparison R A S vs. (R A S) A S) for size(r) < size(s) Costs for R A S: transfer of R to N 2 T TR size(r) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
198 Utilization of Semi-Joins /2 Processing of semi-join variant 1 π A (S) N 2 2 At node N 2 : computation of R := R A S 3 R N 1 4 At node N 1 : computation of R A S Costs: costs for step 1 + costs for step 2 T TR size(π A (S)) + T TR size(r A S) Accordingly: semi-join is better strategy if size(π A (S)) + size(r A S) < size(r) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
199 Summary: Global Optimization in DDBS Extension of centralized optimization regarding distribution aspects Location of processing Semi Join vs. Join Fragmentation Total time vs. response time Consideration of additional cost factors like transfer time and number of message messages Current system implementations very different regarding which aspects are considered or not Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
200 Part IV Distributed DBS - Transaction Processing
201 Overview Foundations Distributed TXN Processing Transaction Deadlocks Transactional Replication Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
202 Foundations of TXN Management A Transaction is a sequence of operations which represent a semantic unit and transfer a database from one consistent state to another consistent state adhering to the ACID-principle. Aspects: Semantic integrity: consistent state must be reached after transaction, no matter if it succeeded or failed Process integrity: avoid failures due to concurrent parallel access by multiple users/transactions Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
203 Transactions: ACID Properties Atomicity means that a transaction can not be interrupted or performed only partially TXN is performed in its entirety or not at all Consistency to preserve data integrity A TXN starts from a consistent database state and ends with a consistent database state Isolation Result of a TXN must be independent of other possibly running parallel TXNs Durability or persistence After a TXN finished successfully (from the user s view) its results must be in the database and the effect can not be reversed Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
204 Commands of a TXN Language Begin of Transaction BOT (in SQL implicated by first statement) commit: TXN ends successfully abort: TXN must be aborted during processing Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
205 Problems with Processing Integrity Parallel accesses in multi-user DBMS can lead to the following problems Non-repeatable reads Dirty reads The phantom problem Lost updates Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
206 Non-repeatable Read Example: Assertion: X = A + B + C at the end of txn T 1 X and Y are local variables T i is txn i Integrity constraint on persistent data A + B + C = 0 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
207 Non-repeatable Read /2 T 1 T 2 X := A; Y := A/2; A := Y ; C := C + Y ; commit; X := X + B; X := X + C; commit; Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
208 Dirty Read T 1 T 2 read(x); X := X + 100; write(x); read(x); Y := Y + X; write(y ); commit; abort; Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
209 The Phantom Problem T 1 T 2 select count (*) into X from Employee; insert into Employee values (Meier, 50000, ); commit; update Employee set Salary = Salary /X; commit; Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
210 Lost Update T 1 T 2 X read(x); 10 read(x); 10 X := X + 1; 10 X := X + 1; 10 write(x); 11 write(x); 11 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
211 Simplified TXN Model Representation of (abstract) data object (values, tuples, pages) access read(a,x): assign value of DB object A to variable x write(x, A): assign value of x to DB object A Example of a txn T : read(a, x); x := x 200; write(x, A); read(b, y); y := y + 100; write(y, B);commit Schedules: possible processing of two txns T 1, T 2 : Serial schedule: T 1 before T 2 or T 2 before T 1 Intertwined schedule: mixed execution of operations from both txns Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
212 Serializability An intertwined schedule of a number of transactions is called serializable, if the effect of the intertwined schedule is identical to the effect of any of the possible serial schedules. The intertwined schedule is then called correct and equivalent to the serial schedule. Practical approaches for deciding about serializabilty most often only considering read/write operations and their conflicts Conflict Serializability Considering other operations requires analysis of operations semantics Rules out subset of serializable schedules which are hard to detect Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
213 Conflicting Operations T 1 T 2 read A read A independent of order T 1 T 2 read A write A dependent on order T 1 T 2 write A read A depent on order T 1 T 2 write A write A dependent on order Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
214 Conflict Serializability A schedule s is called conflict-serializable, if the order of all pairs of conflicting operations is equivalent to the order of any serial schedule s for the same transactions. Tested using conflict graph G(s) = (V, E) of schedule s: 1 Vertex set V contains all txns of s 2 Edge set E contains an edge for each pair of conflicting operations In serial schedules s there can no cycles, i.e. if a cycle exists the schedule s can not be equivalent to a serial schedule and must be rejected. Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
215 Conflict Serializability: Example /1 T 1 T 2 T 3 r(y) w(y) w(x) r(y) w(x) w(z) r(u) w(x) s = r 1 (y)r 3 (u)r 2 (y)w 1 (y)w 1 (x)w 2 (x)w 2 (z)w 3 (x) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
216 Conflict Serializability: Example /2 G(s): T 1 T 2 T 3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
217 Transaction Synchronization 1 Most common practical solution: Locking Protocols TXNs get temporarily exclusive access to DB object (tuple, page, etc.) DBMS manages temporary locks Locking protocol grants cnflict serializabilty without further tests 2 In distributed DBMS also: timestamp-based protocols Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
218 Locking Protocols Read and write locks using the following notation: rl(x): read lock on object x wl(x): write lock on object x Unlock ru(x) and wu(x), often combined u(x) unlock object x Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
219 Locks: Compatibility Matrix For basic locks rl i (x) wl i (x) rl j (x) wl j (x) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
220 2-Phase-Locking Protocol #Locks 2PL Lock Acquisition Lock Release Time Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
221 2-Phase-Locking: Example T 1 T 2 u(x) wl(x) wl(y) wl(y).. u(x) u(y) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
222 Strict 2-Phase-Locking Current practice in most DBMS: #Locks S2PL Lock Acquisition Atomic Release Phase Time Avoids cascading aborts! Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
223 Conservative 2-Phase-Locking To avoid Deadlocks: #Locks C2PL #Locks CS2PL Release Phase Time Time Acquisition Phase Acquisition Phase Release Phase Most often not practical! Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
224 Distributed TXN Processing In DDBS one TXN can run on multiple nodes Distributed synchronization required for parallel TXNs required Commit as atomic event same result on all nodes Deadlocks (blocking/blocked TXNs) harder to detect Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
225 Structure of Distributed TXNs T 1 Primary TXN Perfomed on coordinator node T 2 T 3 T 4 T 5 T 6 T 7 Sub TXNs Performed on other nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
226 Distributed Synchronization One central node for lock management: Dedicated node becomes bottleneck Low node autonomy High number of messages for lock acquisition/release Distributed lock management on all nodes: Possible, if data (relations, fragments) is stored non-redundantly Special strategies for replicated data Disadvantage: deadlocks are hard to detect Latter, i.e. distributed S2PL, is state-of-the-art Alternative: Timestamp-based Synchronisation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
227 Timestamp-based Synchronization Unique timestamps are sequentially assigned to TXNs For each data object (tuple, page, etc.) x two values are stored: max-r-scheduled[x]: timestamp of last TXN performing a read operation on x max-w-scheduled[x]: timestamp of last TXN performing a write operation on x Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
228 Timestamp-Ordering An operation p i [x] can be performed before a conflicting operation q k [x] iff ts(t i ) < ts(t k ). Otherwise, q k [x] must be rejected. T 1 T 2 T 3 A B C mrs mws mrs mws mrs mws ts = 200 ts = 150 ts = read B read A read C write B write A write C abort Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
229 Distributed Commit Synchronization provides Consistency and Isolation Commit Protocol provides Atomicity and Durability Requirements in DDBS: All participating nodes of one TXN with same result (Commit, Abort) Commit only if all nodes vote " yes" Abort if at least one node votes " no" X/open XA standard for 2-Phase-Commit Protocol (used in DBMS, request brokers, application servers, etc.) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
230 2-Phase-Commit Protocol (2PC) Roles: 1 coordinator, several other participants Procedure: 1 Commit Request Phase 1 Coordinator queries all participants, if Commit can be executed 2 Participants send their local reply message, if they agree with the commit 2 Commit Phase 1 Coordinator decides globally: (all messages Commit Global-Commit; at least one Abort Global-Abort 2 Participants which voted " yes" have to wait for final result Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
231 2PC: Procedure /1 Coordinator Participant INITIAL INITIAL Prepare To Commit Write begin_commit to Log Vote Abort Write abort to Log No Ready to commit? Yes WAIT Vote Commit Write ready to Log All agreed? No Write abort to Log Global Abort READY Yes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
232 2PC: Procedure /2 Write abort to Log All agreed? Yes No Write abort to Log Global Commit Global Abort READY Write commit to Log Unilateral Abort Abort Global Decission? Commit COMMIT ABORT ACK Write abort to Log Write EOT to Log ACK Write commit to Log ABORT COMMIT Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
233 3-Phase-Commit Protocol (3PC) Possible problem with 2PC: if coordinator fails while other participants are in READY state, these may block indefinitely Solution: Intermediate PRE-COMMIT phase added, so that a certain number K (system parameter) of other participants know about possible positive result Timeout values to avoid blocking: if communication timed out an no other node is in PRE-COMMIT state, TXN must abort Disadvantagees 3PC has increased message number Still problematic in case of network partitioning Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
234 Transaction Deadlocks T1: Update of T1: Lock Request Account A1 Account A2 Lock Conflict Lock Conflict T2: Lock Request to Account A1 T2: Update of Account A2 Node #1 Node #2 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
235 Dealing with TXN Deadlocks Deadlock Prevention: Implement TXN management in a way that makes deadlocks impossible, e.g. lock pre-claiming in Conservative 2PL Most often not practical or efficient Deadlock Avoidance: TXN management reacts to possible deadlock situations, e.g. timeout for lock requests Easy to implement, but overly restrictive and not always efficient Deadlock Detection and Resolution: TXM management detects deadlocks, e.g. using TXN Wait graphs Efficient, but harder to implement - especially for DDBMS Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
236 Deadlock Avoidance: Timeouts Reset TXN if waiting time for lock acquisition exceeds pre-defined threshold Problem: setting the timeout threshold Too short: unnecessary aborts Too long: system throughput declines Timeout threshold specific for certain applications (typical TXN running times must be considered) Implemented in most commercial systems Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
237 Deadlock Avoidance: Timestamp-based Alternative: consider unique TXN timestamps assigned to each TXN with BOT Avoid deadlocks in case of lock conflict considering timestamp: In case of conflict only the younger TXN (Wound/Wait) older TXN (Wait/Die) will continue Can be combined with timeout (before timestamp check) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
238 Deadlock Detection Common approach Protocol each lock conflict in wait graph (nodes are TXNs, directed edge T 1 T 2 means that T 1 waits for a lock held by T 2 Deadlocks exist iff there is a cycle in the wait graph Lock request leads to lock conflict insert new edge in wait graph check for cycles containing new edge Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
239 Deadlock Resolution Wait graph: New Lock Conflict Resolution choosing one TXN to abort upon following criteria Number of resolved cycles Age of TXN Effort to rollback TXN Priority of TXN,... Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
240 Centralized Deadlock Detection Wait graph stored on one dedicated node Decrease number of messages by sending frequent bundles of collected lock waits Problems: Late detection of deadlocks Phantom-Deadlocks Limited availability and node autonomy Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
241 Distributed Deadlock Detection Avoids dependency on global node Hard to realize: cycles can exist across different nodes wait graph information needs to be exchanged between nodes Obermarck-Verfahren (System R*) Each node with its own deadlock detector Detector manages local wait graph + dependencies on locks of external transactions: one special node EX represents external transactions Local deadlocks (not involving EX node) can be detected locally Cycle including EX node may hint at distributed deadlock: cycle sub-graph is sent to node which created local cycle and possibly further to other involved nodes, until EX is resolved and decision can be made Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
242 Distributed Wait Graphs Node #1 Node #2 Node #1 Node #2 T 1 T 5 T 5 T 4 T 1 T 5 T 5 T4 EX EX T2 T 3 T2 T 3 EX T 2 T3 T 2 T3 Node #3 Node #3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
243 Motivation for Replication redundant Storage of data pro contra efficient read accesses increased availability increased update efforts increased storage requirements Replication transparency DDBMS manages updates on redundant data Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
244 Transactional Replication Data integrity must be granted across replicas 1-Copy-Equivalence and 1-Copy-Serializability Problems to be solved: How to efficiently update the copies? How to handle failures (single nodes, network fragmentation)? How to synchronize concurrent updates? Approaches ROWA Primary Copy Consensus approaches Others: Snapshot-, Epidemic, and Lazy Replication Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
245 ROWA Synchronization " Read One Write All" one logial read operation one physical read operation on any copy (" read one" ), where read access can be performed most efficiently (local or closest copy) one logical write operation physical write operations on all copies (" write all" ) Equivalent to " normal" transaction synchronization: all updates within one transaction context Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
246 ROWA: Evaluation Advantages Approach is part of normal TXN processing Easy to implement Grants full consistency (1-Copy-Serializability) Efficient local read operations Disadvantages Updates dependent on availabilty of all nodes storing replicated data Longer run-time of update TXNs decreased throughput and availabilty Deadlocks more likely Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
247 Primary-Copy Replication Also: Master-Slave Replication First implemented in Distributed INGRES (Stonebraker 1979) Basic principle Designation of a primary (master) copy (" original version" ); all secondary (slave) copies are derived from that original All updates must first be performed on primary copy (lock relevant data objects, perform update, release locks) In case of successful update, primary copy forwards updates asychronously to all secondary copies in separate TXNs Read operations are performed locally Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
248 Primary-Copy: Example Secondary copies get changes from update queue (FIFO) consistency with primary copy In case of failure of secondary node, queue is processed when node is restarted T1: Update Tuple #1 + Commit Copy #2 Copy #1 Primary Copy T2: Lock Tuple #2 Copy #3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
249 Primary-Copy: Example Secondary copies get changes from update queue (FIFO) consistency with primary copy In case of failure of secondary node, queue is processed when node is restarted T1: Update Tuple #1 + Commit Copy #2 T2: Tuple #2 locked Copy #1 Primary Copy Copy #3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
250 Primary-Copy: Example Secondary copies get changes from update queue (FIFO) consistency with primary copy In case of failure of secondary node, queue is processed when node is restarted Copy #2 Copy #1 Primary Copy T2: Update Tuple #2 + Commit Copy #3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
251 Primary-Copy: Example Secondary copies get changes from update queue (FIFO) consistency with primary copy In case of failure of secondary node, queue is processed when node is restarted T2: Update + Commit executed Copy #2 Copy #1 Primary Copy T2: Update Tuple #2 + Commit Copy #3 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
252 Primary-Copy: Evaluation Advantages compared to ROWA No dependence on availability of all secondary nodes Better throughput, less conflicts Failure of primary copy one of the secondary copies can become primary copy Disadvantages Read consistency not granted Often acceptable, because state of secondary copies is consistent regarding previous point in time (" snapshot semantics" ) Read-consistency can be implemented by requesting read locks from primary copy decreases advantage of local reads Network fragmentation: cut-off subnet without primary copy can not continue, though it may have greater number of nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
253 Consensus Approaches To avoid problems in case of network fragmentation and dependence on one centralized node Basic idea: update can be processed, if a node gets necessary if majority of nodes with copies agree Based on voting - overall number of possible votes: quorum Q Required number of votes for read operations: read quorum Q R Required number of votes for update operations: update quorum Q U Quorum-Overlap-Rules: grants 1-Copy-Serializablity 1 Q R + Q U > Q 2 Q U + Q U > Q Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
254 Consensus Approaches: Alternatives Weighted vs. equal votes Equal votes: each node has a vote with weight = 1 Weighted votes: nodes get assigned different weight, allows decreased message number by first asking nodes great weight Static vs. dynamic voting Static: QR and Q U do not change Dynamic: Q R and Q U are adjusted to new Q in case of node failures or network fragmentation Tree Quorum Nodes are hierarchically structured and separate quorums are defined for each level Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
255 Majority Consensus " Origin" of all consensus approaches: equal votes and static Works in case of node failures and network fragmentation Supports synchronization based on timestamps (without locks) Basic principles: Communication along logical ring of nodes request and decisions are passed on from node to node Quorum-Rules grant consistency in case of concurrent conflicting operations With equal votes: QU > Q/2, i.e. majority of nodes in ring has to agree to operation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
256 Majority Consensus: Procedure 1 Origin node of operation/txn performs update locally and passes on changed objects with update timestamp to next node in ring 2 Other nodes vote reject, if there is a timestamp conflict abort message is sent back to previous nodes, TXN is restarted at origin node okay, if there is no conflict, request is marked pending until final decision pass, if there is no timestamp conflict but a conflict with a concurrent update which is also pending 3 Last node which votes okay and by that satisfies quorum rule passes on commit to all nodes (backward and forward), update is propagated to all further nodes, pending updates are finalized on all previous nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
257 Data Patches Problem: resolution of inconsistencies after node failures/ network fragmentation Idea: application-specific rules designed during database design individual rules for each relation Rules: Tuple insert rules: to add new tuples (keep, remove, notify, program) Tuple integration rules: merge values of independently changed tuples with the same key (latest, primary, arithmetic,notify, program) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
258 Snapshot Replication Snapshots: define (remote) materialized view on master-table Similar to primary copy, but also allows operations (filters, projection, aggregation, etc.) as part of view definition Synchronization of view by explicit refresh (manual or frequent) Handling of updates: Read-only snapshots: updates only on master table Updateable views: requires conflict resolution with master table (e.g. by rules, triggers) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
259 Epidemic Replication Updates possible on every node Asynchronous forwarding of updates to " neighbours" using version information (timestamps) E.g. possible with Lotus Notes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
260 Lazy Replication Updates on all nodes possibles Each node can start separate TXNs to perform updates on other nodes asynchronously Requires (application-specific) conflict resolution strategies Works in mobile scenarios, where node can connect/disconnect to/from the network Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
261 Part V Parallel DBS
262 Overview Foundations Parallel Query Processing Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
263 Foundations Parallel Database Systems (PDBS): DB-Processing on Parallel Hardware Architectures Goal: performance improvement by using parallel processors General overview of approaches: Inter-TXN parallelization : simultaneous execution of independent parallel txns improved throughput Intra-TXN parallelization : simultaneous execution processing of operations within one txn improved response time Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
264 Speedup Speedup: Measure for performance improvement of a IT system through optimization For parallelization: Response Time (RT) speedup by using n processors RT Speedup(n) = RT for sequential processing with 1 processor RT for parallel processing on n Processors According to Amdahl s Law optimization improvement limited by fraction 0 F opt 1 of operations which can be optimized by parallelized execution RT Speedup = 1 (1 F opt ) + F opt Speedup opt Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
265 Speedup Speedup furthermore limited by Overhead for coordination and communication for parallel execution Interferences between parallel executions through shared ressource and locks response time depending on slowest execution thread (non-equal distribution is called Skew: Processing Skew and Data Skew) Speedup limitation: there is a limit number n max of processors form where on more processors do not improve performance or performance even declines Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
266 Scaleup Speedup: increase processor number to improve response time for same problem size Scaleup: linear growth of number of processors with growing problem size (e.g. more users, more data, etc.) Response Time Scaleup: Ratio of the Reponse Time for n processors and n times DB size compared to original problem with 1 processor Goal: Response Time Scaleup = 1 Throughput Scaleup: Ratio of TXN using n Prozessoren compared to solution with 1 processor Goal: Throughput Scaleup = n Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
267 Architectures of PDBMS Shared Everything Typical architecture: DBMS support for multi-processor computers Ideal for Response Time Speedup Shared Disk DBMS support for tightly connected (e.g. fast network) nodes with shared disk access Good for Response Time and Scalabilty Requires: synchronization of disk accesses Shared Nothing Connected nodes with their own disks Ideal for Scalability Requires thoughtful data fragmentation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
268 Fragmentation in PDBMS Goal: use of horizontal fragmentation to avoid data skew Perform part of operation on equal size fragments Less data skew less processing skew optimal parallel execution optimal speedup Fixed or dynamic assignment of processors to fragments possible Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
269 Fragmentation in PDBMS /2 Approaches: Range-based Fragmentation: Assignment of tuples to disk based on pre-defined or dynamic range specifications for relation attributes Complex task to define ranges that minimize data and processing skew Hash-based Fragmentation: Assignment of tuples to disk based on hash function on relation attributes More overhead for range queries Round Robin Fragmentation: Assignment of tuples to disk upon creation: record i is assigned to disk (i mod M) + 1 for M disks Avoids skew, but no support for exact match or range queries Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
270 Fragmentation in PDBMS / range round robin hash Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
271 Parallel Query Processing Intra-Query Parallelization Intra-Operation Parallelization Unary operations (Selection, Projection, Aggregation) Sorting Joins Processor Allocation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
272 Intra-Query Parallelization Independent Parallelization Parallel execution of independent parts of a query, e.g. multi-way joins, seperate execution threads below a union, etc. Pipelining Parallelization Pipelining: processed data is considered as a data stream through sequence of operations (path from base relation to top of query plan tree) Operations are executed by different processors with incoming data from processor handling lower operations in the query plan Intra-Operator Parallelization Parallel processing of parts of one operation, e.g. selections from fragments, hash-based problem decomposition for join operations, etc. Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
273 Independent Parallelization Data P1 Operation 1 Data P2 Operation 2... Composition Result Data Pn Operation n Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
274 Pipelining Parallelization P1 P2 Pn.. Data Operation 1 Operation 2 Operation n Result Data Streams Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
275 Intra-Operator Parallelization P1 Operation Data Splitter P2 Operation... Merger Result Pn Operation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
276 Parallelization of unary Operations Selection: r = r i σ P (r) = σ P (r i ) i i Projection without duplicate elimination: dito Duplicate elimination: using sorting ( ) Aggregate functions: min(r.attr) = min(min(r1.attr),..., min(r n.attr)) max(r.attr) = max(max(r1.attr),..., max(r n.attr)) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
277 Parallelization of Unary Operations /2 Aggregate functions (if no duplicate elimination necessary): count(r.attr) = count(r i.attr) i sum(r.attr) = i sum(r i.attr) avg(r.attr) = sum(r.attr) / count(r.attr) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
278 Parallel Sorting Classification regarding number of in- and output streams: 1:1, 1:many, many:1, many:many Requirements for (?:many): Partial result on each node is sorted Complete final result can be achieved by simple concatenation of partial results (no further merging necessary) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
279 Parallel Binary Merge Sort Many:1 approach Processing: Phase 1: fragements are sorted locally on each node (Quicksort, External Merge Sort) Phase 2: merging two partial results on one node at a time until all intermediate results are merged in one final result Merging can also be performed in parallel and even be pipelined Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
280 Parallel Binary Merge Sort /2 P : 3,6 1 P : 1,4 2 P : 2,3 3 P : 3,6 4 P : 1,5 5 P : 1,7 6 P : 2,8 7 P : 4,9 8 P : 1,3,4,6 1 P : 2,3,3,6 3 P : 1,1,5,7 5 P : 2,4,8,9 7 P : 1,2,3,3,3,4,6,6 2 P : 1,1,2,4,5,7,8,9 6 P : 1,1,1,2,2,3,3,3,4,4,5,6,6,7,8,9 4 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
281 Block Bitonic Sort Many:many-approach applying fixed number of processors (e.g. those managing a fragmented relation) 2 Phases 1 Sort-Split-Ship (a) Sort fragments on each node locally (b) Split sorted fragments in two parts of equal size every value in one (lower) sub-fragment every value in the other (higher) sub-fragment (c) Ship sub-fragments to other nodes according to predefined scheme Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
282 Block Bitonic Sort /2 2 2-Way-Merge Split (a) On arrival of two fragments: 2-Way-Merge to get one sorted fragment (b) Split and ship fragments according to 1(b) until (1) every node P i has a sorted fragment and (2) every value in fragment at P i every value in fragment at P j for i j Key point is shipping scheme, which is fixed for a certain number of nodes n (see following example) Number of necessary steps: 1 2 log 2n(log 2n + 1) for n nodes Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
283 Block Bitonic Sort /3 P : 3,4,1,6 1 P L: 1,3 1 P L: 1,3 1 P L: 1,2 1 P L: 1,2 1 P L: 1,2 1 P H: 4,6 H: 3,6 H: 3,3 H: 8,9 H: 2,3 1 L: 1,1 H: 1,2 P : 6,3,2,3 2 P : 1,7,1,5 3 P : 2,8,4,9 4 P H: 3,6 2 P L: 2,3 2 P L: 3,4 2 P L: 3,3 2 P L: 1,1 2 P L: 2,3 H: 4,6 H: 6,6 H: 5,7 H: 3,3 2 P H: 5,7 3 P H: 5,7 3 P H: 8,9 3 P L: 2,3 3 P L: 4,4 3 P L: 1,1 L: 2,4 L: 5,7 H: 4,4 H: 8,9 3 P L: 2,4 4 P H: 8,9 4 P H: 2,4 4 P L: 1,1 4 P L: 5,6 4 P H: 8,9 L: 1,1 L: 1,1 H: 6,6 H: 6,7 4 L: 2,3 H: 3,3 L: 4,4 H: 5,6 L: 6,7 H: 8,9 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
284 Parallel Join-Processing Join-Processing on Multiple Processors supported by 2 main approaches Dynamic Replication Replication (transfer) of the smaller relation r toeach join node Local execution of partial joins on each processor Full result by union of partial results Dynamic Partitioning Partition tupels to (ideal) same size partitions on each node Distribution: hash function h or range partitioning Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
285 Dynamic Replication 1 Assumption: relations S and R are fragmented and stored accross several nodes 2 Coordinator: initiate join on all nodes R i (join nodes) and S j (data nodes) (i = 1... n, j = 1... m) 3 Scan Phase: parallel on each S-node: read and transfer s j to each R i 4 Join-Phase: parallel on each R-node with partition r i : s := sj Compure ti := r i s send ti to coordinator 5 Coordinator: receive and merge all t i (union) Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
286 Dynamic Replication /2 r 1 r 2 r n Join-Knoten (R-Knoten) S-Datenknoten s 1 s m Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
287 Dynamic Partitioning 1 Coordinator: initiate joins on all R, S and (possibly separate) join nodes 2 Scan Phase parallel on each R-node: read and transfer each tuple of r i to resonsible join node parallel on eachs-node: read and transfer each tuple of s i to resonsible join node 3 Responsibel node is computed by hash or range function avoid or handle skew Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
288 Dynamic Partitioning /2 3 Join Phase: parallel on each join node k(k = 1... p) r k := r ik (set of r-tuples received at node k) s k := s ik (set of r-tuples received at node k) compute t k := r k s k transfer t k to coordinator 4 Coordinator: receive and merge t k Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
289 Dynamische Partitionierung /3 Join-Knoten r 1 r 2 r n s 1 s m R-Datenknoten S-Datenknoten Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
290 Multi-Way-Joins Variants considered: left and right-deep trees D C C B A B A D Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
291 Multi-Way-Joins /2 Assumption: single join is executed as a Hash Join consisting of 2 pahse ½ Ƚ ̽ (1) Build Phase: build hash table for first join relation (2) Probe-Phase: check whether there are join partners from second relation Dependency: probe phase can only start after build phase has finished ˽ ˼ Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
292 Multi-Way-Joins /3 Right Deep Trees Perform build phases in parallel for all joins by independent execution Perform probe phases in parallel by pipelined execution Left Deep Trees Perform build phase of each join in parallel with probe phase of previous join by pipelined execution Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
293 Join: Right Deep Tree Ò ÈÒ ÌÒ ËÒ ¾ Ⱦ ˾ ½ Ƚ ˽ ̾ ˼ ̽ Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
294 Join: Left Deep Tree ˼ ½ Ƚ ¾ Ⱦ ̽ ˽ ˾ ̾ Ò ÈÒ ËÒ ÌÒ Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
295 Multi-Way-Joins /4 Problem: multi-way-join processing with high requirements regarding memory, e.g. for hash tables Solution: Scheduling of joins, e.g. breaking up deep trees to process only part of the join that fits in memory Static or dynamic decission about segmentation Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
296 Processor Allocation Assignment of operations (for now, join operations) to processors 2-Phase Optimization 1 Find a optimal plan based on costs 2 Assign execution order and processor allocation 1-Phase Optimization perform both tasks as one step (part of query optimization) Relevant aspects Dependencies between operations: e.g. consider join order to avoid waiting Number of processors per join: increasing number does not yield linear improvement of processing time because of initialisation and merging, which can not be parallelized Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
297 Processor Allocation /2 Thresholds for number of processors: minimal response time point T t, Execution efficiency point T e response time $T_e$ Execution efficiency for n processors $T_t$ # processors Execution efficiency = Response time for 1 processor n Response time for n processors Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
298 Processor Allocation: Strategies Strategy 1: sequential execution of the joins with T t processors Strategy 2: Time Efficiency Point For each join, which can be started, allocate T processors T = c T e + (1 c) T t 0 c 1 Execution for N available processors and each join J 1 T (J) = c T e(j) + (1 c) T t(j) 2 if T (J) N then { allocate T (J) processors; N := N T (J) } Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
299 Processor Allocation: Strategies /2 Strategy 3: Synchronous Top Down Allocation Presumption: costs for each join are known (costs for execution of query plan subtree) Processing: Top-down traversal of the join tree and allocation of processors 1 Allocate min{n, T t(root)} processors for the join tree root: minimal response time for last join; 2 For join J is N J the number of available processors for that join if J has only one child J 1, allocate min{n J, T t(j 1 )} processors for J 1 ff J has to childrene J 1 and J 2, split N J into two processor sets for J 1 and J 2 with size costs 3 Replace J by J 1 and J 2 and continue allocation recursively Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
300 Processor-Allocation: Example ¾ ½¾ 20 processors, J i ÓÒ ÓÒ Â½ ¼ ½¾ ¾¼ Ê, costs, ÓÒ T e, T t ½  ½ ÓÒ Â ½ ʾ Ê Ê Ê Sequential Execution: J 4 : 16 J 3 : 15 J 2 : 9 J 1 : 20 Time-Efficiency Point with c = 0.5: (J 4 : 9, J 3 : 11) J 2 : 7 J 1 :16 Synchronous Top Down Allocation: J 1 : 20, J 2 -Subtree: 12 (J 2 : 9), J 3 : 8, J 4 : 12 Schallehn (FIN/ITI) Distributed Data Management 2015/ / 300
Advanced Database Models
Advanced Database Models Dr.-Ing. Eike Schallehn OvG Universität Magdeburg Fakultät für Informatik Institut für Technische und Betriebliche Informationssysteme 2015 Organization Lecture slides http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/adbm
Distributed Databases in a Nutshell
Distributed Databases in a Nutshell Marc Pouly [email protected] Department of Informatics University of Fribourg, Switzerland Priciples of Distributed Database Systems M. T. Özsu, P. Valduriez Prentice
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
DISTRIBUTED AND PARALLELL DATABASE
DISTRIBUTED AND PARALLELL DATABASE SYSTEMS Tore Risch Uppsala Database Laboratory Department of Information Technology Uppsala University Sweden http://user.it.uu.se/~torer PAGE 1 What is a Distributed
Distributed Data Management
Introduction Distributed Data Management Involves the distribution of data and work among more than one machine in the network. Distributed computing is more broad than canonical client/server, in that
Distributed Databases. Concepts. Why distributed databases? Distributed Databases Basic Concepts
Distributed Databases Basic Concepts Distributed Databases Concepts. Advantages and disadvantages of distributed databases. Functions and architecture for a DDBMS. Distributed database design. Levels of
IT2305 Database Systems I (Compulsory)
Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this
3. Relational Model and Relational Algebra
ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra
IT2304: Database Systems 1 (DBS 1)
: Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation
www.gr8ambitionz.com
Data Base Management Systems (DBMS) Study Material (Objective Type questions with Answers) Shared by Akhil Arora Powered by www. your A to Z competitive exam guide Database Objective type questions Q.1
Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems
CSC 74 Database Management Systems Topic #0: SQL Part A: Data Definition Language (DDL) Spring 00 CSC 74: DBMS by Dr. Peng Ning Spring 00 CSC 74: DBMS by Dr. Peng Ning Schema and Catalog Schema A collection
Fragmentation and Data Allocation in the Distributed Environments
Annals of the University of Craiova, Mathematics and Computer Science Series Volume 38(3), 2011, Pages 76 83 ISSN: 1223-6934, Online 2246-9958 Fragmentation and Data Allocation in the Distributed Environments
BCA. Database Management System
BCA IV Sem Database Management System Multiple choice questions 1. A Database Management System (DBMS) is A. Collection of interrelated data B. Collection of programs to access data C. Collection of data
Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation
Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed
Chapter 3: Distributed Database Design
Chapter 3: Distributed Database Design Design problem Design strategies(top-down, bottom-up) Fragmentation Allocation and replication of fragments, optimality, heuristics Acknowledgements: I am indebted
DBMS / Business Intelligence, SQL Server
DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.
Physical DB design and tuning: outline
Physical DB design and tuning: outline Designing the Physical Database Schema Tables, indexes, logical schema Database Tuning Index Tuning Query Tuning Transaction Tuning Logical Schema Tuning DBMS Tuning
CSC 443 Data Base Management Systems. Basic SQL
CSC 443 Data Base Management Systems Lecture 6 SQL As A Data Definition Language Basic SQL SQL language Considered one of the major reasons for the commercial success of relational databases SQL Structured
How To Create A Table In Sql 2.5.2.2 (Ahem)
Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or
Chapter 13: Query Processing. Basic Steps in Query Processing
Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing
Distributed Database Design (Chapter 5)
Distributed Database Design (Chapter 5) Top-Down Approach: The database system is being designed from scratch. Issues: fragmentation & allocation Bottom-up Approach: Integration of existing databases (Chapter
Distributed Databases
Distributed Databases Chapter 1: Introduction Johann Gamper Syllabus Data Independence and Distributed Data Processing Definition of Distributed databases Promises of Distributed Databases Technical Problems
CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY
CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY 2.1 Introduction In this chapter, I am going to introduce Database Management Systems (DBMS) and the Structured Query Language (SQL), its syntax and usage.
Relational Database Systems 2 1. System Architecture
Relational Database Systems 2 1. System Architecture Wolf-Tilo Balke Philipp Wille Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 1 Organizational Issues
Database Management. Chapter Objectives
3 Database Management Chapter Objectives When actually using a database, administrative processes maintaining data integrity and security, recovery from failures, etc. are required. A database management
Instant SQL Programming
Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions
Databases and BigData
Eduardo Cunha de Almeida [email protected] Outline of the course Introduction Database Systems (E. Almeida) Distributed Hash Tables and P2P (C. Cassagnes) NewSQL (D. Kim and J. Meira) NoSQL (D. Kim)
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to
IV Distributed Databases - Motivation & Introduction -
IV Distributed Databases - Motivation & Introduction - I OODBS II XML DB III Inf Retr DModel Motivation Expected Benefits Technical issues Types of distributed DBS 12 Rules of C. Date Parallel vs Distributed
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
DATABASE MANAGEMENT SYSTEMS. Question Bank:
DATABASE MANAGEMENT SYSTEMS Question Bank: UNIT 1 1. Define Database? 2. What is a DBMS? 3. What is the need for database systems? 4. Define tupule? 5. What are the responsibilities of DBA? 6. Define schema?
Chapter 10. Functional Dependencies and Normalization for Relational Databases
Chapter 10 Functional Dependencies and Normalization for Relational Databases Chapter Outline 1 Informal Design Guidelines for Relational Databases 1.1Semantics of the Relation Attributes 1.2 Redundant
Chapter 5: Overview of Query Processing
Chapter 5: Overview of Query Processing Query Processing Overview Query Optimization Distributed Query Processing Steps Acknowledgements: I am indebted to Arturas Mazeika for providing me his slides of
Chapter 8. SQL-99: SchemaDefinition, Constraints, and Queries and Views
Chapter 8 SQL-99: SchemaDefinition, Constraints, and Queries and Views Data Definition, Constraints, and Schema Changes Used to CREATE, DROP, and ALTER the descriptions of the tables (relations) of a database
AN OVERVIEW OF DISTRIBUTED DATABASE MANAGEMENT
AN OVERVIEW OF DISTRIBUTED DATABASE MANAGEMENT BY AYSE YASEMIN SEYDIM CSE 8343 - DISTRIBUTED OPERATING SYSTEMS FALL 1998 TERM PROJECT TABLE OF CONTENTS INTRODUCTION...2 1. WHAT IS A DISTRIBUTED DATABASE
Introduction to SQL: Data Retrieving
Introduction to SQL: Data Retrieving Ruslan Fomkin Databasdesign för Ingenjörer 1056F Structured Query Language (SQL) History: SEQUEL (Structured English QUery Language), earlier 70 s, IBM Research SQL
Oracle SQL. Course Summary. Duration. Objectives
Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data
Theory of Relational Database Design and Normalization
Theory of Relational Database Design and Normalization (Based on Chapter 14 and some part of Chapter 15 in Fundamentals of Database Systems by Elmasri and Navathe, Ed. 3) 1 Informal Design Guidelines for
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Chapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures
Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do
COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries
COMP 5138 Relational Database Management Systems Week 5 : Basic COMP5138 "Relational Database Managment Systems" J. Davis 2006 5-1 Today s Agenda Overview Basic Queries Joins Queries Aggregate Functions
Theory of Relational Database Design and Normalization
Theory of Relational Database Design and Normalization (Based on Chapter 14 and some part of Chapter 15 in Fundamentals of Database Systems by Elmasri and Navathe) 1 Informal Design Guidelines for Relational
Fundamentals of Database Design
Fundamentals of Database Design Zornitsa Zaharieva CERN Data Management Section - Controls Group Accelerators and Beams Department /AB-CO-DM/ 23-FEB-2005 Contents : Introduction to Databases : Main Database
Database Administration with MySQL
Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational
Principles and characteristics of distributed systems and environments
Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single
2. Basic Relational Data Model
2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff
D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led
Database Replication with Oracle 11g and MS SQL Server 2008
Database Replication with Oracle 11g and MS SQL Server 2008 Flavio Bolfing Software and Systems University of Applied Sciences Chur, Switzerland www.hsr.ch/mse Abstract Database replication is used widely
Parallel Databases. Parallel Architectures. Parallelism Terminology 1/4/2015. Increase performance by performing operations in parallel
Parallel Databases Increase performance by performing operations in parallel Parallel Architectures Shared memory Shared disk Shared nothing closely coupled loosely coupled Parallelism Terminology Speedup:
1. INTRODUCTION TO RDBMS
Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one
Conventional Files versus the Database. Files versus Database. Pros and Cons of Conventional Files. Pros and Cons of Databases. Fields (continued)
Conventional Files versus the Database Files versus Database File a collection of similar records. Files are unrelated to each other except in the code of an application program. Data storage is built
ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001
ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
Chapter 10 Functional Dependencies and Normalization for Relational Databases
Chapter 10 Functional Dependencies and Normalization for Relational Databases Copyright 2004 Pearson Education, Inc. Chapter Outline 1 Informal Design Guidelines for Relational Databases 1.1Semantics of
Chapter 18: Database System Architectures. Centralized Systems
Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and
Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches
Concepts of Database Management Seventh Edition Chapter 9 Database Management Approaches Objectives Describe distributed database management systems (DDBMSs) Discuss client/server systems Examine the ways
1Z0-117 Oracle Database 11g Release 2: SQL Tuning. Oracle
1Z0-117 Oracle Database 11g Release 2: SQL Tuning Oracle To purchase Full version of Practice exam click below; http://www.certshome.com/1z0-117-practice-test.html FOR Oracle 1Z0-117 Exam Candidates We
1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
Distributed Database Management Systems
Distributed Database Management Systems (Distributed, Multi-database, Parallel, Networked and Replicated DBMSs) Terms of reference: Distributed Database: A logically interrelated collection of shared data
D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
SQL Query Evaluation. Winter 2006-2007 Lecture 23
SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution
SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7
SQL DATA DEFINITION: KEY CONSTRAINTS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 Data Definition 2 Covered most of SQL data manipulation operations Continue exploration of SQL
Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB
Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB Outline Database concepts Conceptual Design Logical Design Communicating with the RDBMS 2 Some concepts Database: an
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach
TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com [email protected] Expanded
Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations
1 Topics for this week: 1. Good Design 2. Functional Dependencies 3. Normalization Readings for this week: 1. E&N, Ch. 10.1-10.6; 12.2 2. Quickstart, Ch. 3 3. Complete the tutorial at http://sqlcourse2.com/
TECHNIQUES FOR DATA REPLICATION ON DISTRIBUTED DATABASES
Constantin Brâncuşi University of Târgu Jiu ENGINEERING FACULTY SCIENTIFIC CONFERENCE 13 th edition with international participation November 07-08, 2008 Târgu Jiu TECHNIQUES FOR DATA REPLICATION ON DISTRIBUTED
Oracle EXAM - 1Z0-117. Oracle Database 11g Release 2: SQL Tuning. Buy Full Product. http://www.examskey.com/1z0-117.html
Oracle EXAM - 1Z0-117 Oracle Database 11g Release 2: SQL Tuning Buy Full Product http://www.examskey.com/1z0-117.html Examskey Oracle 1Z0-117 exam demo product is here for you to test the quality of the
chapater 7 : Distributed Database Management Systems
chapater 7 : Distributed Database Management Systems Distributed Database Management System When an organization is geographically dispersed, it may choose to store its databases on a central database
Chapter 1: Introduction. Database Management System (DBMS) University Database Example
This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information
TOP-DOWN APPROACH PROCESS BUILT ON CONCEPTUAL DESIGN TO PHYSICAL DESIGN USING LIS, GCS SCHEMA
TOP-DOWN APPROACH PROCESS BUILT ON CONCEPTUAL DESIGN TO PHYSICAL DESIGN USING LIS, GCS SCHEMA Ajay B. Gadicha 1, A. S. Alvi 2, Vijay B. Gadicha 3, S. M. Zaki 4 1&4 Deptt. of Information Technology, P.
What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan [email protected] What is a database? A database is a collection of logically related data for
Functional Dependency and Normalization for Relational Databases
Functional Dependency and Normalization for Relational Databases Introduction: Relational database design ultimately produces a set of relations. The implicit goals of the design activity are: information
Chapter 5: FUNCTIONAL DEPENDENCIES AND NORMALIZATION FOR RELATIONAL DATABASES
1 Chapter 5: FUNCTIONAL DEPENDENCIES AND NORMALIZATION FOR RELATIONAL DATABASES INFORMAL DESIGN GUIDELINES FOR RELATION SCHEMAS We discuss four informal measures of quality for relation schema design in
Virtual machine interface. Operating system. Physical machine interface
Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that
A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX
ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database
Lab Assignment 0. 1. Creating a Relational Database Schema from ER Diagram, Populating the Database and Querying over the database with SQL
SS Chung Lab Assignment 0 1. Creating a Relational Database Schema from ER Diagram, Populating the Database and Querying over the database with SQL 1. Creating the COMPANY database schema using SQL (DDL)
Physical Database Design and Tuning
Chapter 20 Physical Database Design and Tuning Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1. Physical Database Design in Relational Databases (1) Factors that Influence
Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks]
EXAMINATIONS 2005 MID-YEAR COMP 302 Database Systems Time allowed: Instructions: 3 Hours Answer all questions. Make sure that your answers are clear and to the point. Write your answers in the spaces provided.
Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1
Distributed Systems REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1 1 The Rise of Distributed Systems! Computer hardware prices are falling and power increasing.!
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Basic Concepts of Database Systems
CS2501 Topic 1: Basic Concepts 1.1 Basic Concepts of Database Systems Example Uses of Database Systems - account maintenance & access in banking - lending library systems - airline reservation systems
An Overview of Distributed Databases
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 2 (2014), pp. 207-214 International Research Publications House http://www. irphouse.com /ijict.htm An Overview
1. Physical Database Design in Relational Databases (1)
Chapter 20 Physical Database Design and Tuning Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1. Physical Database Design in Relational Databases (1) Factors that Influence
LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24
LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24 1. A database schema is a. the state of the db b. a description of the db using a
Chapter 13 File and Database Systems
Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation
Chapter 13 File and Database Systems
Chapter 13 File and Database Systems Outline 13.1 Introduction 13.2 Data Hierarchy 13.3 Files 13.4 File Systems 13.4.1 Directories 13.4. Metadata 13.4. Mounting 13.5 File Organization 13.6 File Allocation
CIS 631 Database Management Systems Sample Final Exam
CIS 631 Database Management Systems Sample Final Exam 1. (25 points) Match the items from the left column with those in the right and place the letters in the empty slots. k 1. Single-level index files
Extending Data Processing Capabilities of Relational Database Management Systems.
Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road
Storage Systems Autumn 2009. Chapter 6: Distributed Hash Tables and their Applications André Brinkmann
Storage Systems Autumn 2009 Chapter 6: Distributed Hash Tables and their Applications André Brinkmann Scaling RAID architectures Using traditional RAID architecture does not scale Adding news disk implies
PartJoin: An Efficient Storage and Query Execution for Data Warehouses
PartJoin: An Efficient Storage and Query Execution for Data Warehouses Ladjel Bellatreche 1, Michel Schneider 2, Mukesh Mohania 3, and Bharat Bhargava 4 1 IMERIR, Perpignan, FRANCE [email protected] 2
ICAB4136B Use structured query language to create database structures and manipulate data
ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification
Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.
Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and
CSE 132A. Database Systems Principles
CSE 132A Database Systems Principles Prof. Victor Vianu 1 Data Management An evolving, expanding field: Classical stand-alone databases (Oracle, DB2, SQL Server) Computer science is becoming data-centric:
The Relational Algebra
The Relational Algebra Relational set operators: The data in relational tables are of limited value unless the data can be manipulated to generate useful information. Relational Algebra defines the theoretical
SAP HANA SPS 09 - What s New? SAP HANA Scalability
SAP HANA SPS 09 - What s New? SAP HANA Scalability (Delta from SPS08 to SPS09) SAP HANA Product Management November, 2014 2014 SAP AG or an SAP affiliate company. All rights reserved. 1 Disclaimer This
CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model
CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 The Relational Model CS2 Spring 2005 (LN6) 1 The relational model Proposed by Codd in 1970. It is the dominant data
