WDAS Workshop, Lausanne, Jul. 9th1 Implementing SD-SQL Server: a Scalable Distributed Database System Soror SAHRI Witold LITWIN

Slides:



Advertisements
Similar presentations
DB glossary (focus on typical SQL RDBMS, not XQuery or SPARQL)
Advertisements

Tuning: overview Rewrite SQL (Leccotech)Leccotech Create Index Redefine Main memory structures (SGA in Oracle) Change the Block Size Materialized Views,
Big Data Working with Terabytes in SQL Server Andrew Novick
Fundamentals, Design, and Implementation, 9/e Chapter 8 Database Redesign.
A comparison of MySQL And Oracle Jeremy Haubrich.
Rim Moussa University Paris 9 Dauphine Experimental Performance Analysis of LH* RS Parity Management Workshop on Distributed Data Structures: WDAS 2002.
Introduction to Structured Query Language (SQL)
Witold Litwin Riad Mokadem Thomas Schwartz Disk Backup Through Algebraic Signatures.
Introduction to Structured Query Language (SQL)
Soror SAHRI SD-SQL Server: a Scalable Distributed Database.
SD-SQL Server : A Scalable Distributed Database System Witold LITWIN, Soror SAHRI & Thomas SCHWARZ
An Overview of a Scalable Distributed Database System: SD-SQL Server Witold LITWIN, Soror SAHRI & Thomas SCHWARZ
DAT702.  Standard Query Language  Ability to access and manipulate databases ◦ Retrieve data ◦ Insert, delete, update records ◦ Create and set permissions.
Overview of Database Access in.Net Josh Bowen CIS 764-FS2008.
Overview What is SQL Server? Creating databases Administration Security Backup.
Module 9: Managing Schema Objects. Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 7-1 David M. Kroenke’s Chapter Seven: SQL for Database Construction and.
LOGO 1 Lab_02: Basic SQL. 2 Outline  Database Tables  SQL Statements  Semicolon after SQL Statements?  SQL DML and DDL  SQL SELECT Statement  SQL.
 SQL stands for Structured Query Language.  SQL lets you access and manipulate databases.  SQL is an ANSI (American National Standards Institute) standard.
Oracle Data Block Oracle Concepts Manual. Oracle Rows Oracle Concepts Manual.
Soror SAHRI – June 13 th, 2006 Design & Implementation of a Scalable Distributed Database System: SD-SQL Server 1\46 pages Soror SAHRI
1 SD-Rtree: A Scalable Distributed Rtree Witold Litwin & Cédric du Mouza & Philippe Rigaux.
Chapter 7 Advanced SQL Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
SQL/Lesson 4/Slide 1 of 45 Using Subqueries and Managing Databases Objectives In this lesson, you will learn to: *Use subqueries * Use subqueries with.
SQL Server 7.0 Maintaining Referential Integrity.
Massively Distributed Database Systems - Distributed DBS Spring 2014 Ki-Joune Li Pusan National University.
Module 11: Programming Across Multiple Servers. Overview Introducing Distributed Queries Setting Up a Linked Server Environment Working with Linked Servers.
1 Theory, Practice & Methodology of Relational Database Design and Programming Copyright © Ellis Cohen Introduction to Relational Databases &
“INTRODUCTION TO DATABASE AND SQL”. Outlines 2  Introduction To Database  Database Concepts  Database Properties  What is Database Management System.
1 Scalable Distributed Database System: SD-SQL Server Soror SAHRI Ceria, Paris-Dauphine University Journées Académiques Microsoft.
Chapter 5 MYSQL Database. Introduction to MYSQL MySQL is the world's most popular open-source database. Open source means that the source code, the programming.
Data Driven Designs 99% of enterprise applications operate on database data or at least interface databases. Most common DBMS are Microsoft SQL Server,
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Information Building and Retrieval Using MySQL Track 3 : Basic Course in Database.
Prototyping SD-SQL Server: a Scalable Distributed Database System Soror SAHRI Witold LITWIN Thomas Schwarz
Oracle 11g: SQL Chapter 4 Constraints.
Module 4: Implementing Data Integrity
Chapter 4 Constraints Oracle 10g: SQL. Oracle 10g: SQL 2 Objectives Explain the purpose of constraints in a table Distinguish among PRIMARY KEY, FOREIGN.
Database Fundamental & Design by A.Surasit Samaisut Copyrights : All Rights Reserved.
Module Coordinator Tan Szu Tak School of Information and Communication Technology, Politeknik Brunei Semester
Visual Programing SQL Overview Section 1.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
1 DBS201: More on SQL Lecture 3. 2 Agenda How to use SQL to update table definitions How to update data in a table How to join tables together.
SQL Overview Structured Query Language. Description  When Codd first described the theory of relational databases, he asserted that there should be a.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Module 5: Implementing Merge Replication. Overview Understanding Merge Replication Architecture Implementing Conflict Resolution Planning and Deploying.
Chapter 5 : Integrity And Security  Domain Constraints  Referential Integrity  Security  Triggers  Authorization  Authorization in SQL  Views 
Session 1 Module 1: Introduction to Data Integrity
SQL.. AN OVERVIEW lecture3 1. Overview of SQL 2  Query: allow questions to be asked of the data and display only the information required. It can include.
IS6146 Databases for Management Information Systems Lecture 1: Introduction to IS6146 Rob Gleasure robgleasure.com.
Distribution of Marks For Second Semester Internal Sessional Evaluation External Evaluation Assignment /Project QuizzesClass Attendance Mid-Term Test Total.
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
SQL Query Analyzer. Graphical tool that allows you to:  Create queries and other SQL scripts and execute them against SQL Server databases. (Query window)
SQL Introduction to database and SQL. Chapter 1: Databases and Database Users 6 Introduction to Databases Databases touch all aspects of our lives. Examples:
Level 1-2 Trigger Data Base development Current status and overview Myron Campbell, Alexei Varganov, Stephen Miller University of Michigan August 17, 2000.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
LM 5 Introduction to SQL MISM 4135 Instructor: Dr. Lei Li.
SQL Server Statistics DEMO SQL Server Statistics SREENI JULAKANTI,MCTS.MCITP,MCP. SQL SERVER Database Administration.
1. Advanced SQL Functions Procedural Constructs Triggers.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
INTRODUCTION TO DATABASES (MICROSOFT ACCESS)
Module T03d Software Engineering
Prepared by : Moshira M. Ali CS490 Coordinator Arab Open University
An Overview of a Scalable Distributed Database System: SD-SQL Server
Microsoft SQL Server 2014 for Oracle DBAs Module 7
SQL .. An overview lecture3.
Introduction To Structured Query Language (SQL)
Soror SAHRI Witold LITWIN Thomas SCHWARTZ
Database SQL.
Presentation transcript:

WDAS Workshop, Lausanne, Jul. 9th1 Implementing SD-SQL Server: a Scalable Distributed Database System Soror SAHRI Witold LITWIN CERIA Laboratory

WDAS Workshop, Lausanne, Jul. 9th2 Overview Objective SDDS & DBS Principles The Gross Architecture of SD-SQL Server Server Side Client Side Experimental Performance Analysis Conclusion & Future Work

WDAS Workshop, Lausanne, Jul. 9th3 Objective Most of DBSs have parallel versions SQL Server, Oracle, DB2 DBSs do not provide dynamically scalable tables. Manual reorganizing if a table scale-up. Add a layer on DBSs’ Architecture

WDAS Workshop, Lausanne, Jul. 9th4 Objective Use the SDDS theory. Use the Distributed Partitioned Views of DBSs. Result We call the result SD-DBS Architecture Our prototype is SD-SQL Server.

WDAS Workshop, Lausanne, Jul. 9th5 SDDS Principles Scalable partitioning using splits of overloaded servers. Clients have private images of data partitioning.

WDAS Workshop, Lausanne, Jul. 9th6 Distributed & Partitioned Views Distributed & Partitioned Views allow the data in a large table to be split into smaller member tables in distributed servers. The data is partitioned between the member tables based on ranges of data values. Horizontal partitioning. The data ranges for each member table are defined in a CHECK constraint specified on the partitioning key. A view that uses UNION ALL to combine selects of all the member tables into a single result set is then defined.

WDAS Workshop, Lausanne, Jul. 9th7 SD-SQL Server Marriage of SDDS & DBS principles. Application to SQL Server 2000 DBS. Scalable dataTables SDDS SQL Server 2000 Images Partitioned & distributed views SD-SQL Server Scalable tables Scalable Distributed Views

WDAS Workshop, Lausanne, Jul. 9th8 Gross Architecture SD-DBS SDDS layer SD-DBS Application SQL Server Di …... SQL Server D2 SQL Server D1 SQL Server layer

WDAS Workshop, Lausanne, Jul. 9th9 SDDS Layer The SDDS Layer is composed of: Server Side: manages the scalable tables, and the split mechanism. Client Side: manages the scalable distributed views.

WDAS Workshop, Lausanne, Jul. 9th10 Segment SDDS Layer Scalable Distributed View …… Client Side …… Segments of a Scalable Table Segment Server Side DB3DB2DB1

WDAS Workshop, Lausanne, Jul. 9th11 Server Side: Scalable Tables The creation of a scalable table is similar to that of any table. With the usual CREATE TABLE statement. Each scalable table has a CHECK CONSTRAINT. Use of additional clauses related to scalable tables and store them in meta-tables: The limit size is stored in the SD-SIZE meta-table. The available servers are stored in the SD-SITE meta-table. The actual partitioning is stored in SD-C and SD-RP meta-tables.

