Middle Layer Java Software for the Implementation of a Homogeneous Distributed Database System

Size: px
Start display at page:

Download "Middle Layer Java Software for the Implementation of a Homogeneous Distributed Database System"

Transcription

1 Middle Layer Java Software for the Implementation of a Homogeneous Distributed Database System Created By, Sanjib Kumar Das, 03CS1018 Sayantan Dasgupta, 03EE3201 DBMS LAB 19 th April, 2007

2 2 Contents 1. Why Distributed Database System Unsolved Problems of DDBMS Features of JSQL Query Execution Conclusion Reference

3 3 1. Why Distributed Database System A distributed database is a collection of multiple, logically interrelated databases distributed over a computer network. And, a distributed database management system (distributed DBMS) is the software system that permits the management of the distributed database and makes the distribution transparent to users. fig: Distributed Database Management Architecture In this section, we consider the commonly cited advantages of distributed DBMS. 1.1 Transparent management of distributed and replicated data Distributed database technology is intended to extend the concept of data independence to environments in which data is distributed and replicated over a number of machines connected by a network. Data independence is provided by several forms of transparency: 1. Network (and, therefore, distribution) transparency. 2. Replication transparency, and 3. Fragmentation transparency. 1.2 Reliability through distributed transactions Distributed DBMS are intended to improve reliability, since they have replicated components and thereby eliminate single points of failure. In a distributed database, this 3

4 4 means that some of the data may be unreachable, but with proper care users may be permitted to access other parts of the database. Distributed transactions execute at multiple sites, where they access the local database. With full support for distributed transactions, user applications can access a single logical image of the database and rely on the distributed DBMS to ensure that their requests will be executed correctly no matter what happens in the system. 1.3 Better performance Distributed DBMS superior performance is usually based on 2 points: 1. Data localization: Fragmentation of the conceptual database, enabling data to be stored in close proximity to its points of use. This feature has 2 advantages : Since each site handles only a portion of the database, contention for CPU and I/O services is not as severe as for centralized databases. Localization reduces remote access delays and also reduces costs. 2. Inherent parallelism of distributed systems can be exploited for inter-query and intra-query parallelism. Inter-query parallelism: execution of multiple queries at the same time Intra-query parallelism: breaking up of a single query into a number of subqueries, each executed at a different site, accessing a different part of the distributed database. 1.4 Easier, more economical system expansion In a distributed environment, accommodating increasing database sizes should be easier. Major system overhauls are seldom necessary; expansion can usually be handled by adding processing and storage power to the system. This is known as database size scaling. 4

5 5 2. Unsolved Problems in DDMBS Distributed database technology is one of the most important computing developments of the past decade. During this period, distributed database research has been intense, culminating in the release of a number of first-generation commercial products. But yet, there are a few problems that Distributed Systems cannot solve. 2.1 Network scaling problems Questions have been raised about the scalability of some protocols and algorithms as systems become geographically distributed or as the number of system components increases. The proper way to deal with scalability is to develop general, sufficiently powerful performance models, measurement tools, and measurement methodologies. 2.2 Distribution design Distributed database design methodology varies according to system architecture. Top-down design: From requirements analysis and logical design of the global database to physical design of each local database. Employed for tightly integrated distributed databases. Bottom-up design: Involves the integration of existing databases. These are employed for distributed multi-database systems. Two aspects of distribution design are: 1. Fragmentation 2. Allocation Fragmentation is the partitioning of each global relation into a set of fragment relations. Allocation concentrates on the distribution of these local relations across the distributed system s sites. Allocation is typically treated independently of fragmentation. However, closer examination reveals that isolating the two steps actually contributes to the complexity of the allocation models. Combining these two steps may have synergistic effects enabling the development of acceptable heuristic solution methods. 2.3 Distributed query processing Distributed query processors automatically translate a high-level query on a distributed database, which is seen as a single database by users, into an efficient low level execution plan expressed on the local databases. There are two important requirements of such a translation: 1. The translation must be a correct transformation of the input query. 5

6 6 2. The execution plan must be optimal that is, it must minimize a cost function that incorporates resource consumption. Thus the query processor must investigate equivalent alternative plans to select the best one. Global query optimization is typically performed prior to execution of the query (hence, called static optimization).a major problem with this approach is that the optimization cost model may become inaccurate because of changes in fragment size or because of database reorganization, often done for load balancing. 6

7 7 3. Features of JSQL 3.1 Homogeneous distributed database: All sites would have identical database management system software.we have opted for MySQL. In a heterogeneous database, different sites may use different schemas, and different database management system software. Our project is aimed at demonstrating the basic concepts employed in a distributed database and so we decided to avoid the hindrances caused due to divergence in software. 3.2 Data Storage: The 2 standard approaches generally employed for storing a relation in a distributed database are: 1. Replication: Several identical copies of the relation are stored at different sites. 2. Fragmentation: The relation is partitioned into several fragments, and each fragment is stored at a different site. Horizontal fragmentation: The relation r is partitioned into a number of subsets r1, r2,...rn. Some tuples of the relation are kept at one site and the other tuples are distributed among the other sites. Vertical fragmentation: The set of attributes R of the relation r is partitioned into a number of subsets. So here each site contains all the tuples of a relation but not all the attributes. In our project we have decided to employ an approach different from these standard approaches. Fragmentation would be such that there will be no replication of data among sites. Replication has the advantages of availability and increased parallelism but it also leads to increased overheads of storage and update. Different sites will have the different tables of the schema. We are neither going for horizontal fragmentation nor vertical fragmentation. In case of horizontal fragmentation, all the queries of the user would have to be sent to all the sites. The result sets retrieved would be mutually exclusive and so taking union of these sets would be the final result set. The work would have been very trivial! In case of vertical fragmentation the work would be a little heavier! In our scheme, complete tables are kept in a site, but not all the tables in the same site. The plan is to keep related tables in one site. 7

