Databases - System Concepts and Architecture

transportdingdongΛογισμικό & κατασκευή λογ/κού

14 Ιουλ 2012 (πριν από 5 χρόνια και 1 μήνα)

383 εμφανίσεις

3
-
1
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
EPL342

Databases
Lecture 3: Introduction III
System Concepts and Architecture
(Chapters 2.2
-
2.7, Elmasri
-
Navathe 5ED)
Department of Computer Science
University of Cyprus
Demetris
Zeinalipour
http://www.cs.ucy.ac.cy/courses/EPL342
3
-
2
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Πεξηερόκελν Γηάιεμεο
Κεθάιαην 2

2.2
)
Αξρηηεθηνληθή
Τξηώλ Σρεκάησλ
θαη
Αλεμαξηεζία Γεδνκέλσλ

2.3)
Γιώζζεο
θαη
Γηεπαθέο
Βάζεσλ
Γεδνκέλσλ

2.4
-
2.6)
Πεξηβάιινλ & Αξρηηεθηνληθέο
Σπζηεκάησλ Γηαρ. Βάζεσλ Γεδ.

Γηαζύλδεζε Σπζθεπώλ Απνζήθεπζεο

Σπγθεληξσηηθέο

Πειάηε
-
Δμππεξεηεηή (2
-
επηπεδσλ & Ν
-
επηπέδσλ)

Καηαλεκεκέλεο
3
-
3
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθή Τξηώλ
-
Σρεκάησλ
Δμσηεξηθό
Δπίπεδν
Δλλνηνινγηθό
Δπίπεδν
Δζσηεξηθό
Δπίπεδν
3
-
6
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αλεμαξηεζία Γεδνκέλσλ

Λνγηθή Αλεμαξηεζία Γεδνκέλσλ
(Logical Data
Independence)

Η δπλαηόηεηα αιιαγήο ηνπ
ελλνηνινγηθνύ ζρήκαηνο
ρσξίο λα
απαηηείηαη λα αιιάμεη ην
εμσηεξηθό ζρήκα
(απηό πνπ βιέπεη ν
ρξήζηεο)

Φπζηθή Αλεμαξηεζία Γεδνκέλσλ (
Physical Data
Independence)

Η δπλαηόηεηα αιιαγήο ηνπ
εζσηεξηθνύ ζρήκαηνο
ρσξίο λα
απαηηείηαη λα αιιάμεη ην
ελλνηνινγηθό ζρήκα
.

Παξάδεηγκα
:
Θεσξήζηε όηη νη εγγξαθέο ηεο νληόηεηαο
STUDENTS
είλαη απνζεθεπκέλεο ζην δίζθν ζε
ηπραία δηάηαμε

Δάλ πξνζηεζεί έλα
επξεηήξην (
index)
ην νπνίν καο επηηξέπεη λα
βξίζθνπκε γξεγνξόηεξα ηνπο θνηηεηέο βάζεη ηεο
ειηθίαο
ηνπο ηόηε ζα
έρεη
αιιάμεη ην θπζηθό ζρήκα.
3
-
7
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Γιώζζεο Βάζεσλ Γεδνκέλσλ

Όηαλ νινθιεξσζεί ε θάζε ηεο
ελλνηνινγηθήο
κνληεινπνίεζεο
ησλ απαηηήζεσλ ηνπ ρξήζηε ηόηε έλαο
DBA
ή
DB Designer
πξνρσξεί ζηελ πινπνίεζε ηεο βάζεο
δεδνκέλσλ κε ηα αθόινπζα
:
Α) Γιώζζα Οξηζκνύ (Γνκήο) Γεδνκέλσλ

Data Definition Language (DDL),

Φξεζηκνπνηείηαη από ηνλ
DBA
θαη ηνλ
DB
Σρεδηαζηή γηα
ηνλ νξηζκό ηνπ
Δλλνηνινγηθνύ Σρήκαηνο
(
Αλαπαξαζηαηηθνύ Μνληέινπ
) κηαο βάζεο
.
Β) Γιώζζα Φεηξηζκνύ (Δπεμεξγαζίαο) Γεδνκέλσλ