WDAS Workshop, Lausanne, Jul. 9th12 Server Side: Scalable Tables Example: The creation of the scalable table Customer calls the stored procedure CREATE_SCALABLE_TABLE: EXEC CREATE_SCALABLE_TABLE ‘CREATE TABLE Customer (Customerid numeric PRIMARY KEY)’, 100 A trigger will be created on the Customer table. It launches the split when Customer exceeds its maximal size.

WDAS Workshop, Lausanne, Jul. 9th13 Server Side: Split Mechanism ……… Split Customer SD_CSD_RP SD_SITESD_SIZE Server1.DB_1 Meta-tables Server2.DB_1 SD_CSD_RP SD_SITESD_SIZE Meta-tables Customer

WDAS Workshop, Lausanne, Jul. 9th14 Server Side: Split Mechanism Customer SD_CSD_RP Split Server1.DB_1 Server2.DB_1 Meta-tables Server1.DB_1 Server2.DB_1 Server1.DB_1 Customer SD_CSD_RP Meta-tables Server1.DB_1

WDAS Workshop, Lausanne, Jul. 9th15 Client Side Scalable & distributed view definition is located at each SD-SQL Server client using the scalable table. Clients can have different SD views of the same scalable table. Not include all the existing segments. A client meta-table C-Image contains the number of segments of each SD view on each client.

WDAS Workshop, Lausanne, Jul. 9th16 Client Side Customer Server1.DB_1 Server2.DB_1 Customer SELECT * FROM Server1.DB_1.dbo.Customer UNION ALL SELECT * FROM Server2.DB_1.dbo.Customer SELECT * FROM Server1.DB_1.dbo.Customer Customer_View C-Image 2 Customer 1 C-Image

WDAS Workshop, Lausanne, Jul. 9th17 Client Side: View Adjustment Find all the scalable tables in Q Check each scalable view Pass Q to DBS for usual execution Adjust the outdate ones

WDAS Workshop, Lausanne, Jul. 9th18 Client Side: View Adjustment Example: Q: SELECT * FROM Server2.DB_1.dbo.Customer_view, T 1.Find the scalable tables in Q: Customer_view 2.Check the correctness of the view using the SD-RP and C-Image meta-tables. Count Customer segments in SD-RP as n. Check n and n’ the number in C-Image meta-table. 3. If n’< n then Adjust the view. 4.Execute Q.

WDAS Workshop, Lausanne, Jul. 9th19 Client Side: Query Processing The SQL commands used for the application are: SELECT, INSERT, UPDATE, DELETE. Each command is executed by a stored procedure. Example: EXEC SELECT_VIEW_SITE ‘select * from Customer_view’ CREATE_SCALABLE_TABLE ALTER_SCALABLE_TABLE DROP_SCALABLE_TABLE CREATE_SCALABLE_VIEW DROP_SCALABLE_VIEW

WDAS Workshop, Lausanne, Jul. 9th20 Experimental Performance Analysis Test environment: The hardware consisted of 1.8 GHz P4 PCs, connected through 1Gbps Ethernet. The experiments are used with the Customer table. The timing of the operations are measured using the SQL Profiler.

WDAS Workshop, Lausanne, Jul. 9th Segment Capacity Split time (ms) centralized split distributed split Experim Perf Analysis: Server Side

WDAS Workshop, Lausanne, Jul. 9th22 Experim Perf Analysis: Client Side Example: Let’s the Customer_view definition: CREATE VIEW Customer_view AS SELECT * FROM Server1.DB_1.dbo.Customer. On Server2.DB_1, we execute Q: INSERT INTO Customer_view VALUES (25)

WDAS Workshop, Lausanne, Jul. 9th23 Query execution Query execution + View Segment Capacity Exécution Time (ms) View update Experim Perf Analysis: Client Side

WDAS Workshop, Lausanne, Jul. 9th24 Experim Perf Analysis: SkyServer Database Use of the SkyServer Database from the website: Creation of PhotoObj table as a scalable table. Photoobj has rows and 400 columns. Its size is 506 MB. Generation of two segments with the PhotoObj’ split.

WDAS Workshop, Lausanne, Jul. 9th25 The split time of The PhotoObj table is about 1mn. The execution time of the query 44 sec without the view update and 45 sec with the view update. select * from PhotoObj_view WHERE (status & 0x = 0) and NOT ( (status & 0x >0) and (status & 0x0010 >0)) Experim Perf Analysis: SkyServer Database

WDAS Workshop, Lausanne, Jul. 9th26 Conclusion Scalable Tables are now Reality For SD-SQL Server at least at present. Dynamic data partitioning. Splitting time is practical Small for small segments, larger for larger segments…. Sub-linear with the segment size. Time to test a scalable view or to adjust it is negligible. The prototype is available in CERIA Lab.

WDAS Workshop, Lausanne, Jul. 9th27 Future work More complex SQL queries: With subqueries, views, aliases… Complete th SQL Libarary. Use of indexes to optimize the execution time of queries. More performance analysis with the SkyServer database.

WDAS Workshop, Lausanne, Jul. 9th28 THANKS FOR YOUR ATTENTION END