8 8 Consider a banking enterprise (given in the text book) having the following relation schemas: branch (branch_name,branch_city,assets) customer (customer_name,customer_street,customer_city) loan (loan_number,branch_name,amount) borrower (customer_name,loan_number) account (account_number,branch_name,balance) depositor (customer_name,account_number) We could distribute the tables among 3 sites: Site 1: branch Site 2: customer, borrower, depositor Site 3: loan, account There will be a central data dictionary which will contain the information regarding which tables are in which sites and the schema definition of the tables. In our distribution of the database, apparently allocation and fragmentation seem to be independent. But it is not exactly so. We have looked into the various example queries in the text book which has helped us in guessing the pattern of general queries on this database. We have tried to put related tables in one site. 3.3 Architecture of the system: We plan to build middle-layer software (chiefly a Query Processor) consisting of 3 main components: 1. Query Decomposer: It would parse the query fired by an user and break it into sub queries and migrate the queries to the relevant sites. While doing so, it would refer to the central data dictionary mentioned earlier. The exact way in which this parser would work would be clear by the examples to follow in the next section. 8

9 9 fig: Stages of Query Executions This is how a query decomposer, in general, looks like. In our case, data localization and global optimization are not kept separate. When decomposing the query into fragmented queries we are trying to minimize the cost. Local optimization is being taken care of by the local MySQL DBMS. The Global Schema and the Local Schema are both contained in one file, which we are calling the central data dictionary. 2. Result joiner: It would join the result sets obtained from the different sites. Optimization techniques would be applied during the joins. We also plan to implement pipelining (parallelism during the joins) i.e. suppose we have to join 4 relations r1,r2,r3 and r4,we could join (r1,r2) and (r3,r4) parallel. However, with respect to the example bank database at most 3 result sets can be obtained. So here this parallelism could not be employed. We have implemented the Mergejoin algorithm in our project. 3. Authentication system: This would realize the basic login-logout operations. The users must first login onto a server in which the middle layer software runs, in order to access the databases, and middle layer software communicates to individual databases. This would help the software to map the queries to the corresponding users. Whenever the login is authenticated, the following GUI appears before the user. 9

10 10 fig: GUI for entering queries Here we have to consider concurrency control in more details when the various users try to access the same database. This is achieved by the sessions. A session belongs to a user. The various queries are mapped to the respective sessions. These way results of queries fired by different users do not get mixed up. Concurrency control on the different databases is being taken care of by the respective MySQL database servers. 10

11 11 4. Query Execution Let us illustrate the working of the Query Parser using some examples. 1. Queries involving tables in a single site are trivial. These queries would remain unchanged and would be executed at the relevant site. The results retrieved would be passed to the user. Now consider a query: select customer_name,borrower.loan_number,amount from borrower,loan where borrower.loan_number = loan.loan_number and branch_name = Perryridge and amount > 1200 Now borrower is in site2 and loan is in site3. One straightforward strategy would be to move the tables borrower and loan to the the middle-layer software and execute the query there.but this would mean migration of large datasets which is very inefficient.so our plan is to break the query into 2 subqueries and executing these subqueries at the relevant sites and then migrating the smaller data sets obtained as results. Site2 : select customer_name,borrower.loan_number from borrower Site3 : select loan.loan_number from loan where branch_name = Perryridge and amount > 1200 The results obtained from these 2 sites would then be moved to the result joiner part of the Query Processor where the join would be performed by running the query : select customer_name,borrower.loan_number from borrower,loan where borrower.loan_number = loan.loan_number Let us formalize this algorithm for decomposing queries. Example query : select customer_name,borrower.loan_number,amount from borrower,loan where borrower.loan_number = loan.loan_number and branch_name = Perryridge and amount >

12 12 Steps of Query Execution: Step 1: Create 3 lists : SelectItems, FromItems, WhereItems. Main operator in the where part of the query is also determined. These will contain the respective items in the global query. Here, SelectItems : {customer_name,borrower.loan_number,amount} FromItems : {borrower,loan} WhereItems : {(borrower.loan_number=loan.loan_number), (branch_name= Perryridge ), (amount>1200) } Main Operator : and Step 2: Look at the FromItems and refer to the central data dictionary to determine which sites are to be considered for this particular query. Create n number of SubSelect, SubFrom and SubWhere lists where n : no. of sites Distribute the SelectItems into the SubSelect(n) lists, FromItems into the SubFrom(n) lists. Example : FromItems : {borrower,loan} borrower -- site 2 loan --- site 3 SubFrom[1] = {}-empty SubFrom[2] = {borrower} SubFrom[3] = {loan} SubSelect[1] = {} SubSelect[2] = {customer_name,borrower.loan_number} SubSelect[3] = {amount} If SubFrom[i] is empty, no need to consider its SubSelect and SubWhere. Step 3: Pick each item from the Where-Items list. If that clause belongs completely to a site, then include that clause into the corresponding SubWhere list. If a clause does not belong completely to one site then put that clause into a new list Final Where. 12

