march 24, 2004craig e. ward, cmsi 698 advanced topics in database systems database architecture...

18
March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Database Architecture Architecture Overview Overview Client-Server and Client-Server and Distributed Architectures Distributed Architectures

Upload: heather-hoover

Post on 13-Dec-2015

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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

Page 2: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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

Page 3: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Client-Server Architecture

Page 4: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Spreading the Server Responsibilities

Page 5: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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?

Page 6: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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

Page 7: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Why Distributed Database Systems?

• Transparency

• Reliability and Availability

• Performance

• Expandability

Page 8: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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

Page 9: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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.

Page 10: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Performance• Remote data that feels local

Page 11: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Expandability• Easier to grow something that is

already spread around.

Page 12: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Horizontal Fragmentation• Derived Horizontal Fragmentation

– Split whole relations

Page 13: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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.

Page 14: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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

Page 15: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Types of Distributed Database Systems

• Homogeneous

• Heterogeneous

• Federated databases

• Multi-database

Page 16: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

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

Page 17: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Diagram

Page 18: March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures

March 24, 2004 Craig E. Ward, CMSI 698 Advanced Topics in Database Systems

Questions and Discussion