chapter 2 database system architecture. an “architecture” for a database system. a specification...

Post on 12-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter 2

Database System Architecture

An “architecture” for a database system.

A specification of how it will work, what it will “look like.”

The “ANSI/SPARC” architecture provides a model for a general description of database concepts.

Study Group on Database Management

Systems

National Committee on Information

Technology Standards (NCITS)

American National Standards Institute (ANSI)

Standards Planning and Requirements Committee

(SPARC)

Report “DBMS Framework”

1972, 1978

“ANSI”

“ANSI/SPARC” Architecture

“ANSI/SPARC”

“X3”

The Architecture

• Three “levels” of the architecture:

– Internal: How it is physically stored.– External: How it is used, what does it “look

like” to the user (a user).– Conceptual: An abstract specification--

how does it “look” in general, in its entirety.

Fig. 2.1 The three levels of the architecture

Fig. 2.1 The three levels of the architecture

User 1 User 2 User n Each user (or user program) has a different, and partial view of the data.

The “view” of the entire database (as seen by the designer(s) and DBA.

How the data is actually (physically) stored.

Internal level, physical level: the way the data is actually stored.

External level, user logical level: the way the data is seen by each individual user or user program.

Conceptual level, community logical level: the logical view of the entire data structure. Definitions only--no consideration of how used or stored.

External: (Java)

class Employee { String employeeNumber; String departmentNumber; float salary;

} Conceptual: Employee Employee_Number char (6) Department_Number char (4) Salary numeric(5) Internal:

STORED_EMP LENGTH = 18 PREFIX TYPE=BYTE(6), OFFSET=0 EMP# TYPE=BYTE(6), OFFSET=6, INDEX=EMPX DEPT# TYPE=BYTE(4), OFFSET=12, PAY TYPE=FULLWORD, OFFSET=16

Same data, different names

The DBMS ties it all together

At the external level, application programs are written in Java, C++, COBOL, PL/1, Ada, or … (the “host” language).

A data sublanguage is embedded in or interfaced with the program, or used interactively with the DBMS.

The data sublanguage (DSL) of the DBMS is almost universally SQL.

Fig. 2.3 Detailed system architecture

The DBMS provides:

Data Definition Language (DDL)

for the internal

external “schemas”

conceptual

The schemas (plans) are the definitions of how the data is to be stored and how it is to be viewed.

The DBMS provides:

Data Manipulation Language (DML)

for “planned” use

“unplanned” use

.

Planned: operational, production

Unplanned: ad hoc queries, DSS

Embedding:

PL/1 program, DB2 DBMS, DB2-PL/1 pre-compiler

Interfacing:

Java program, any DBMS, JDBC interface

DBMS provides for:

Data Definition

Data Manipulation

Query Capability

with a program or interactively

interactively

SQL is usually the language for all of these

The DBMS provides:

Security enforcement

Integrity checks

Recovery

Concurrency control

Transaction management

Data dictionary

Performance optimization

Data Dictionary

Catalog synonyms

Repository

The “metadata”--data about the data--part of the database (itself a database).

Fig. 2.4 Major DBMS Functions and Components

Logical to Physical Mapping

file

file block disk

block

total disk

space

disk

record 142record 142

record 142record 142

record 142

Logical to Physical Mapping

file

file block disk

block

total disk

space

disk

record 142record 142

record 142record 142

record 142

a table,

part of a table,

multiple tables

Access Methods

• Sequential Access

• Direct Access

• Indexed Access

Access Methods

• Sequential Access

read next write next (append)

(typically either read existing file or write new one)

rewind (go back to the beginning)

generally no read after write

may be able to skip ahead or back

Sequential-access File

Access Methods

• Direct Access– Relative Access, Random Access

read n write n

or, position to n read next write next

(n = relative block number)

must know n (e.g., n is employee number) or calculate n (e.g., n is hashed from employee name)

Access Methods

• Indexed Access

use of an index to find what n is

index is itself a file

if small, can be read and kept in memory

if large, can have an index to the

blocks of the large index

Example of Index and Relative Files

Access Methods

• Sequential Access vs. Direct Access

– Sequential preferable when entire file is to be accessed

– Direct access preferred when access is needed to a few records

– Application determines– Both may be desirable—more difficult to

achieve

The DBMS vendor provides utilities for:

Loading the database (from files).

Unloading/reloading the database for backup.

Reorganization (to improve performance).

Gathering statistics (on usage or performance).

Statistical analysis.

Client/Server Architecture

Fig. 2.5 Client/server architecture

Backends and Frontends

CPUDatabase Network, Users

“backend”

(DB manager)

“frontend”

(DC manager)

“back” “front”

Distributed Processing

Fig. 2.6 Client and server running on different machines

Backends and Frontends

NetworkServer

(DBMS)Client

“backend” “frontend”

Fig. 2.7 One server machine, many client machines

Distributed processing, centralized database

Fig. 2.8 Each machine runs both client(s) and server

Distributed database

“Two-tier” Systems

Application Server

Database Server

Client

same or different computers

network

networkServer

(DBMS)Client

Application Server

Database Server

Client

network

“fat” client

“thin” client

2.2 Define the following terms:

back end front end

client host language

conceptual DDL, schema, view load

conceptual/internal mapping logical database design

data definition language internal DDL, schema, view

data dictionary physical database design

data manipulation language planned request

data sublanguage reorganization

DB/DC system server

DC manager storage structure definition

distributed database unload/reload

distributed processing unplanned request

external DDL, schema, view user interface

external/conceptual mapping utility

top related