13 13 Parse that clause to get the operands. Look for attributes of tables in individual operands. Find the sites to which these attributes belong to. If these attributes are not included in the respective Sub Select then include them. This step is one of the key steps in our algorithm. It is not intuitive and the example would help us understand it. Example : 1 st item from Where Items : borrower.loan_number=loan.loan_number Looking at the operands(borrower.loan_number,loan.loan_number) we find that this clause refers to two sites. FinalWhere = {( borrower.loan_number=loan.loan_number)} borrower.loan_number is there in SubSelect[2]. loan.loan_number is not there in SubSelect[3].So include it. Now, SubSelect[3] = {amount, loan.loan_number} This is very important.otherwise we would have lost this column in the result set obtained from site 3 and the final query would never have taken place. 2 nd item from WhereItems : branch_name = Perryridge This clause belongs completely to site 3 since branch_name is an attribute of loan relation. SubWhere[3] = {(branch_name = Perryridge )} 3 rd item from WhereItems : amount >1200 This clause again belongs completely to site 3 since amount is an attribute of loan relation. SubWhere[3] = {(branch_name = Perryridge ),(amount>1200)} Step 4 : Generation of subqueries and final query Using the SubSelect,SubFrom and SubWhere lsits generate the subquery. FinalSelect = SelectItems FinalFrom = {r1,r2..,rn) where n : no of sites and rn stands for the result set obtained from the nth site. Generate the final query from the FinalSelect,FinalFrom and FinalWhere lists. Example : Subquery[1] =nil SubQuery[2] : select customer_name,borrower.loan_number from borrower SubQuery[3] : 13

14 14 select amount, loan.loan_number from loan where branch_name = Perryridge and amount>1200 FinalQuery : select customer_name, borrower.loan_number, amount from r2,r3 where borrower.loan_number = loan.loan_number where r2,r3 are result sets obtained from sites 2 and 3 respectively. Step 5: Execute the sub queries at the respective sites parallel (intra-query parallelism) and the final query at the middle layer. This final query execution is done by the Result Joiner part of our middle layer software,jsql. For joining the result sets, we employed the strategies that are discussed in the Joining of two Relations section. Example : We have seen that the final query is : select customer_name, borrower.loan_number, amount from r2,r3 where borrower.loan_number = loan.loan_number which is nothing but a simple join of the relations r2(customer_name, borrower.loan_number), and r3(amount,loan.loan_number), the common attribute being the loan_number. 14

15 15 The consecutive steps are explained in the following figure: Step 1: Step 2: Step 3: 15

16 16 In our algorithm we have tried to minimize the retrieval of large datasets. The cost measure that we have considered is the size of the retrieved result sets. Types of queries dealt with: Although the existing query languages (the SQL) are very powerful, global query optimization typically focuses on a subset of the query language, namely selectproject-join queries with conjunctive predicates. This is an important class of queries for which good optimization opportunities exist. However, there is also an important subset of queries which we did not consider, such as the queries with disjunctions, unions, aggregations, or sorting. Joining of two Relations: If two relations for a join operation are stored in the same site, the join operation is done using the local database server. However, in a number of cases we have to perform join operation of two relations, stored in different sites. In these cases we proceed using semi-join approach. Suppose we need to compute R A S, and size(r) < size(s). We first select S from the first site, then compute Π A (S). Then from R, we select only those rows for which there is one or more match with S on the attribute A, instead of selecting the whole relation R. This operation is known as semi-join, denoted as R S. Then we perform the final join operation as, R A S = (R S) A S. The join operation is done using simple nested-loop join. However, if there is a search operation required, for some predicate followed by the join operation, then we use merge-join instead of simple nested-loop join, because merge-join results in a relation sorted by the values of the attribute of join. 16

17 17 5. Conclusion Here the functionality of JSQL can be stated in a brief. The schemas are stored in different servers, and a middle layer has been implemented to communicate with individual servers. The users are connected to the middle layer, and they perceive the whole distributed system, as if centralized at a single server, and accordingly, they frame their queries. The queries are decomposed, fragments are executed by individual servers, and final results are produced by the middle layer, by combining results from individual servers. The entire software is written using Java SDK 5.0. Here, instead of adopting conventional approach of fragmentation, we store a number of relations in individual database servers. This makes the design of the initial database schema a little difficult. Because, we have to be very cautious with the design, on the point that the functional dependency between the relations hold, else our join operation will no longer remain lose-less, so the DDBMS system will start to produce incorrect results. Also, we did not use replication of data in our system. This saves storage a reasonable extent, and provides a good data isolation, but in the cost of a certain degree of parallelism. Basically, whether we replicate data, or not, should entirely depend on the end-user requirement. Since the last decade, distributed database research has been a very important filed, culminating in the release of a number of first-generation commercial products. If it meets commercial requirements, distributed database technology will impact data processing the same way centralized systems did a decade ago. A well-accepted solution for distributed transaction management and recovery is yet to come up. Microsoft provides an OLE DB based distributed network, which can not utilize the entire degree of concurrency controls, and the system is yet to optimize the performance of distributed query execution. Oracle s distributed system allows a user to do transactions on only one database server at a time, thereby eliminates concurrent processing of transactions. A new DDBMS implemented on the basis of a middle layer, interfaced with existing third party centralized database servers, hence has an ample scope to emerge as a new technology. 17