Data Manipulation Language (DML),
π.ρ,,

Φξεζηκνπνηείηαη ζηνλ νξηζκό
αλαθηήζεσλ
(retrievals)
θαη
ελεκεξώζεσλ
(updates)
3
-
8
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Γιώζζεο Βάζεσλ Γεδνκέλσλ

Α) Γιώζζα Οξηζκνύ Γεδνκέλσλ
[
Data
Definition Language (DDL)]:

Παξάδεηγκα ζε
SQL
-
DDL*:
CREATE TABLE
products (
product_no integer,
name text,
price numeri
c );
*
Δεκηοσργεί έλα πίλαθα
products
κε 3 πεδία (γλωρίζκαηα)

Σε πνιιέο
DBMSs,
ην
DDL
ρξεζηκνπνηείηαη επίζεο γηα ηνλ νξηζκό
ησλ
εζσηεξηθώλ
(π.ρ.,
indexes)
θαη
εμσηεξηθώλ
ζρεκάησλ
(
π.ρ.,
views).
Π.ρ.,
CREATE VIEW
expensive_products AS
SELECT name, price
FROM products
WHERE price>100
;
*
Δεκηοσργεί έλα λοεηό πίλαθα ποσ περηιακβάλεη κόλο ηα αθρηβά προϊόληα
3
-
9
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Γιώζζεο Βάζεσλ Γεδνκέλσλ

Γιώζζα Φεηξηζκνύ Γεδνκέλσλ
[ Data
Manipulation Language (DML)]:

Παξάδεηγκα
SQL
-
DML*:

SELECT * FROM products;
*
Δπηζηξέθεη όια ηα πξντόληα ζηνλ πίλαθα products;

Οη εληνιέο
DML (
ππόγισζζα δεδνκέλσλ) κπνξνύλ λα
ελζσκαησζνύλ ζε κηα
γιώζζα πξνγξακκαηηζκνύ
(π.ρ.,
C, C++, C#, Java,
θηι.).

