210 likes | 330 Vues
This paper presents the architecture and application interface of a Scalable Distributed Database System (SD-DBS) using SD-SQL Server. Traditional database systems like SQL Server and Oracle lack dynamically scalable tables, necessitating manual repartitioning as they scale. This research introduces scalable distributed partitioning schemes to enhance performance. By employing segments and dynamic splits, SD-SQL Server manages scaling efficiently. The paper outlines command usage for manipulating scalable tables, nodes, and scalable databases. It serves as a significant reference for distributed database architecture.
E N D
Architecture and Interface of Scalable Distributed Database System SD-SQL Server Soror SAHRI Witold LITWIN Thomas SCHWARTZ Soror.sahri@dauphine.frWitold.litwin@dauphine.frtjschwarz@scu.edu Ceria Laboratory Comp. Eng. Dep. Paris-Dauphine University Santa Clara U. The IASTED International Conference onDBA 2006
Outline • Introduction • Overall Architecture • Application Interface • Implementation • Conclusion
Most of DBSs have distributed/parallel versions SQL Server, Oracle, DB2 DBSs do not provide dynamically scalable tables. All require manual repartitioning when tables scale-up. Solution? Introduction A Scalable Distributed Database System: SD-DBS
Why SDDSs? Introduction AppliesSDDS technology to DBSs • Provide many scalable distributed partitioning schemes. • LH*, RP*, k-RP*, LH*RS… • These schemes can serve as the basis for SD-DBS architecture
SD-SQL Server Architecture User/Application User/Application sd_insert sd_select SD-SQL ServerManagers SD-SQLserver SD-SQLpeer SD-SQLclient SD-SQLserver LinkedSQLServers D1_T T _D1_T _D1_T _D1_T Split NDBs D2 Di Di+1 D1
…… Node1 Node2 Node3 Node i DB1 DB2 DB1 DB2 DB1 DB2SDB DB1SDB MDB SD-SQL Server ArchitectureNodes, SDBs, NDBs
SD-SQL Server ArchitectureScalable Tables: Segments • A scalable (distributed) table is a collectionof segments • Segments are SQL tables • A scalable table has, initially, only one primary segment • At some server or peer NDB • The number of segments in a scalable table is variable. • If a segment overflows, its split is triggered
SD-SQL Server ArchitectureScalable Tables: Split • A split occurs when an insert overflows the segmentcapacity • Splits produce other segments for a scalable table. • Each is located at a different NDB • Within the SDB • If there is not enough NDBs, splits dynamically append new ones
SD-SQL Server ArchitectureImages • Images hide the scalable table segments • An image is a distributed updateable partitionedviewof a scalable table • Union-all view with check constraints • An image presents the scalable table partitioning • It do not address any new segments resulted from a split • Each scalable table has only oneprimary image and one or several secondary images
DB1SDB N1.DB1 N2.DB1 Ni.DB1 T Scalable Table Primary Image SD-SQL Server ArchitectureImages … 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 Application Interface • The application interface manipulates scalable tables through SD-SQL Server commands. • The SD-SQL Server commandsstart with ‘sd_’ to distinguish from SQL Server commands for static tables. INSERTsd_insert • CREATE TABLEsd_create_table
SD-SQL Server Application Interface • Use of the SkyServer DB as benchmark http://research.microsoft.com/~gray/SDSS • PhotoObj table as a scalable table. • PhotoObjhas 158,426 tuples (about 260 MB) • Use of the laboratory machines • Ceria, Dell1, Dell2….
SD-SQL Server Application InterfaceNodes Management • Node Creation • sd_create_node ‘Dell1’/* Serverby default */ • sd_create_node ‘Ceria’, ‘client’ • Node Alteration • sd_alter_node ‘Ceria’, ‘ADD server’ /* Becomes peer*/ • Node Removal • sd_drop_node ‘Ceria’
SD-SQL Server Application InterfaceSDB/NDB Management • SDB Creation • sd_create_scalable_database ‘SkyServer’, ‘Dell1’, ‘Server’,2 /* Creates the primary SkyServer NDB as well at Dell1*/ • SDB Alteration • sd_create_node_database‘SkyServer’, ‘Ceria’, ‘Client’ • SDB Removal • sd_drop_scalable_database‘SkyServer’
SD-SQL Server Application InterfaceScalable Tables • Scalable Table Creation • sd_create_table ‘PhotoObj (objid BIGINT PRIMARY KEY…)’, 10000 • Scalable Table Alteration • sd_alter_table‘PhotoObj ADD t INT’, 1000 • sd_create_index‘run_index ON Photoobj (run)’ • sd_drop_index‘PhotoObj.run_index’ • Scalable Table Removal • sd_drop_table ‘PhotoObj’
SD-SQL Server Application InterfaceImages • Secondary Image Creation • sd_create_image‘Ceria’, ‘PhotoObj’ • sd_create_image‘Ceria2’, ‘PhotoObj’ • Secondary Image Removal • sd_drop_image'PhotoObj’
SD-SQL Server Application InterfaceScalable Queries USE Skyserver /* SQL Server command */ • Scalable Update Queries • sd_insert‘INTO PhotoObj SELECT * FROM Ceria5.Skyserver-S.PhotoObj’ • Scalable Search Queries • sd_select‘* FROM PhotoObj’ • sd_select ‘TOP 5000 * INTO PhotoObj1 FROM PhotoObj’, 500
SD-SQL Application InterfaceCommand Processing • SD-SQL Server uses distributed stored procedures with dynamic SQL… • SD-SQL Server processes every command as a distributed transaction at Repeatable Read isolation level • See details in the papers • “SD-SQL Server: a Scalable Distributed Database System”, CERIA Research Report 2005-12-13, December 2005 • “Overview of Scalable Distributed Database System SD-SQL Server”, Intl. Workshop on Distributed Data and Structures, WDAS 2006, Santa Clara, CA, Carleton Scientific.
Conclusion • Scalable distributed databases with scalable tables are now a reality with SD-SQL Server • No more manual repartitioning • Unlike in any other DBS we know about • See the “Related Work” in the paper • The performance analysis proves • Efficiency of our design • Immediate utility of SD-SQL Server
For more details: http://ceria.dauphine.fr Thank you.