18 18 6. References 1. M. T. Ozsu, P. Valduriez, Distributed Database Systems: Where are we now? GTE Laboratories, University of INRIA 2. Charles Dye, Oracle Distributed Systems, SPD Publication, M. Stonebraker, Morgan Kaufmann, San Mateo Readings in Database Systems, M. Stonebraker, Future Trends in Database Systems, IEEE Trans. Knowledge and Data Eng., Vol. 1, No. 1, Mar. 1989, pp José A., Blakeley Conor, Cunningham Nigel Ellis, Balaji Rathakrishnan, Distributed/Heterogeneous Query Processing in Microsoft SQL Server, Microsoft Corporation, Redmond 6. Silberschatz, Korth, Sudarshan, Database System Concepts, McGraw Hill 18

DATABASE TECHNOLOGY. Spring An introduction to database systems

DATABASE TECHNOLOGY. Spring An introduction to database systems 1 DATABASE TECHNOLOGY Spring 2007 An introduction to database systems Kjell Orsborn Uppsala Database Laboratory Department of Information Technology, Uppsala University, Uppsala, Sweden 2 Introduction

More information

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See for conditions on re-use "

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See  for conditions on re-use Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " Data Definition! Basic Query Structure! Set Operations! Aggregate Functions! Null Values!

More information

DATABASE DESIGN I - 1DL300

DATABASE DESIGN I - 1DL300 DATABASE DESIGN I - 1DL300 Fall 2010 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/ht10/ Manivasakan Sabesan Uppsala Database Laboratory Department of Information

More information

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See for conditions on re-use "

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See   for conditions on re-use Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " Data Definition! Basic Query Structure! Set Operations! Aggregate Functions! Null Values!

More information

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

