march 24, 2004craig e. ward, cmsi 698 advanced topics in database systems database architecture...
TRANSCRIPT
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Database Architecture Database Architecture OverviewOverview
Database Architecture Database Architecture OverviewOverview
Client-Server and Distributed Client-Server and Distributed ArchitecturesArchitectures
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Agenda• Traditional Client-Server Architecture
• 3-Tier Client-Server and the WWW
• Distributed Database Architecture
• Changes since the 1997 Kramer paper
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Client-Server Architecture
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Spreading the Server Responsibilities
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Benefits of n-tier Architectures
• Allows for cleaner separation of– Presentation (user interface)– Business logic– Database server
• But where are the lines to be drawn?
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Implementations on the WWW
• Web browser as client– HTML, JavaScript for lightweight– Java Applets for heavyweight
• Web server as application server– Dynamic content from CGI, Java servlets, JSP,
ASP
• Database engine in the background– Oracle, MySQL, SQL Server
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Why Distributed Database Systems?
• Transparency
• Reliability and Availability
• Performance
• Expandability
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Transparency• Distribution or network transparency
– location– naming
• Replication transparency• Fragmentation transparency
– horizontal– vertical
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Reliability and Availability• Reliability is the probability that a
system will be running at some particular time.
• Availability is the probability that a system will be running and usable over a time interval.
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Performance• Remote data that feels local
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Expandability• Easier to grow something that is
already spread around.
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Horizontal Fragmentation• Derived Horizontal Fragmentation
– Split whole relations
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Vertical Fragmentation• Splitting the attributes between
fragments, duplicating the primary key to allow full reconstruction of the tuple.
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Additional DDBMS Issues• Keeping track of where data is• Distributed query processing• Distributed transaction management• Management of data replication• New problems for recovery• Security• Distributed directory management
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Types of Distributed Database Systems
• Homogeneous
• Heterogeneous
• Federated databases
• Multi-database
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Since 1997• Java to the backend server
• CORBA alternatives
• Applets replaced by server-side dynamic processing
• CGI no longer in favor
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Diagram
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems
Questions and Discussion