Topic 2: Database Management System Architectures
Distributed DBMS
A DBMS can be operated by several servers Each server has none, some, or all of the DB stored locally Goal: Be completely transparent to the users
Architecture
A description of DBMS components and their interconnections
Client-Server Architecture
A type of two-tier server architecture Connects the user (user apps) to the server (DBMS) through the network. The server then allows access to the DB Variations could include the number of clients and servers as well as making parts of the DBMS be able to be executed by clients
External-Conceptual Mapping
Allows field renamings and arrangements for user benefit Provides LDI (if possible!)
Decentralization became feasible when...
Computers became less expensive and more powerful Broadband networking became commonplace
Conceptual-Internal Mapping
Converts logical structure to physical requirements Provides PDI
Centralized Architecture
DBMSes were originally built on this All components (OS, DBMS, compilers, etc.) on one computer All or nothing with respect to failures Often a performance bottleneck (because it needed to serve the needs of many users)
External Level
Defines end-user perspectives on the DB (defined by an external schema)
Conceptual Level
Defines field-level groupings, group relationships, etc. Abstracted form Described by a conceptual schema Logical Data Independence
Server Architecture
Divides services between different servers
Internal Level
Field and record sizes, indices, field representations, record orderings, etc. Hidden from the application programs Described by an internal schema Physical Data Independence
Client
Handles presentation of data, runs business applications that rely on DBMS
Server
Handles requests from clients and runs the DBMS
Multi-Tier Architecture
Have more than two tiers to distribute functionality across more servers Add more functionality to the environment Example: Client <-> Web Server <-> Application Server <-> DBMS <-> DB
External-External Mapping
Often easier to tweak an existing view Usually more efficient to base views on conceptual level
ANSI/SPARC Architecture
Standardize terms and concepts surrounding DBs and DBMSes Allow for multiple views of the data to satisfy a range of users Allow for a physical (disk-level) description of the database Provide an abstraction layer to separate the two
Mappings
The interfaces between levels
Schema
The overall description of a database at different levels of granularity