Distributed DBMS. Concepts. Concepts. Distributed DBMS. Concepts. Concepts 9/8/2014 Distributed DBMS Advantages and disadvantages of distributed databases. Functions of DDBMS. Distributed database design. Distributed Database A logically interrelated collection of shared data (and a description

More information

Silberschatz, Korth and Sudarshan See for conditions on re-use

Silberschatz, Korth and Sudarshan See   for conditions on re-use Chapter 3: SQL Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 3: SQL Data Definition Basic Query Structure Set Operations Aggregate Functions Null Values Nested

More information

Contents Contents Introduction Basic Steps in Query Processing Introduction Transformation of Relational Expressions...

Contents Contents Introduction Basic Steps in Query Processing Introduction Transformation of Relational Expressions... Contents Contents...283 Introduction...283 Basic Steps in Query Processing...284 Introduction...285 Transformation of Relational Expressions...287 Equivalence Rules...289 Transformation Example: Pushing

More information

Chapter 3: SQL. Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Chapter 3: SQL. Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See  for conditions on re-use Chapter 3: SQL Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 3: SQL Data Definition Basic Query Structure Set Operations Aggregate Functions Null Values Nested

More information

Chapter 3: SQL. Chapter 3: SQL

Chapter 3: SQL. Chapter 3: SQL Chapter 3: SQL Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 3: SQL Data Definition Basic Query Structure Set Operations Aggregate Functions Null Values Nested

More information

Database System Concepts, 5 th Ed.! Silberschatz, Korth and Sudarshan See for conditions on re-use "

Database System Concepts, 5 th Ed.! Silberschatz, Korth and Sudarshan See   for conditions on re-use Database System Concepts, 5 th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " Structure of Relational Databases! Fundamental Relational-Algebra-Operations! Additional

More information

Query processing and optimization

Query processing and optimization Query processing and optimization These slides are a modified version of the slides of the book Database System Concepts (Chapter 13 and 14), 5th Ed., McGraw-Hill, by Silberschatz, Korth and Sudarshan.

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

Chapter 14: Query Optimization

Chapter 14: Query Optimization Chapter 14: Query Optimization Database System Concepts 5 th Ed. See www.db-book.com for conditions on re-use Chapter 14: Query Optimization Introduction Transformation of Relational Expressions Catalog

More information

The Replication Technology in E-learning Systems

The Replication Technology in E-learning Systems Available online at www.sciencedirect.com Procedia - Social and Behavioral Sciences 28 (2011) 231 235 WCETR 2011 The Replication Technology in E-learning Systems Iacob (Ciobanu) Nicoleta Magdalena a *

More information

The SQL database language Parts of the SQL language

The SQL database language Parts of the SQL language DATABASE DESIGN I - 1DL300 Fall 2011 Introduction to SQL Elmasri/Navathe ch 4,5 Padron-McCarthy/Risch ch 7,8,9 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/ht11

More information

Chapter 4: SQL. Basic Structure

Chapter 4: SQL. Basic Structure Chapter 4: SQL Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Joined Relations Data Definition Language Embedded SQL

More information

Chapter 2: Relational Model

Chapter 2: Relational Model Chapter 2: Relational Model Database System Concepts, 5 th Ed. See www.db-book.com for conditions on re-use Chapter 2: Relational Model Structure of Relational Databases Fundamental Relational-Algebra-Operations

More information

Other Relational Query Languages

Other Relational Query Languages APPENDIXC Other Relational Query Languages In Chapter 6 we presented the relational algebra, which forms the basis of the widely used SQL query language. SQL was covered in great detail in Chapters 3 and

More information

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

It also performs many parallelization operations like, data loading and query processing. Introduction to Parallel Databases Companies need to handle huge amount of data with high data transfer rate. The client server and centralized system is not much efficient. The need to improve the efficiency

More information

INF1383 -Bancos de Dados

INF1383 -Bancos de Dados INF1383 -Bancos de Dados Prof. Sérgio Lifschitz DI PUC-Rio Eng. Computação, Sistemas de Informação e Ciência da Computação A LINGUAGEM SQL Última Parte Group By/Having e Visões Alguns slides são baseados

More information

Simple SQL Queries (2)

Simple SQL Queries (2) Simple SQL Queries (2) Review SQL the structured query language for relational databases DDL: data definition language DML: data manipulation language Create and maintain tables CMPT 354: Database I --

More information

Database System Concepts

Database System Concepts Chapter 14: Optimization Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2007/2008 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth and Sudarshan.

More information

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1 Chapter 25 Distributed Databases and Client-Server Architectures Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 25 Outline

More information

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

Mobile and Heterogeneous databases Distributed Database System Query Processing. A.R. Hurson Computer Science Missouri Science & Technology Mobile and Heterogeneous databases Distributed Database System Query Processing A.R. Hurson Computer Science Missouri Science & Technology 1 Note, this unit will be covered in four lectures. In case you

More information

CSCC43H: Introduction to Databases. Lecture 3

CSCC43H: Introduction to Databases. Lecture 3 CSCC43H: Introduction to Databases Lecture 3 Wael Aboulsaadat Acknowledgment: these slides are partially based on Prof. Garcia-Molina & Prof. Ullman slides accompanying the course s textbook. CSCC43: Introduction

More information

Distributed KIDS Labs 1

Distributed KIDS Labs 1 Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database

More information

DATABASE TECHNOLOGY - 1MB025

DATABASE TECHNOLOGY - 1MB025 1 DATABASE TECHNOLOGY - 1MB025 Fall 2005 An introductury course on database systems http://user.it.uu.se/~udbl/dbt-ht2005/ alt. http://www.it.uu.se/edu/course/homepage/dbastekn/ht05/ Kjell Orsborn Uppsala

More information

Chapter 5: Other Relational Languages

Chapter 5: Other Relational Languages Chapter 5: Other Relational Languages Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 5: Other Relational Languages Tuple Relational Calculus Domain Relational Calculus

More information

CS352 - DATABASE SYSTEMS. To give you experience with developing a database to model a real domain

CS352 - DATABASE SYSTEMS. To give you experience with developing a database to model a real domain CS352 - DATABASE SYSTEMS Database Design Project - Various parts due as shown in the syllabus Purposes: To give you experience with developing a database to model a real domain Requirements At your option,

More information

CS352 - DATABASE SYSTEMS

CS352 - DATABASE SYSTEMS CS352 - DATABASE SYSTEMS Database Design Project - Various parts due as shown in the syllabus Purposes: To give you experience with developing a database to model a real domain At your option, this project

More information

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

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

Advanced Databases: Parallel Databases A.Poulovassilis

Advanced Databases: Parallel Databases A.Poulovassilis 1 Advanced Databases: Parallel Databases A.Poulovassilis 1 Parallel Database Architectures Parallel database systems use parallel processing techniques to achieve faster DBMS performance and handle larger

More information

Distributed Databases Systems

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

More information

SQL. Lecture 4 SQL. Basic Structure. The select Clause. The select Clause (Cont.) The select Clause (Cont.) Basic Structure.

SQL. Lecture 4 SQL. Basic Structure. The select Clause. The select Clause (Cont.) The select Clause (Cont.) Basic Structure. SL Lecture 4 SL Chapter 4 (Sections 4.1, 4.2, 4.3, 4.4, 4.5, 4., 4.8, 4.9, 4.11) Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Modification of the Database

More information

Relational Algebra. Relational Algebra. 7/4/2017 Md. Golam Moazzam, Dept. of CSE, JU

Relational Algebra. Relational Algebra. 7/4/2017 Md. Golam Moazzam, Dept. of CSE, JU Relational Algebra 1 Structure of Relational Databases A relational database consists of a collection of tables, each of which is assigned a unique name. A row in a table represents a relationship among

More information

Database Systems SQL SL03

Database Systems SQL SL03 Checking... Informatik für Ökonomen II Fall 2010 Data Definition Language Database Systems SQL SL03 Table Expressions, Query Specifications, Query Expressions Subqueries, Duplicates, Null Values Modification

More information

CSCC43H: Introduction to Databases. Lecture 4

CSCC43H: Introduction to Databases. Lecture 4 CSCC43H: Introduction to Databases Lecture 4 Wael Aboulsaadat Acknowledgment: these slides are partially based on Prof. Garcia-Molina & Prof. Ullman slides accompanying the course s textbook. CSCC43: Introduction

More information

DATABASE TECHNOLOGY - 1MB025

DATABASE TECHNOLOGY - 1MB025 1 DATABASE TECHNOLOGY - 1MB025 Fall 2004 An introductory course on database systems http://user.it.uu.se/~udbl/dbt-ht2004/ alt. http://www.it.uu.se/edu/course/homepage/dbastekn/ht04/ Kjell Orsborn Uppsala

More information

Security Mechanisms I. Key Slide. Key Slide. Security Mechanisms III. Security Mechanisms II

Security Mechanisms I. Key Slide. Key Slide. Security Mechanisms III. Security Mechanisms II Database Facilities One of the main benefits from centralising the implementation data model of a DBMS is that a number of critical facilities can be programmed once against this model and thus be available

More information

DATABASTEKNIK - 1DL116

DATABASTEKNIK - 1DL116 1 DATABASTEKNIK - 1DL116 Spring 2004 An introductury course on database systems http://user.it.uu.se/~udbl/dbt-vt2004/ Kjell Orsborn Uppsala Database Laboratory Department of Information Technology, Uppsala

More information

Database Systems SQL SL03

Database Systems SQL SL03 Inf4Oec10, SL03 1/52 M. Böhlen, ifi@uzh Informatik für Ökonomen II Fall 2010 Database Systems SQL SL03 Data Definition Language Table Expressions, Query Specifications, Query Expressions Subqueries, Duplicates,

More information

SQL QUERIES. CS121: Relational Databases Fall 2017 Lecture 5

SQL QUERIES. CS121: Relational Databases Fall 2017 Lecture 5 SQL QUERIES CS121: Relational Databases Fall 2017 Lecture 5 SQL Queries 2 SQL queries use the SELECT statement General form is: SELECT A 1, A 2,... FROM r 1, r 2,... WHERE P; r i are the relations (tables)

More information

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure

More information

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g.

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g. 4541.564; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room 301-203) ADVANCED DATABASES Copyright by S.-g. Lee Review - 1 General Info. Text Book Database System Concepts, 6 th Ed., Silberschatz,

