This document discusses trends in database technology, including centralized versus distributed databases. It covers the basics of distributed databases, how data is distributed, and ensuring transparency. Client-server architecture is introduced as evolving from distributed databases, distributing users but centralizing data. Finally, the document briefly outlines object-oriented data modeling and its benefits over traditional EER modeling.
This document discusses trends in database technology, including centralized versus distributed databases. It covers the basics of distributed databases, how data is distributed, and ensuring transparency. Client-server architecture is introduced as evolving from distributed databases, distributing users but centralizing data. Finally, the document briefly outlines object-oriented data modeling and its benefits over traditional EER modeling.
This document discusses trends in database technology, including centralized versus distributed databases. It covers the basics of distributed databases, how data is distributed, and ensuring transparency. Client-server architecture is introduced as evolving from distributed databases, distributing users but centralizing data. Finally, the document briefly outlines object-oriented data modeling and its benefits over traditional EER modeling.
CMSC 127 Current Trends in DB Technology: Centralized vs. Distributed DBs
● Centralized Databases - all data at single computer
site. Advantage: greater control of database Disadvantage: inaccessible to remote users, high communication costs, if central server down -- all down Current Trends in DB Technology: Centralized vs. Distributed DBs ● Current Trend --> towards distributing data. data at multiple sites interconnected via communications networks data may be in heterogeneous platforms/networks ● Advantage: increased reliability/availability of data, local control, modular growth, reduced communication costs, improved performance (faster response to requests for data) ● Disadvantage: costly and complex software, high processing overhead, difficult to maintain data integrity, slow response to requests if data not distributed properly. DISTRIBUTED DATABASES To run distributed database, need Distributed DBMS (coordinates data access to nodes) 1. checks if transaction is local (can be processed at local site) or global (need access to data at nonlocal site) 2. if global -- check data directory and route to nonlocal site as necessary. DISTRIBUTED DATABASES HOW IS DATA DISTRIBUTED? ● data replication ● partitioning horizontal partitioning vertical partitioning DISTRIBUTED DATABASES WAYS TO CONNECT ● LAN (local area network) -- if systems are in close proximity ● Long Haul Networks - distributed over large distances (use telephone lines/satellites) ● may use different network topologies (i.e fully connected, partially connected, star, ring, tree). DISTRIBUTED DATABASES BASIC RULE OF DIST’D DATABASES --> transparency (system appears non-distributed to users) 1. location transparency - user is not aware of site of data being accessed. 2. replication transparency - user is not aware that more than 1 copy of data exists. 3. failure transparency - all actions of a transaction are completed at each site or none are committed. 4. concurrency transparency - allows multiple users to use dbms at same time and not worry about updating the same data at same time. ● The concept of Client/Server Architecture evolved out of distributed database development. CLIENT/SERVER ARCHITECTURE ● Data centralized on 1 computer (the server) and each user’s computer (the client) connected to the server via a network. ● Concept is to distribute users and centralize data. ● Usually used to network personal computers & workstations, and replace old mainframe appns (downsizing) CLIENT/SERVER ARCHITECTURE ● Advantage: greater flexibility to develop applications in convenient environments, more sensible distribution of duties to form a cooperative computing situation, makes use of desktop PC’s already existing, GUIs -- easier to use, replace expensive mainframes with less expensive hardware (downsizing) ● Components: local area networks, database servers, application programming interfaces, application development tools. Object Oriented Data Modeling
● Centers around objects and classes
● Involves inheritance ● Encapsulates both data and behavior ● Benefits of Object-Oriented Modeling Ability to tackle challenging problems Improved communication between users, analysts, designer, and programmers Increased consistency in analysis and design Explicit representation of commonality among system components System robustness Reusability of analysis, design, and programming results Figure 14-1 – Phases of object-oriented systems development cycle OO vs. EER Data Modeling Object Oriented EER Class Entity type Object Entity instance Association Relationship Inheritance of attributes Inheritance of attributes Inheritance of behavior No representation of behavior
Object-oriented modeling is frequently accomplished using the
Unified Modeling Language (UML) Summary ● We have discussed the following topics: Distributed databases Client-Server Architecture Object-Oriented data modeling