Δλαιιαθηηθά, κπνξνύκε λα εθηειέζνπκε ηέηνηεο εληνιέο
απεπζείαο από ηε γξακκή εληνιώλ θάπνηνπ
θειύθνπο
SQL (psql/PostgreSQL,
SQL
*Plus/Oracle
,
SQLCMD/SQLServer
θηι) ή
αθόκα θαη κέζσ γξαθηθνύ
πεξηβάιινληνο δηαπξνζσπείαο
3
-
10
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Γιώζζεο Βάζεσλ Γεδνκέλσλ
DBMS
Program or
Script (JAVA,
PHP,
θηι.
DBMS shell
(
π.ρ.,
psql)
DML
Graphical User
Interface (
π.ρ.,
Access, SQLServer
Management
Console)
DML
DML
3
-
11
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Γιώζζεο Βάζεσλ Γεδνκέλσλ
SQL Query Builder
ζηνλ
SQLServer
Management Studio
To psql
(
PostgreSQL)
DBMS shell
3
-
12
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Τύπνη
DML

Υςεινύ Δπηπέδνπ ή Με
-
δηαδηθαζηηθέο (δεισηηθέο)
:

Π.ρ., ε
SQL
είλαη κηα ηέηνηα γιώζζα.

Σπλνινζηξεθείο
(
“set”
-
oriented
)

Επηζηρέθοσλ ηα αποηειέζκαηα ζε ζύλοια θαη ότη κηα
-
πιεηάδα
-
θάζε
-
θορά (
record
-
at
-
a
-
time
)

Γεισηηθέο (
declarative)

Ο ρξήζηεο δειώλεη
ΤΙ
ζέιεη λα αλαθηήζεη θαη όρη
ΠΩΣ
ζέιεη λα ην
αλαθηήζεη.
,
Π.ρ.,
SELECT * FROM product;

Φακεινύ Δπηπέδνπ ή Γηαδηθαζηηθέο
(imperative):

Δγγξαθνζηξεθείο
(
“tuple”
-
oriented
)

Αλαθηνύλ ηα δεδνκέλα κηα
-
εγγξαθή
-
θάζε
-
θνξά (
record
-
at
-
a
-
time
)

Παξέρνπλ βξόρνπο επαλάιεςεο, εληνιέο επηινγήο, ινγηθέο
παξαζηάζεηο, θηι καδί κε δείθηεο πινήγεζεο (
cursors).

Πξνεθηάζεηο ηεο
SQL (
δει., ε
SQL3)
παξέρνπλ ηέηνηεο δπλαηόηεηεο

Π.ρ.,
ANSI
SQL/PSM (Persistent Stored Modules)
,
PL/SQL (Oracle)
,
TSQL
(Microsoft SQL Server)
,
SPL (Informix)
,
PL/
pgPSM
(
PostgreSQL
)
3
-
13
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Τύπνη
DML

Παξάδεηγκα Φακεινύ Δπηπέδ
o
π
(Γηαδηθαζηηθήο)
SQL (
κε ρξήζε ηνπ
PL/pgPSM
ζηε
PostgreSQL)
* Δελ τρεηάδεηαη λα θαηαιάβεηε ηελ αθρηβή ιεηηοσργία ηοσ πηο θάηω θώδηθα
CREATE OR REPLACE FUNCTION
hello(uid integer)
RETURNS
varchar
AS
$$
BEGIN
DECLARE
real_name varchar;
--
Get real name
SET
real_name = (SELECT name
FROM Users
WHERE Users.uid = hello.uid);
RETURN
'Hello, ' || real_name;
END;
$$ LANGUAGE
plpgsql
;
SELECT hello(123);
Έλα ηέηνην πξόγξακκα ζα
θαηαρσξείησ απεπζείαο ζηε
βάζε δεδνκέλσλ
Η Δθηέιεζε ηνπ ζα γηλόηαλ
κε απνζηνιή κηαο εληνιήο
SQL,
π.ρ.,
SELECT hello(123);
3
-
14
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Δξγαιεία Ωθειηκόηεηαο Βάζεσλ
(
Database System Utilities
)

Τέηνηα εξγαιεία ζπλνδεύνπλ ηα εκπνξηθά θαη κε
ΣΓΒΓ, θαη εθηεινύλ ιεηηνπξγίεο όπσο
:

Φόξησζε Γεδνκέλσλ
(ζπκπεξηιακβαλνκέλνπ θαη ηεο
κεηαηξνπήο
κεηαμύ δηαθνξεηηθώλ ηύπσλ βάζεσλ)
.

Αληηγξαθή
/
Δπαλαθνξά
(
Backup
/
Restore)

Αλαδηνξγάλσζε Αξρείσλ, θηι.

(
π.ρ.,
Shrink, Detach)

Κηι..

Πνιιά
επηπιένλ
utilities
πξνζθέξνληαη σο
επεθηάζεηο
ζε κηα
DBMS
(
π.ρ.,
SQL Server Management
Studio
).
Τέηνηεο πξνεθηάζεηο ζπκπεξ.
:
Αλαθνξέο, Έιεγρνο
Δπίδνζεο, Έιεγρνο Φξεζηώλ, Σπκπίεζε Πηλάθσλ, θηι)
System Utilities
ζηνλ
SQL Server
3
-
15
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Δξγαιεία Ωθειηκόηεηαο Βάζεσλ
(
Database System Utilities
)
Αλάιπζε Δθηέιεζεο Δπεξσηήζεσλ ζηνλ
SQL Server 2008
(SQL Server Management Studio)
3
-
16
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
Θα κειεηήζνπκε ηξία επί κέξνπο ζέκαηα
:
1.
Γηαζύλδεζε Σπζθεπώλ Απνζήθεπζεο
(
Γίζθσλ)
2.
Γηαζύλδεζε Πειάηε θαη
DBMS
3.
Γηαζύλδεζε κεηαμύ
DBMS
3
-
17
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
1) Γηαζύλδεζε Σπζθεπώλ Απνζήθεπζεο