More information

Database Management Systems

Database Management Systems Database Management Systems Distributed Databases Doug Shook What does it mean to be distributed? Multiple nodes connected by a network Data on the nodes is logically related The nodes do not need to be

More information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms

More information

Parallel DBMS. Parallel Database Systems. PDBS vs Distributed DBS. Types of Parallelism. Goals and Metrics Speedup. Types of Parallelism

Parallel DBMS. Parallel Database Systems. PDBS vs Distributed DBS. Types of Parallelism. Goals and Metrics Speedup. Types of Parallelism Parallel DBMS Parallel Database Systems CS5225 Parallel DB 1 Uniprocessor technology has reached its limit Difficult to build machines powerful enough to meet the CPU and I/O demands of DBMS serving large

More information

Chapter 14 Query Optimization

Chapter 14 Query Optimization Chapter 14 Query Optimization Chapter 14: Query Optimization! Introduction! Catalog Information for Cost Estimation! Estimation of Statistics! Transformation of Relational Expressions! Dynamic Programming

More information

Chapter 14 Query Optimization

Chapter 14 Query Optimization Chapter 14 Query Optimization Chapter 14: Query Optimization! Introduction! Catalog Information for Cost Estimation! Estimation of Statistics! Transformation of Relational Expressions! Dynamic Programming

More information

Chapter 14 Query Optimization

Chapter 14 Query Optimization Chapter 14: Query Optimization Chapter 14 Query Optimization! Introduction! Catalog Information for Cost Estimation! Estimation of Statistics! Transformation of Relational Expressions! Dynamic Programming

More information

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

Data about data is database Select correct option: True False Partially True None of the Above Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another

More information

DISTRIBUTED DATABASE SYSTEMS: WHERE ARE WE NOW?

DISTRIBUTED DATABASE SYSTEMS: WHERE ARE WE NOW? DISTRIBUTED DATABASE SYSTEMS: WHERE ARE WE NOW? M. Tamer Özsu GTE Laboratories Incorporated 40 Sylvan Road Waltham, MA 02254 mto@gte.com Patrick Valduriez INRIA, Rocquencourt 78153 Le Chesnay France patrickv@madonna.inria.fr

More information

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK CS1301 DATABASE MANAGEMENT SYSTEM DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK Sub code / Subject: CS1301 / DBMS Year/Sem : III / V UNIT I INTRODUCTION AND CONCEPTUAL MODELLING 1. Define

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Database System Concepts

Database System Concepts Chapter 13: Query Processing s Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth

More information

Course 40045A: Microsoft SQL Server for Oracle DBAs

Course 40045A: Microsoft SQL Server for Oracle DBAs Skip to main content Course 40045A: Microsoft SQL Server for Oracle DBAs - Course details Course Outline Module 1: Database and Instance This module provides an understanding of the two major components

More information

QQ Group

QQ Group QQ Group: 617230453 1 Extended Relational-Algebra-Operations Generalized Projection Aggregate Functions Outer Join 2 Generalized Projection Extends the projection operation by allowing arithmetic functions

More information

Distributed Query Processing. Banking Example

Distributed Query Processing. Banking Example Distributed Query Processing Advanced Topics in Database Management (INFSCI 2711) Some materials are from Database System Concepts, Siberschatz, Korth and Sudarshan Vladimir Zadorozhny, DINS, University

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part VIII Lecture 16, March 19, 2014 Mohammad Hammoud Today Last Session: DBMS Internals- Part VII Algorithms for Relational Operations (Cont d) Today s Session:

More information

Chapter 17: Parallel Databases

Chapter 17: Parallel Databases Chapter 17: Parallel Databases Introduction I/O Parallelism Interquery Parallelism Intraquery Parallelism Intraoperation Parallelism Interoperation Parallelism Design of Parallel Systems Database Systems

More information

Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Data Definition

Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Data Definition Chapter 4: SQL Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Data Definition Language 4.1 Schema Used in Examples

More information

Lecture 3 SQL. Shuigeng Zhou. September 23, 2008 School of Computer Science Fudan University

Lecture 3 SQL. Shuigeng Zhou. September 23, 2008 School of Computer Science Fudan University Lecture 3 SQL Shuigeng Zhou September 23, 2008 School of Computer Science Fudan University Outline Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views

