Kap. 7 IS-Infrastruktur: Zusammenfassung

Werbung
Kap. 7
IS-Infrastruktur: Zusammenfassung
In Teil I haben wir verschiedene Middleware-Lösungen zur Entwicklung
(komplexer), verteilter Informationssysteme kennengelernt
‰ Wir haben Middleware eingeführt als „Basisdienste zur Unterstützung der
Entwicklung und Ausführung von Anwendungen mit dem Ziel der Trennung von
Infrastruktur-Funktionalität und Anwendungsfunktionalität“
‰ Wie gut wird dieses Ziel von den unterschiedlichen Middleware-Lösungen
unterstützt (am Beispiel von Transaktionsgarantien)?
• Fat Clients: SQL-Middleware (ESQL, CLI)
– Sehr rudimentäre Transaktionsunterstützung
– Koordination verteilter Transaktionen (2PC) muss vom Entwickler selbst
•
•
ausprogrammiert werden
Fat Servers: TP-Lite
– Gut geeignet, falls keine Verteilung berücksichtigt werden muss.
– Ansonsten: Aufrufhierarchie von Prozeduren muss bekannt sein, damit eine
äussere Transaktionsklammer gesetzt werden kann (siehe Übung 1)
TP-Monitore
– Auf prozedurale Anwendungsentwicklung beschränkt.
– Gute Unterstützung verteilter Transaktionen, unter Verwendung spezieller APIs
(siehe X/Open)
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 1
... Zusammenfassung
•
•
•
•
DOM/CORBA
– Ebenfalls gute Unterstützung verteilter Transaktionen (OTS)
– Jedoch: explizites Erzeugen und Weitergeben des Transaktionskontextes
Objekt-Transaktions-Monitore: COM+
– Explizites Setzen des Transaktionskontexts und deklarative Spezifikation
durch Deployment möglich.
Objekt-Transaktions-Monitore: EJB
– Mächtige Unterstützung deklarativer Spezifikation durch Deployment.
– Setzt den Middleware-Anspruch der Trennung von InfrastrukturFunktionalität und Anwendungsfunktionalität sehr gut um
– Nachteil: komplexe Systeme, fehlende Übersicht, ob die Anwendung auch
wirklich in der vom Entwickler gewollten Semantik angewandt wird
(Deployment)
MOM / Persistent Queues / Queued Transactions
– Grösserer Aufwand, verteilte Transaktionen zu implementieren,
da Kombination von drei unabhängigen Transaktionen erfordert
(Zusatzaufwand vor allem bei der Recovery).
– Gewinn ist jedoch die stärkere Entkopplung einzelner Komponenten.
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 2
Transaktionsunterstützung (nach OHE99)
Feature
Ordinary Queues, RPCs, ORBs,
Publish-and-Subscribe, and
Conversational Communications
Transactional Queues, RPCs, ORBs,
Publish-and-Subscribe, and
Conversational Communications
Participants
Loosely-coupled client/server programs
Transactionally bound client/server and
server/server programs. The message
invocation causes the recipient program to join
the transaction
Commit synchronization
No
Yes
Only-once semantics
No
Yes
Server management on
the recipient node
No. It’s just a delivery mechanism. (ORBs
provide minimal server management.)
Yes. The process that receives the message is
started , load balanced, monitored, and
tracked as part of the transaction.
Load balancing
Using the directory services. The first server to
register becomes a hotspot. No dynamic load
balancing is provided.
Uses the TP Monitor’s sophisticated loadbalancing algorithms. Can spread work across
multiple machines and dynamically add more
processes to cover hotspot of activity. Several
servers can read from same queue
Supervised exchanges
No. Exchanges are simply between the client and
the server. The exchanges are transient. No
crash recovery or error management is provided.
You’re on your own.
The TP Monitor supervises the entire
exchange, restarts communication links,
redirects messages to an alternate server
process if the first one gets hung, performs
retries, and provides persistent queues and
crash recovery.
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 3
Die Ideale Middleware ?
‰
‰
Und welches ist jetzt die ideale Middleware-Lösung?
Die gibt es nicht!
•
Alle Ansätze sind sehr gut geeignet für bestimmte,
(teilweise eng eingegrenzte) Probleme
•
Middleware-Funktionalität der vorgestellten Lösungen
bzw. Produkte verschmilzt immer mehr, d.h. Systeme
verbinden immer mehr die Vorteile der unterschiedlichen
Ansätze („Best-of-breed“)
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 4
Beispiel: TP-Lite oder TP-Heavy?
Dies war eine aktive Diskussion vor wenigen Jahren!
Es ist aber zu erwarten, dass die Unterschiede verschwinden.
DBMS-Hersteller werden eine TP-Monitor-ähnliche (Middleware)-Schicht
anbieten (siehe auch die Entwicklung hin zu multiplen, asymmetrischen
DBMS-Servern)
TP-Lite
TP-Heavy
20 TPS
200
Clients
Informix
DB Engine
80 TPS
Informix
DB Engine
1000
Clients
200
Dedicated
Pipes
TP
Monitor
24 Shared
Pipes
Vergleich nach Orfali/Harkey/Edwards: “Client/Server Survival Guide”
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 5
Beispiel OTS: Integration der einzelnen
Middleware-Komponenten
‰
Objekt-Transaktionsmonitore =
Objekte + Transaktionen + Messages
•
•
Integrieren die wesentlichen
Infrastruktur-Komponenten,
die wir in Teil I der Vorlesung
kennen gelernt haben
Zusätzlich: Vereinfachung
der Entwicklung komplexer
Systeme
– Von der expliziten
Programmierung
– Hin zu „Assembly“ und
„Deployment“
« EJB
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Transaktionen
Messages
Objekte
Kapitel 7: Zusammenfassung Teil I. – 6
Einschub: TPC-C-Benchmark
‰
System-Performance mit OLTP-Workload
•
•
•
•
•
•
‰
Simultane Ausführung einer Mischung aus lese- und
schreibintensiven Transaktionen
Viele konkurrierende Benutzer
On-line und asynchrone Ausführungen
Normaler CPU load, aber starker Disk-I/O
ACID Eigenschaften
4.0: referential integrity
Metrik: transactions-per-minute-C (tpmC4)
•
•
Anzahl der “orders” bearbeitet pro Minute
“business throughput”
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 7
TPC-C-Schema
Remote-W.
W * 10
10
Warehouse
W
10
100k
History
remote warehouse
is new in TPC-C version 4.x
W * 30k+
3k +
1+
W * 30k
W * 100k
Arrows:
foreign-key relationships;
arrow points to primary key
Numbers on arrows:
relationship cardinality
‘+’ symbol:
indicates variations in sizes
Objektverwaltung höherer Ordnung (OHO) – SS 2002
3k
Customer
Stock
Legend
Numbers in boxes:
table cardinality (# of rows)
District
W * 10
3k +
3+
W
OrderLine
W*2700k+
15 - 45
Order
W * 90k+
Item
100k
0-1
NewOrder
W * 9k+
Kapitel 7: Zusammenfassung Teil I. – 8
TPC-C-Transactions
10/23
10/23
1/23
1/23
1/23
‰
‰
‰
Customer-Inquiry
New-Order
Customer-Inquiry
Payment
Customer-Inquiry
Order-Info.
1
Select txn from menu:
1. New-Order
2. Payment
3. Order-Status
4. Delivery
5. Stock-Level
45%
43%
4%
4%
4%
2
Customer-Inquiry
Input screen
3
Stock-Info.
Emulierter Benutzer wählt zufällig eine
Transaktion aus
Delivery-Transaktion läuft asynchron (als Batch)
Vorgegebene Verteilung
Output screen
Go back to 1
fl 80:20 read-write (TPC-C 3.x: 60:40)
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 9
Typische TPC-C-Konfiguration
Hardware
Emulated User Load
Driver System
Presentation Services
Term.
LAN
Client
Software
C/S
LAN
Database
Server
...
Response Time
measured here
RTE, e.g.:
Empower
preVue
LoadRunner
Database Functions
TPC-C application +
TP-Monitor and/or
database RPC library
e.g., Tuxedo, ODBC
Objektverwaltung höherer Ordnung (OHO) – SS 2002
TPC-C application
(stored procedures) +
Database engine +
TP-Monitor
e.g., SQL Server, Tuxedo
Kapitel 7: Zusammenfassung Teil I. – 10
TPC-C-Konfiguration: Hardware
Server:
32 Knoten
Je:
8 x 900MHz CPU
1GB RAM
5 Disk Arrays
110 Disks
Clients:
64 Proliant
800Mhz PCs
2 CPUs, 512MB
Insgesammt:
256 CPUs
3520 Disks
(60TB Storage)
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 11
TPC-C-Benchmark Ergebnisse
‰
‰
‰
Systemkosten: $10.603.803
tpmC 709.220,08 oder $14.96 pro Tx
Benutzer: 576.000
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 12
TPC-C Benchmarkresultate nach Performance
Cluster
Rank
Company
System
TpmC
$/tpmC
Database
TP-Monitor
OS
1
HP
ProLiant
DL760-900-256P
709’220
14.96 $
Microsoft SQL Server 2000
Microsoft COM+
Windows 2000
X
2
IBM
e-xSeries 370 c/s
688’220
22.58 $
Microsoft SQL Server 2000
Microsoft COM+
Windows 2000
X
3
HP
ProLiant
DL760-900-192P
567’882
14.04 $
Microsoft SQL Server 2000
Microsoft COM+
Windows 2000
X
4
Fujitsu
PRIMEPOWER
2000 c/s w
66 Front-Ends
455’818
28,58 $
SymfoWARE Server
Enterp. Ed.
BEA Tuxedo 6.5
Sun Solaris 8
5
IBM
e-xSeries 370 c/s
440’879
19.35 $
IBM DB2 UDB 7.1
Microsoft COM+
Windows 2000
X
6
HP
ProLiant
DL760-900-128P
410’769
13.02 $
Microsoft SQL Server 2000
Microsoft COM+
Windows 2000
X
7
HP
HP 9000 Superdome Enterprise
Server
389’434
21.24 $
Oracle 9i Database
Enterprise Edition
BEA Tuxedo 6.4
HP UX 11.i
64-bit
8
IBM
e-xSeries 370 c/s
363’129
21.80 $
Microsoft SQL Server 2000
Microsoft COM+
Windows 2000
9
HP
Compaq Alpha
Server GS320
230’533
44.62 $
Oracle 9i Database
Enterprise Edition
Compaq DB
Web Connector
V1.1
Compaq
Tru64
UNIX 5.1
10
Fujitsu
PRIMEPOWER
2000 c/s w
/32 Front Ends
222’772
43.42 $
SymfoWARE Server
Enterp. Ed. VLM 3.0
BEA Tuxedo 6.4
Sun Solaris 8
X
Stand: 05/2002, Quelle: Transaction Processing Performance Council, http://www.tpc.org
Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kapitel 7: Zusammenfassung Teil I. – 13
Gegenüberstellung der vorgestellten Systeme
Kriterium
Plattformunabhängigkeit
Herstellerunabhängigkeit
Flexibilität / Deployment / WORA
Komplexität Programmierung
Deklarative Transaktionen
Deklarative Persistenz
Verteilungstransparenz
Synchrone / asynchrone Komm.
Skalierbarkeit
Stabilität
Investitionssicherheit
ORACLE TUXEDO CORBA COM+
++
+
+
+
o
+/++
++
Objektverwaltung höherer Ordnung (OHO) – SS 2002
+
o
-o
+
+/+
+
+
o
++
++
o
+
o
o
+
+/+
o
+
o
+
+
+
+
+
+/+
+
o
o
EJB
++
+
++
++
++
++
+
+/+
o
o
o
Kapitel 7: Zusammenfassung Teil I. – 14
Herunterladen