Απ’ επζείαο
ζύλδεζεο κέζσ θάπνηαο δηεπαθήο
(αιιά όρη κέζσ δηθηύνπ) (π.ρ.,
SCSI
,
SATA,
θηι.
)

Π.ρ.,
Direct Attached Storage (DAS)

Σύλδεζε κέζσ Γηθηύνπ κε ζύζηεκα απνζήθεπζεο

Network attached storage (NAS)

Φξεζηκνπνηείηαη ζήκεξα θαη ζε κηθξέο
επηρεηξήζεηο, νηθίεο κε ρξήζε πξσηνθόιισλ
όπσο
TCP/IP
, θηι.

Σύλδεζε κέζσ
(
νπηηθνύ
)
θόκβνπ
(
switch)
κε απνζεθεπηέο

Storage area network (SAN)

Γηα κεγάιεο επηρεηξήζεηο κε πνιιά
TB
δεδνκέλσλ (ζήκεξα ππάξρνπλ θαη ιύζεηο πάλσ από
TCP/IP
ην νπνίν νδεγεί ζηε ζύγθιηζε
NAS/SAN)
3
-
18
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Γίθηπν
Τειεπηθνηλσληώλ
Αξρηηεθηνληθέο
DBMS
1) Γηαζύλδεζε Σπζθεπώλ Απνζήθεπζεο
Απνζεθεπηήο Α
DB
DB
Απνζεθεπηήο Β
DB
DB
NAS
DB
1
DB
2
Κεληξηθό
Παξάξηεκα
(Λεπθσζία)
DAS
Παξάξηεκα
(Λεκεζόο)
Παξάξηεκα
(Πάθνο)
Απνζεθεπηήο Γ
DB
DB
SAN
Direct Attached Storage (DAS)
Network attached storage (NAS)
3
-
19
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
1) Γηαζύλδεζε Σπζθεπώλ Απνζήθεπζεο

RAID
*
:
Δίδνο
DAS
όπνπ γίλεηαη δηάηαμε
πνιιαπιώλ δίζθσλ ην νπνίν δίλεη ηελ εληύπσζε
ελόο
κεγάινπ
δίζθνπ
πςειώλ απνδόζεσλ
!

Σηόρνη
:

Αύμεζε
Δπίδνζεο

Γηαηί
;
Οη δίζθνη έρνπλ κεραληθά ζπζηαηηθά

είλαη αξγνί!

Αύμεζε
Αμηνπηζηίαο

Γηαηί
;
Μεραληθά θαη Ηιεθηξνληθά Σπζηαηηθά έρνπλ ζθάικαηα
!
RAID
*
:
Redundant Array
of Independent
*
(Inexpensive)
Disks
(Εθεδπικέρ Σςζηοισίερ
Ανεξαπηήηων Δίζκων )
3
-
20
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Γηαζύλδεζε Πειάηε θαη
DBMS
Α) Κεληξηθνπνηεκέλε
(Centralized) DBMS:

Σπλδπάδεη ηα πάληα ζε έλα εληαίν ζύζηεκα

Σπκπεξηιακβαλνκέλνπ
:
Λνγηζκηθνύ
DBMS
,
πιηθνύ
,
πξνγξακκάησλ εθαξκνγώλ
θαη
ινγηζκηθό αιιειεπίδξαζεο
ρξήζηε
.

Οη Φξήζηεο ζπλδένληαη κέζσ
ηεξκαηηθώλ
θαη ε
επεμεξγαζία γίλεηαη
θεληξηθνπνηεκέλα
.
Mainframe
Databases
3
-
21
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Πειάηε/Δμππεξεηεηή 2
-
επηπέδσλ
Β) Βαζηθή Αξρηη. Πειάηε
-
Δμππ. 2
-
επηπέδσλ