More information

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

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2 Introduction :- Today single CPU based architecture is not capable enough for the modern database that are required to handle more demanding and complex requirements of the users, for example, high performance,

More information

Teaching Scheme Business Information Technology/Software Engineering Management Advanced Databases

Teaching Scheme Business Information Technology/Software Engineering Management Advanced Databases Teaching Scheme Business Information Technology/Software Engineering Management Advanced Databases Level : 4 Year : 200 2002 Jim Craven (jcraven@bournemouth.ac.uk) Stephen Mc Kearney (smckearn@bournemouth.ac.uk)

More information

Chapter 19: Distributed Databases

Chapter 19: Distributed Databases Chapter 19: Distributed Databases Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 19: Distributed Databases Heterogeneous and Homogeneous Databases Distributed Data

More information

Performance Optimization for Informatica Data Services ( Hotfix 3)

Performance Optimization for Informatica Data Services ( Hotfix 3) Performance Optimization for Informatica Data Services (9.5.0-9.6.1 Hotfix 3) 1993-2015 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic,

More information

Chapter 7: Relational Database Design

Chapter 7: Relational Database Design Chapter 7: Relational Database Design Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 7: Relational Database Design Features of Good Relational Design Atomic Domains

More information

Chapter 6: Formal Relational Query Languages

Chapter 6: Formal Relational Query Languages Chapter 6: Formal Relational Query Languages Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 6: Formal Relational Query Languages Relational Algebra Tuple Relational

More information

1. Considering functional dependency, one in which removal from some attributes must affect dependency is called

1. Considering functional dependency, one in which removal from some attributes must affect dependency is called Q.1 Short Questions Marks 1. Considering functional dependency, one in which removal from some attributes must affect dependency is called 01 A. full functional dependency B. partial dependency C. prime

More information

; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room ) ADVANCED DATABASES

; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room ) ADVANCED DATABASES 4541.564; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room 302-208) ADVANCED DATABASES Syllabus Text Books Exams (tentative dates) Database System Concepts, 5th Edition, A. Silberschatz, H. F.

More information

Performance Tuning in Informatica Developer

Performance Tuning in Informatica Developer Performance Tuning in Informatica Developer 2010 Informatica Abstract The Data Integration Service uses optimization methods to improve the performance of a mapping. You can choose an optimizer level to

More information

Chapter 6: Relational Database Design

Chapter 6: Relational Database Design Chapter 6: Relational Database Design Chapter 6: Relational Database Design Features of Good Relational Design Atomic Domains and First Normal Form Decomposition Using Functional Dependencies Second Normal

More information

Introduction Alternative ways of evaluating a given query using

Introduction Alternative ways of evaluating a given query using Query Optimization Introduction Catalog Information for Cost Estimation Estimation of Statistics Transformation of Relational Expressions Dynamic Programming for Choosing Evaluation Plans Introduction

More information

Textbook: Chapter 6! CS425 Fall 2013 Boris Glavic! Chapter 3: Formal Relational Query. Relational Algebra! Select Operation Example! Select Operation!

Textbook: Chapter 6! CS425 Fall 2013 Boris Glavic! Chapter 3: Formal Relational Query. Relational Algebra! Select Operation Example! Select Operation! Chapter 3: Formal Relational Query Languages CS425 Fall 2013 Boris Glavic Chapter 3: Formal Relational Query Languages Relational Algebra Tuple Relational Calculus Domain Relational Calculus Textbook:

More information

Chapter 5: Other Relational Languages.! Query-by-Example (QBE)! Datalog

Chapter 5: Other Relational Languages.! Query-by-Example (QBE)! Datalog Chapter 5: Other Relational Languages! Query-by-Example (QBE)! Datalog 5.1 Query-by by-example (QBE)! Basic Structure! Queries on One Relation! Queries on Several Relations! The Condition Box! The Result

More information

Database System Concepts

Database System Concepts s Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth and Sudarshan. Chapter 2: Model Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2009/2010

More information

A Review on Fragmentation Techniques in Distributed Database

A Review on Fragmentation Techniques in Distributed Database International Journal of Modern Trends in Engineering and Research www.ijmter.com A Review on Fragmentation Techniques in Distributed Database Akashkumar Patel1, Rakshitkumar Hirapara2, Vivekkumar Dhamecha3

More information

Lab IV. Transaction Management. Database Laboratory

Lab IV. Transaction Management. Database Laboratory Lab IV Transaction Management Database Laboratory Objectives To work with transactions in ORACLE To study the properties of transactions in ORACLE Database integrity must be controlled when access operations

More information

CT13 DATABASE MANAGEMENT SYSTEMS DEC 2015

CT13 DATABASE MANAGEMENT SYSTEMS DEC 2015 Q.1 a. Explain the role of concurrency control software in DBMS with an example. Answer: Concurrency control software in DBMS ensures that several users trying to update the same data do so in a controlled

More information

DATABASE MANAGEMENT SYSTEM

DATABASE MANAGEMENT SYSTEM DATABASE MANAGEMENT SYSTEM For COMPUTER SCIENCE DATABASE MANAGEMENT. SYSTEM SYLLABUS ER model. Relational model: relational algebra, tuple calculus, SQL. Integrity constraints, normal forms. File organization,

More information

