Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Architecture and Interface of Scalable Distributed Database System SD-SQL Server Soror SAHRI Witold LITWIN Thomas SCHWARTZ Soror . sahri @dauphine. fr Witold . litwin @dauphine. fr tjschwarz @ scu . edu Ceria Laboratory Comp. Eng. Dep. Paris-Dauphine University Santa Clara U. The IASTED International Conference on DBA 2006
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Overall Architecture </li></ul><ul><li>Application Interface </li></ul><ul><li>Implementation </li></ul><ul><li>Conclusion </li></ul>
  3. 3. <ul><li>Most of DBSs have distributed/parallel versions </li></ul><ul><ul><li>SQL Server, Oracle, DB2 </li></ul></ul><ul><li>DBSs do not provide dynamically scalable tables. </li></ul><ul><ul><li>All require manual repartitioning when tables scale-up. </li></ul></ul>Introduction A Scalable Distributed Database System: SD-DBS Solution?
  4. 4. <ul><li>Applies SDDS technology to DBSs </li></ul>Introduction <ul><li>Provide many scalable distributed partitioning schemes. </li></ul><ul><li>LH*, RP*, k-RP*, LH* RS … </li></ul><ul><li>These schemes can serve as the basis for SD-DBS architecture </li></ul>Why SDDSs?
  5. 5. SD-SQL Server Architecture Split User/Application User/Application Linked SQL Servers D1 NDBs D2 Di Di+1 _D1_T SD-SQL server SD-SQL server SD-SQL client D1_T SD-SQL Server Managers _D1_T _D1_T T sd_select SD-SQL peer sd_insert
  6. 6. SD-SQL Server Architecture Nodes, SDBs, NDBs DB1 SDB Node1 Node2 Node3 Node i D B 1 …… D B1 D B 1 DB2 SDB D B2 D B2 MDB
  7. 7. <ul><li>A scalable (distributed) table is a collection of segments </li></ul><ul><ul><li>Segments are SQL tables </li></ul></ul><ul><li>A scalable table has, initially, only one primary segment </li></ul><ul><ul><li>At some server or peer NDB </li></ul></ul><ul><li>The number of segments in a scalable table is variable. </li></ul><ul><ul><li>If a segment overflows , its split is triggered </li></ul></ul>SD-SQL Server Architecture Scalable Tables: Segments
  8. 8. SD-SQL Server Architecture Scalable Tables: Split <ul><li>A split occurs when an insert overflows the segment capacity </li></ul><ul><li>Splits produce other segments for a scalable table. </li></ul><ul><ul><li>Each is located at a different NDB </li></ul></ul><ul><ul><ul><li>Within the SDB </li></ul></ul></ul><ul><li>If there is not enough NDBs, splits dynamically append new ones </li></ul>
  9. 9. SD-SQL Server Architecture Images <ul><ul><li>Images hide the scalable table segments </li></ul></ul><ul><ul><li>An image is a distributed updateable partitioned view of a scalable table </li></ul></ul><ul><ul><ul><li>Union-all view with check constraints </li></ul></ul></ul><ul><ul><li>An image presents the scalable table partitioning </li></ul></ul><ul><ul><ul><li>It do not address any new segments resulted from a split </li></ul></ul></ul><ul><ul><li>Each scalable table has only one primary image and one or several secondary images </li></ul></ul>
  10. 10. CREATE VIEW T AS SELECT * FROM N1.DB1._N3_T UNION ALL SELECT * FROM N2.DB1._N3_T UNION ALL SELECT * FROM Ni.DB1._N3_T SD-SQL Server Architecture Images … DB1 SDB N1. D B1 N2. D B1 Ni. D B1 T Scalable Table Primary Image
  11. 11. SD-SQL Server Application Interface <ul><li>The application interface manipulates scalable tables through SD-SQL Server commands. </li></ul><ul><li>The SD-SQL Server commands start with ‘ sd_’ to distinguish from SQL Server commands for static tables. </li></ul><ul><li>INSERT sd_insert </li></ul><ul><ul><li>CREATE TABLE sd_create_table </li></ul></ul>
  12. 12. SD-SQL Server Application Interface <ul><li>Use of the SkyServer DB as benchmark </li></ul><ul><li>http://research. microsoft .com/~gray/SDSS </li></ul><ul><ul><li>PhotoObj table as a scalable table. </li></ul></ul><ul><ul><li>PhotoObj has 158,426 tuples ( about 260 MB) </li></ul></ul><ul><li>Use of the laboratory machines </li></ul><ul><ul><li>Ceria, Dell1, Dell2…. </li></ul></ul>
  13. 13. <ul><li>Node Creation </li></ul><ul><ul><li>sd_create_node ‘Dell1’ /* Server by default */ </li></ul></ul><ul><ul><li>sd_create_node ‘Ceria’, ‘client’ </li></ul></ul><ul><li>Node Alteration </li></ul><ul><ul><li>sd_alter_node ‘Ceria’, ‘ADD server’ /* Becomes peer*/ </li></ul></ul><ul><li>Node Removal </li></ul><ul><ul><li>sd_ drop _node ‘Ceria’ </li></ul></ul>SD-SQL Server Application Interface Nodes Management
  14. 14. SD-SQL Server Application Interface SDB/NDB Management <ul><li>SDB Creation </li></ul><ul><ul><li>sd_create_scalable_database </li></ul></ul><ul><ul><li>‘ SkyServer ’ , ‘Dell1’, ‘ Server ’, 2 </li></ul></ul><ul><ul><li>/* Creates the primary SkyServer NDB as well at Dell1*/ </li></ul></ul><ul><li>SDB Alteration </li></ul><ul><ul><li>sd_create_node_database ‘SkyServer’, ‘Ceria’, ‘Client’ </li></ul></ul><ul><li>SDB Removal </li></ul><ul><ul><li>sd_drop_scalable_database ‘SkyServer’ </li></ul></ul>
  15. 15. <ul><li>Scalable Table Creation </li></ul><ul><ul><li>sd_create_table ‘PhotoObj (objid BIGINT PRIMARY KEY…)’, 10000 </li></ul></ul><ul><li>Scalable Table Alteration </li></ul><ul><ul><li>sd_alter_table ‘PhotoObj ADD t INT’, 1000 </li></ul></ul><ul><ul><li>sd_create_index ‘run_index ON Photoobj (run)’ </li></ul></ul><ul><ul><li>sd_drop_index ‘PhotoObj.run_index’ </li></ul></ul><ul><li>Scalable Table Removal </li></ul><ul><ul><li>sd_drop_table ‘PhotoObj’ </li></ul></ul>SD-SQL Server Application Interface Scalable Tables
  16. 16. SD-SQL Server Application Interface Images <ul><li>Secondary Image Creation </li></ul><ul><ul><li>sd_create_image ‘Ceria’, ‘PhotoObj’ </li></ul></ul><ul><ul><li>sd_create_image ‘Ceria 2 ’, ‘PhotoObj’ </li></ul></ul><ul><li>Secondary Image Removal </li></ul><ul><ul><li>sd_drop_image 'PhotoObj’ </li></ul></ul>
  17. 17. SD-SQL Server Application Interface Scalable Queries <ul><li>USE Skyserver /* SQL Server command */ </li></ul><ul><li>Scalable Update Queries </li></ul><ul><ul><li>sd_insert ‘INTO PhotoObj SELECT * FROM Ceria5.Skyserver-S.PhotoObj’ </li></ul></ul><ul><li>Scalable Search Queries </li></ul><ul><ul><li>sd_select ‘* FROM PhotoObj’ </li></ul></ul><ul><ul><li>sd_select ‘TOP 5000 * INTO PhotoObj1 FROM PhotoObj’, 500 </li></ul></ul>
  18. 18. SD-SQL Application Interface
  19. 19. SD-SQL Application Interface Command Processing <ul><li>SD-SQL Server uses distributed stored procedures with dynamic SQL… </li></ul><ul><li>SD - SQL Server processes every command as a distributed transaction at Repeatable Read isolation level </li></ul><ul><li>See details in the paper s </li></ul><ul><ul><li>“ SD-SQL Server: a Scalable Distributed Database System ” , CERIA Research Report 2005-12-13, December 2005  </li></ul></ul><ul><ul><li>“ Overview of Scalable Distributed Database System SD-SQL Server” , Intl. Workshop on Distributed Data and Structures, WDAS 2006, Santa Clara, CA, Carleton Scientific. </li></ul></ul>
  20. 20. Conclusion <ul><li>Scalable distributed databases with scalable tables are now a reality with SD-SQL Server </li></ul><ul><ul><li>No more manual repartitioning </li></ul></ul><ul><ul><ul><li>Unlike in any other DBS we know about </li></ul></ul></ul><ul><ul><ul><ul><li>See the “Related Work” in the paper </li></ul></ul></ul></ul><ul><li>The performance analysis proves </li></ul><ul><ul><li>Efficiency of our design </li></ul></ul><ul><ul><li>Immediate utility of SD-SQL Server </li></ul></ul>
  21. 21. Thank you. For more details: http://ceria.dauphine.fr