2
-
επηπέδσλ
:
To
ινγηζκηθό
είλαη
θαηαλεκεκέλν
πάλσ
από
δπν ζπζηήκαηα
:
ηνλ
πειάηε
θαη ηνλ
εμππεξεηεηή

Οη πειάηεο δεηνύλ
ππεξεζίεο
από ηνπο εμππεξεηεηέο
(δηαθνκηζηέο) όπσο απαηηείηαη.

Π.ρ,
Print servers, File servers, DBMS servers, Web servers, Email
servers,
θηι.

Θα νξίζνπκε ηώξα ηη είλαη πειάηεο θαη ηη δηαζέηεο….
3
-
22
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Πειάηε/Δμππεξεηεηή 2
-
επηπέδσλ
Πειάηεο (
Client
)
:
Δάλ πιεξνί ηα αθόινπζα
:

Πξνϋπόζεζε Α
:
Γηαζέηνπλ θάπνηαο κνξθήο ηνπηθήο
κνλάδαο επεμεξγαζίαο

Π.ρ.,
PC
,
Workstations
,
Smartphones
αιιά αθόκε θαη
κεραλέο
ρσξίο δεπηεξεύνπζα κλήκε
ηα νπνία ηξέρνπλ ην ινγηζκηθό ηνπ
«Πειάηε»

Γελ είλαη δειαδή απιά ηεξκαηηθά (γηαηί ζα ήηαλ Κεληξηθνπνηεκέλε
Αξρ.)

Πξνϋπόζεζε Β
:
Σπλδεδεκέλα κε ηνπο εμππεξεηεηέο κέζσ
θάπνηνπ είδνπο
δηθηύνπ
.

LAN, WIFI,
θηι.

Πξνϋπόζεζε Γ
:
Γηαζέηνπλ
δηεπαθέο
(interfaces)
ζην
ρξήζηε κέζσ ησλ νπνίσλ κπνξεί λα έρεη
πξόζβαζε ζηηο
ππεξεζίε
ο
ηνπ εμππεξεηεηή
.
3
-
23
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Γηαζέηεο
DBMS

Γηαζέηεο
(Server)
ή Γηαθνκηζηήο
:
Έλα ζύζηεκα
ην νπνίν παξέρεη ην
πιηθό
θαη ην
ινγηζκηθό
γηα
ηελ
παξνρή ππεξεζηώλ
πξνο ηνπο
πειάηεο
.

Υπεξεζίεο
:
Δθηέιεζε Δπεξσηήζεσλ θαη Γνζνιεςηώλ

Έλα κεράλεκα κπνξεί λα θέξεη έλα ή
πεξηζζόηεξνπο ξόινπο, π.ρ.,
:
3
-
24
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Γηαζέηεο
DBMS

Οη
Σρεζηαθνί (
Relational
)
DBMS
servers
νλνκάδνληαη
ζπρλά θαη
SQL servers
,
query servers
,
ή
transaction
servers

Οη εθαξκνγέο ησλ πειαηώλ θάλνπλ ρξήζε θάπνηαο
βηβιηνζήθεο (
Application Program Interface
-
API)
γηα λα
ζπλδεζνύλ κε έλα εμππεξεηεηή κε θάπνην
πξνηππνπνηεκέλν ηξόπν
:

ODBC
:
Open Database Connectivity
standard
(
πινπνηήζεηο γηα όια ηα Λεηηνπξγηθά Σπζηήκαηα)

JDBC: JAVA DB Connectivity
γηα πξόζβαζε από
πξνγξάκκαηα
JAVA

JAVA
είλαη
cross
-
platform)