customer = (customer_id, _ customer_name, customer_street,

customer = (customer_id, _ customer_name, customer_street, Relational Database Design COMPILED BY: RITURAJ JAIN The Banking Schema branch = (branch_name, branch_city, assets) customer = (customer_id, _ customer_name, customer_street, customer_city) account = (account_number,

More information

Chapter 3: Relational Model

Chapter 3: Relational Model Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational Calculus Domain Relational Calculus Extended Relational-Algebra-Operations Modification of the Database

More information

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

management systems Elena Baralis, Silvia Chiusano Politecnico di Torino Pag. 1 Distributed architectures Distributed Database Management Systems atabase Management Systems istributed database istributed architectures atabase Management Systems istributed atabase Management Systems ata and computation are distributed over different machines ifferent

More information

Database Systems. Answers

Database Systems. Answers Database Systems Question @ Answers Question 1 What are the most important directories in the MySQL installation? Bin Executable Data Database data Docs Database documentation Question 2 What is the primary

More information

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1) Chapter 19 Algorithms for Query Processing and Optimization 0. Introduction to Query Processing (1) Query optimization: The process of choosing a suitable execution strategy for processing a query. Two

More information

CSE 544: Principles of Database Systems

CSE 544: Principles of Database Systems CSE 544: Principles of Database Systems Anatomy of a DBMS, Parallel Databases 1 Announcements Lecture on Thursday, May 2nd: Moved to 9am-10:30am, CSE 403 Paper reviews: Anatomy paper was due yesterday;

More information

Chapter 18: Parallel Databases

Chapter 18: Parallel Databases Chapter 18: Parallel Databases Introduction Parallel machines are becoming quite common and affordable Prices of microprocessors, memory and disks have dropped sharply Recent desktop computers feature

More information

Stored Relvars 18 th April 2013 (30 th March 2001) David Livingstone. Stored Relvars

Stored Relvars 18 th April 2013 (30 th March 2001) David Livingstone. Stored Relvars Stored Relvars Introduction The purpose of a Stored Relvar (= Stored Relational Variable) is to provide a mechanism by which the value of a real (or base) relvar may be partitioned into fragments and/or

More information

Domain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL

Domain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL Chapter 6: Integrity and Security Domain Constraints Referential Integrity Assertions Triggers Security Authorization Authorization in SQL 6.1 Domain Constraints Integrity constraints guard against accidental

More information

Dr. Awad Khalil. Computer Science & Engineering department

Dr. Awad Khalil. Computer Science & Engineering department Dr. Awad Khalil Computer Science & Engineering department Outline Introduction Distributed Database Concepts What Constitutes a DDB Transparency Availability and Reliability Scalability and Partition Tolerance

More information

Chapter 13: Query Processing

Chapter 13: 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

More information

Tutorial Outline. Map/Reduce vs. DBMS. MR vs. DBMS [DeWitt and Stonebraker 2008] Acknowledgements. MR is a step backwards in database access

Tutorial Outline. Map/Reduce vs. DBMS. MR vs. DBMS [DeWitt and Stonebraker 2008] Acknowledgements. MR is a step backwards in database access Map/Reduce vs. DBMS Sharma Chakravarthy Information Technology Laboratory Computer Science and Engineering Department The University of Texas at Arlington, Arlington, TX 76009 Email: sharma@cse.uta.edu

More information

DISTRIBUTED DATABASES CS561-SPRING 2012 WPI, MOHAMED ELTABAKH

DISTRIBUTED DATABASES CS561-SPRING 2012 WPI, MOHAMED ELTABAKH DISTRIBUTED DATABASES CS561-SPRING 2012 WPI, MOHAMED ELTABAKH 1 RECAP: PARALLEL DATABASES Three possible architectures Shared-memory Shared-disk Shared-nothing (the most common one) Parallel algorithms

More information

Query Optimization. Shuigeng Zhou. December 9, 2009 School of Computer Science Fudan University

Query Optimization. Shuigeng Zhou. December 9, 2009 School of Computer Science Fudan University Query Optimization Shuigeng Zhou December 9, 2009 School of Computer Science Fudan University Outline Introduction Catalog Information for Cost Estimation Estimation of Statistics Transformation of Relational

More information

Chapter 3. Algorithms for Query Processing and Optimization

Chapter 3. Algorithms for Query Processing and Optimization Chapter 3 Algorithms for Query Processing and Optimization Chapter Outline 1. Introduction to Query Processing 2. Translating SQL Queries into Relational Algebra 3. Algorithms for External Sorting 4. Algorithms

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See for conditions on re-use "

Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See   for conditions on re-use Database System Concepts, 5th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " SQL Data Types and Schemas! Integrity Constraints! Authorization! Embedded SQL! Dynamic

More information

Why is Mariposa Important? Mariposa: A wide-area distributed database. Outline. Motivation: Assumptions. Motivation

Why is Mariposa Important? Mariposa: A wide-area distributed database. Outline. Motivation: Assumptions. Motivation Mariposa: A wide-area distributed database Slides originally by Shahed Alam Edited by Cody R. Brown, Nov 15, 2009 Why is Mariposa Important? Wide-area (WAN) differ from Local-area (LAN) databases. Each

More information

Query Processing & Optimization. CS 377: Database Systems

Query Processing & Optimization. CS 377: Database Systems Query Processing & Optimization CS 377: Database Systems Recap: File Organization & Indexing Physical level support for data retrieval File organization: ordered or sequential file to find items using

More information

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact:

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact: Query Evaluation Techniques for large DB Part 1 Fact: While data base management systems are standard tools in business data processing they are slowly being introduced to all the other emerging data base

More information