Τόζν ν πειάηεο όζν θαη ν εμππεξεηεηήο πξέπεη λα είλαη
εθνδηαζκέλνη κε
θαηάιιειν ινγηζκηθό
γηα ρξήζε ησλ πην
πάλσ
standards
(
αθνινπζεί παξάδεηγκα)
3
-
25
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2)
Παξάδεηγκα Σύλδεζεο Πειάηε
-
Δμππεξεηεηή

Παράδεηγκα τρήζες
JDBC driver
ζε έλα πειάηε
γρακκέλο ζε
JAVA
γηα ζύλδεζε κε βάζε
PostgreSQL
εγθαηεζηεκέλε ζηο
ίδιο μησάνημα
.
import java
.
sql
.*;
// Αληίζηνηρνο Μεραληζκόο ζην
.NET Framework
public static void
main
(String[] args) {
Class.forName("org.postgresql.Driver");
Connection
conn
=
DriverManager.getConnection(
"jdbc:postgresql:test", “some
-
user”, “some
-
password”);
String query = "SELECT * FROM EMPLOYEE WHERE employeeid=";
query += “14;”
// παξάδεηγκα δπλακηθήο
SQL (
παξάγεηαη δηαθνξεηηθή
εληνιή
SQL
αλάινγα κε ηελ ξνε εθηέιεζεο ηνπ πξνγξάκκαηνο
Statement stmt
=
conn.createStatement();
ResultSet
rs =;
stmt.executeQuery(query)
while ( rs.next() ) { ….}
// Δπεμεξγαζία απνηειεζκάησλ ζηε
JAVA
3
-
26
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Πειάηε
-
Δμππεξεηεηή 2
-
επηπέδσλ

Έλα πξόγξακκα πειάηε κπνξεί λα ζπλδέεηαη κε πνιιαπιά
DBMSs,
ηα νπνία νλνκάδνληαη θάπνηε
πεγέο δεδνκέλσλ

Πεγέο Γεδνκέλσλ
(
Data Sources
)
κπνξεί λα είλαη από
απιά αξρεία
κέρξη δεδνκέλα εμεηδηθεπκέλνπ
ινγηζκηθνύ
ην νπνίν δηαρεηξίδεηαη δεδνκέλα (όρη απαξαίηεηα
DBMS)

Π.ρ., Αξρεία
Excel,
Αξρεία Κεηκέλνπ,
XML,
θηι.

Τα
DBMSs
μεθίλεζαλ σο
θεληξηθνπνηεκέλα
, ζηε
ζπλέρεηα
απνθεληξώζεθε ην
UI
θαη νη
εθαξκνγέο
. Η
εθηέιεζε
επεξσηήζεσλ
(queries)
θαη νη δνζνιεςίεο
παξέκεηλαλ ζην δηαζέηε.

Η
SQL
κπνξεί λα
ζεσξεζεί όηη είλαη ην «πξσηόθνιιν»
κεηαμύ
ηνπ
πειάηε
θαη ηνπ
εμππεξεηεηή
(απηό κε ην νπνίν δεηά
ιεηηνπξγίεο ν πειάηεο από ηελ εμππεξεηεηή)
3
-
27
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Πειάηε/Δμππεξεηεηή 3
-
επηπέδσλ
Γ) Πειάηε
-
Δμππ. 3
-
επηπέδσλ

Η έλλνηα απηή
δεκηνπξγήζεθε
κε ηελ εμέιημε ηνπ
Web
.

3
-
επηπέδσλ
:
To
ινγηζκηθό είλαη θαηαλεκεκέλν πάλσ από
3
ζπζηήκαηα
:
ηνλ
Πειάηε
,
ηνλ
Application Server
(
Γηαζέηεο
Δθαξκνγώλ
ή
Web Server)
θαη ηνλ
Δμππεξεηεηή

Οη πειάηεο
δεηνύλ ππεξεζίεο
από ηνπο
Application
Servers
,
απηνί κε ηελ
ζεηξά ηνπο
από ηνπο
εμππεξεηεηέο
.

Οη
Application Servers
επηβάιινπλ δηάθνξνπο πςεινύ
επηπέδνπ
πεξηνξηζκνύο
πνπ επηβάιεη
έλαο νξγαληζκόο
(π.ρ., δηαδηθαζίεο, θαλνληζκνύο, θηι) θαη θπξίσο
αζθάιεηα

Έλαο πειάηεο
ΓΔΝ
κπνξεί λα έρεη
άκεζε πξόζβαζε ζηε
DBMS
!

Π.ρ,
IBM Websphere Server, Oracle Weblogic Server, .NET
Framework, Adobe’s JRUN, Apple’s WebObjects, SAP Netweaver,
3
-
28
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Πειάηε/Δμππεξεηεηή 3
-
επηπέδσλ
Server
(DBMS)
Client
Application Server
Παξάδεηγκα Αξρηηεθηνληθήο 3
-
επηπέδσλ
κε πνιιαπινύο Γηαζέηεο Δθαξκνγώλ
3
-
29
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
2) Πειάηε/Δμππεξεηεηή 3
-
επηπέδσλ
Γπν δηαθνξεηηθέο αλαπαξαζηάζεηο ηεο
αξρηηεθηνληθήο 3 επηπέδσλ
Δπίπεδν
Δπηρεηξεκαηηθήο
Λνγηθήο
Δπίπεδν
Παξνπζίαζεο
Δπίπεδν
Υπεξεζηώλ
Βάζεσο
Γεδνκέλσλ
Γηαζέηεο
Βάζεο
Γεδνκέλσλ
Γηαζέηεο
Δθαξκνγώλ
Πειάηεο
3
-
30
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
DB
1
DB
2
Γίθηπν
Τειεπηθνηλσληώλ
Κεληξηθό
Παξάξηεκα
(Λεπθσζία)
Παξάξηεκα
(Λεκεζόο)
Παξάξηεκα
(Πάθνο)
Παξάξηεκα
(Λάξλαθα)
Παξάξηεκα
(Ακκόρσζηνο)
Παξάξηεκα
(Κεξύλεηα)
Αξρηηεθηνληθέο
DBMS
3
) Γηαζύλδεζε κεηαμύ
DBMS
Τππηθή Αξρηηεθηνληθή
Client
/
Server
ή
Centralized
3
-
31
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Παξάξηεκα
1
Παξάξηεκα
2
Γίθηπν
Τειεπηθνηλσληώλ
Παξάξηεκα
6
Παξάξηεκα
5
Παξάξηεκα
4
Παξάξηεκα
3
Αξρηηεθηνληθέο
DBMS
3
) Γηαζύλδεζε κεηαμύ
DBMS
Καηαλεκεκέλε Αξρηηεθηνληθή
3
-
32
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
3
) Γηαζύλδεζε κεηαμύ
DBMS

Καηαλεκεκέλε Βάζε
(DDB)

Μηα
ζπιινγή
από
ινγηθά
ζπζρεηηδόκελεο αιιά
αλεμάξηεηεο
βάζεηο δεδνκέλσλ πξνζβάζηκεο πάλσ από
έλα
δίθηπν ππνινγηζηώλ
.

Καηαλεκεκέλν Σπζ. Γηαρ. Βαζ. Γεδ.
(DDBMS)

Α
γεληθό ινγηζκηθό ζύζηεκα
ην νπνίν δηαρεηξίδεηαη
θαηαλεκεκέλεο βάζεηο θάλνληαο ηελ
θαηαλνκή
(δεδνκέλσλ, θόξηνπ, θηι.,)
δηαθαλή
ζην
ρξήζηε
.

Οη πεξηζζόηεξεο βάζεηο (εκπνξηθέο θαη κε)
πξνζθέξνπλ
θάπνηνπ είδνπο
δπλαηόηεηεο/επεθηάζεηο
γηα λα κεηαηξαπεί
ε βάζε ζε
θαηαλεκεκέλε βάζε δεδνκέλσλ.

Βαζηθό Πξόβιεκα
:
H
έιιεηςε θνηλώλ απνδεθηώλ
πξνηύπσλ (δει., ε θαηαλνκή πεξηνξίδεηαη θπξίσο κεηαμύ
νκνγελώλ (όκνησλ) βάζεσλ)
3
-
33
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
3
) Γηαζύλδεζε κεηαμύ
DBMS

Τν Λεηηνπξγηθό Σύζηεκα
κπνξεί σζηόζν λα δηαθέξεη
κεηαμύ ησλ
sites:

Π.ρ., ΌΛΑ ηα
sites
ηξέρνπλ
Oracle
xor
DB2
, xor
Sybase
xor
θάπνην άιιν
DBMS.

T
α
Λεηηνπξγηθά Σπζηήκαηα
ησλ θόκβσλ κπνξεί λα
είλαη έλα θξάκα από
Linux,
Window, Unix,
etc.
Site
5
Site
1
Site
2
Site
3
Oracle
Oracle
Oracle
Oracle
Site
4
Oracle
Linux
Linux
Windows
Windows
Unix
Communications
network
Οκνγελήο
(Homogeneous
)
:
Κάζε
site
ηξέρεη ηελ
ίδηα
DBMS
(
π.ρ., όιεο είλαη εθνδηαζκέλεο κε
Oracle)
Oracle
Βάζε
3
-
34
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Παξάδεηγκα Πνιιαπιώλ Βάζεσλ (
Multidatabase
)
Αξρηηεθηνληθέο
DBMS
3
) Γηαζύλδεζε κεηαμύ
DBMS

Τύπνη Δηεξνγελώλ Βάζεσλ

Οκόζπνλδα (
Federated
)
:
Έλα Σρήκα
.
Κάζε
site
κπνξεί λα
ηξέρεη δηαθνξεηηθό
DBMS
αιιά ε πξόζβαζε ζηε πιεξνθνξία
νξγαλώλεηαη κέζσ ελόο εληαίνπ ζρήκαηνο (
schema)

Υπάξρεη θεληξηθνπνηεκέλε δηαρείξηζε
αζθάιεηαο
.

Γελ ππάξρεη πνιύ ηνπηθή απηνλνκία ζε θάζε βάζε
.

Πνιιαπιώλ Βάζεσλ (
Multidatabase):
Καζόινπ Σρήκα.
Γελ
ππάξρεη έλα θαζνιηθό ελλνηνινγηθό ζρήκα. Γηα πξόζβαζε ζηε
πιεξνθνξία νξγαλώλεηαη από ηηο εθαξκνγέο.
Communications
network
Site
5
Site
1
Site
2
Site
3
Network
DBMS
Relational
Site
4
Object
Oriented
Linux
Linux
Unix
Hierarchical
Relational
Unix
Window
Δηεξνγελήο (
Heterogeneous
)
:
Γηαθνξεηηθά
sites
ηξέρνπλ
δηαθνξεηηθά
DBMSs (
ή αθόκε
non
-
relational DBMSs).
3
-
35
EPL342: Databases
-
Demetris Zeinalipour (University of Cyprus)
Αξρηηεθηνληθέο
DBMS
3
) Γηαζύλδεζε κεηαμύ
DBMS

Σηηο θαηαλεκεκέλεο βάζεηο ζεκαληηθό είλαη ην ζέκα ηεο
Καηάηκεζεο
(
Fragmentation
)
θαη
Αληίγξαθα (
Replication
)

Π.ρ., Οη πίλαθεο
EMPLOYEE
,
PROJECT
, and
WORKS_ON
κπνξεί λα
θαηαηκεζνύλ νξηδόληηα (
fragmented horizontally
)
θαη λα
αληηγξαθνύλ (
replication
)
γηα αύμεζε
επίδνζεο
,
αμηνπηζηίαο
, θηι.
o
πσο πην θάησ
:
fragmentation
Fragmentation /
Replication