,1)$GYDQFHG'DWDEDVH6\VWHPV 127(WKDWROGFRGHVDUH ,10'6RU81,., 0RGHUQ'%6 DQGODWHVW,1) $GYDQYHG '%6

advertisement
,1)$GYDQFHG'DWDEDVH6\VWHPV
127(WKDWROGFRGHVDUH
,10'6RU81,.,0RGHUQ'%6
DQGODWHVW,1)$GYDQYHG '%6
3URI9HUD*RHEHO
JRHEHO#LILXLRQR
,QVWLWXWW IRULQIRUPDWLNN
8QLYHUVLWHWHW L2VOR
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-1
&RQWHQWVDQG2UJDQL]DWLRQRI,1) ‡ /HDUQDERXWFRQFHSWVDQGGHVLJQQRWVRPXFKDERXWFRQFUHWHV\VWHPV
‡ 8QGHUVWDQGDSSOLFDWLRQUHTXLUHPHQWVLQRUGHUWRGHWHUPLQHZKDWDUHWKH
ULJKW'%6WHFKQRORJLHVWRXVH
‡ 5HODWLYHO\PDWXUH'%6WHFKQRORJLHVQRWWKHODWHVWUHVHDUFKDSSURDFKHV
‡ 2UJDQL]DWLRQRIWKHFRXUVH ZHHNVGLVWULEXWHGDV«
‡ [KRXUVKRXUVRIOHFWXUHV
‡ [KRXUVKRXUVRI³VSDFH´IRUPDQGDWRU\H[HUFLVHVWHUP
SURMHFWV
‡ [KRXUVRI³VSDFH´IRUH[DPSUHSDUDWLRQVUHDGLQJVDQGSUHSDUDWLRQV
WRWKHILQDOVXPPDU\VHVVLRQ
‡ ([DP 7REHDQQRXQFHG0D\EHRUDORUZULWWHQGHSHQGLQJXSRQWKH
QXPEHURIVWXGHQWVWDNLQJWKHH[DP
‡ $OOLQIRUPDWLRQDVZHOODVFRXUVHPDWHULDOVRQ
KWWSZZZLILXLRQRaLQILQGH[KWPO
‡ 6HHDOVRWKH³RIILFLDO´KRPHSDJHRIWKHFRXUVH
KWWSZZZXLRQRVWXGLHUHPQHUPDWQDWLIL,1)K
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-2
&RQWHQWVDQG2UJDQL]DWLRQRI,1) ,QWURGXFWLRQ$SSOLFDWLRQVDQG5HTXLUHPHQWV
1DFL $NN¡N 1$.
%H\RQGUHODWLRQDO'%6
5DJQDU 1RUPDQQ 51
6WDQGDUGV$FWLYHGDWDEDVHV
51
'LVWULEXWHG'%6
(OOHQ0XQWKH.DDV (0.
+HWHURJHQHRXV'%6
(0.
7UDQVDFWLRQPRGHOV
51
0$1'$725<7(50352-(&7³VSDFH´
0$1'$725<7(50352-(&7³VSDFH´
'DWDZDUHKRXVLQJ
(0.
&KDQJHPDQDJHPHQW;0/DQGWKH:::
1$.
'DWDPLQLQJ
1$..QXW +HJQD .+
00GDWDEDVHV'LJLWDOOLEUDULHV
(0.
6800$5<DQG(;$035(3$5$7,21³VSDFH´
6XPPDU\DQGTXHVWLRQV
1$.(0.51
‡
0DQGDWRU\H[HUFLVHRUWHUPSURMHFWLH³REOLJ´ *URXSZRUN
'HOLYHU\GHDGOLQH2FW
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-3
Literature
Pensum/Mandatory:
–
–
–
All slides & handouts
Elmasri/Navathe: Fundamentals of Database Systems, Third Edition, Addison-Wesley, 2000: Chapter 27
Avi Silberschatz, Michael Stonebraker, Jeff Ullmann (Eds. Special Issue), Database Systems: Achievements and
Opportunities, Communications of the ACM, Vol. 34 , No. 10, October 1991, pp. 110-120,
http://www.acm.org/pubs/contents/journals/cacm/1991-34/#10
Anbefalt/Recommended (see Web-site of the course):
–
–
–
–
–
–
–
–
–
–
–
–
Special Issue on OODBS, IEEE Computer, Vol. 23, No. 12, December 1990
Berners-Lee, T., Caillian, R., Lautonen, A., Nielsen, H., Secret, A., The World Wide Web, Communications of the ACM, Vol.
37, No. 8, August 1994, pp. 76-82
Informix Web Integration Option, 1998, http://www.informix.com/
Manola, F., Towards a Richer Web Object Model, ACM SIGMOD Records, Vol. 27, No. 1, March 1998
Mendelzon, A., Mihaila, G., Milo, T., Querying the World Wide Web, Journal on Digital Libraries, Vol. 1, No. 1, April 1997
Fraternali, P., Tools and Approaches for Data Intensive Web Applications: A Survey, ACM Computing Surveys, Vol. 31, No.
3, September 1999
Dogac, A. (Editor), Special Section on Electronic Commerce, ACM SIGMOD Records, Vol. 27, No. 4, December 1998
Grosky, W., Managing Multimedia Information in Database Systems, Communications of the ACM, Vol. 40, No. 12,
December 1997, pp. 72-80
Pazandak, P., Srivastava, J., Evaluating Object DBMSs for Multimedia, IEEE Multimedia, Vol. 4, No. 3, 1995, pp. 34-49
Imielinski, T., Badrinath, B., Mobile Wireless Computing: Challenges in Data Management, Communications of the ACM, Vol.
37, No. 10, October 1994, pp. 18-28
Dunham, M., Helal, A., Mobile Computing and Databases: Anything New?, ACM SIGMOD Records, Vol. 24, No. 4,
December 1995
Schatz, B., Information Retrieval in Digital Libraries: Bringing Search to the Net, Science, Vol. 275, 17 January 1997
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-4
0DQGDWRU\ ([HUFLVH 2EOLJ
‡ *RDO /HDUQ DQGXVH FRQFHSWV RI DGYDQFHG GDWDEDVHV\VWHPV
7\SLFDOO\JLYHQDPLQLZRUOG GHVFULSWLRQ DQGRUD´SUREOHP´
± 'HVLJQDVROXWLRQ OLNHDQ2225VFKHPDDWUDQVDFWLRQDO VROXWLRQ
GLVWULEXWLRQ VROXWLRQ RUWKH OLNH
± ,PSOHPHQW VRPH RI WKH GHVLJQ
± /HDUQ WRXVH YDULRXV WHFQKQRORJLHVWRROVSHFLILF IDFLOLWLHV HWF
‡ 2UJDQL]DWLRQ :RUN LQJURXSV RI VWXGHQWV
‡ 'HOLYHU\GDWH2FW
‡ +HOS 5DJQDU1RUPDQQ UDJQDUQ#LILXLRQR
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-5
Traditional Database Systems
DBS with ...
Relational data model: Sybase, Oracle, DB2, Informix, ACCESS, etc.
-> [Codd 1970]: classic paper written by Ted Codd, IBM Research, 1970
Network data model: IDS, VAX-DBMS, DMS-1100, SUPRA
-> CODASYL Data Base Task Force (1971) report (DBTG model)
Hierarchical data model: IMS (reference system, late 1960s), System-2000
-> no original documents describing the hierarchical model
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-6
Database Technology
Timeline
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Simple Data
Management
Global Enterprise
Management
Early 80s
Late 80s
Early
Relational
Prerelational
Simple
OLTP
Simple
transactions,
on-line
backup &
recovery
Early - Mid 90s
Client-server
Relational
Active
Database
Stored
procedures,
triggers
Data
Warehouse &
Hi-end OLTP
Scaleable OLTP,
parallel query,
partitioning,
cluster support,
row-level locking,
high availability
Late 90s - 21st C
Enterprise
Internet
-capable
Computing
Relational
Packaged &
Vertical
Applications
Support for
all types of
data,
extensibility,
objects
Middleware
(messaging,
queues,
events)
Java, CORBA,
Web
interfaces
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-7
I - Achievements and Limitations of
Traditional Database Technology
Outline:
•
•
•
•
•
From files to databases
DBMS concepts
Traditional and advanced (modern) DBS applications
Comparison of classical & new requirements for DBMS concepts
Conclusions
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-8
Introduction
problem: data management in applications
application
program
semantics
file
application
program
semantics
file
database
application
program
s
e
m
a
n
t
i
c
s
application
program
merge
transform
application
program
semantics
file
application
program
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-9
Properties of Database Systems
requirements:
•
•
persistent data management
concurrency control
•
•
recovery
ad hoc queries
•
•
data integration
logical and physical data independence
database
management
system
•
•
data consistency
data security and logging
operating system
•
distribution
applications
database
technical environment:
• operating system
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-10
Database Management System
Software for the
•
•
durable
reliable
•
independent
Management and
• comfortable
•
flexible
Usage of
• large
•
•
integrated
multi-user
life time of data > duration of creating process
integrity, consistency, loss prevention
mutual modification immunity (AP <-> DB)
"higher" abstract interface
ad hoc access possibility
data size > main memory size
of/for multiple applications, controlled
redundancy parallel access
Databases
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-11
DBMS Concepts: Structures & Operations
Aim:
• representation of conceptual
•
entity structures of applications
consistent manipulation
of representations
miniworld
Determined by:
• entity structure
•
•
structures
data model
entity size and occurence
possible operations
operations
?
=> Data model:
•
•
data definition language (DDL)
data manipulation language (DML)
•
integrity constraints
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
schema
database
data
I-12
DBMS Concepts: Views
Aim:
•
creation of new facts based on existing facts
•
different perspectives on the same database for different users
Determined by:
•
definition facilities (mostly queries in DML)
•
modification possibilities (often very restricted)
•
degree of materialization
=> View model
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-13
DBMS Concepts: Transactions
Aim:
•
consistency checking
•
synchronization of multiuser mode
•
data integrity (recovery in case of system errors)
Determined by:
•
transaction duration
•
size of processed entities
•
way of cooperation / concurrency
=> Transaction model
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
consistent
database
BEGIN TRANSACTION
op 1
possibly
op 2
inconsistent
:
database
:
op n
END TRANSACTION
consistent
database
I-14
DBMS Concepts: Integrity Constraints
Aim:
• actual database state cannot be in conflict with the constraints formulated
in DBS possible kinds of constraints:
–
inherent: part of data model
–
–
implicit: can be formulated with concepts of data model
explicit: assertions, triggers, dynamic integrity constraints
Determined by:
•
•
size and structure of evolved entities
kind of constraints (state, state transitions, or state sequences)
•
kind of events that cause state transitions
=> Integrity model
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-15
DBMS Concepts: Authorization
Aim:
•
restriction of access to database for individual users (groups)
•
restriction of access on representations of individual entities in
the database for specific user groups
Determined by:
•
structure of evolved entities
•
available operations for entities
=> Authorization model
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-16
Summary of Concepts
•
Data structures and operations
•
Views
•
Transactions
•
Integrity constraints
•
Authorization
•
Others: storage structures, …
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-17
Technical Environment
Processor level
• architecture of integrated modules: arrangement and connection of
elementary circuits
Machine level
• computer architecture: arrangement and connection of modules
• storage media
Operating system / network level
• operating system architecture: architecture model
(processes, storage management)
• network architecture: arrangement and connection of computers (machines)
(=> data distribution: centralized, decentralized)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-18
Aims
Comparison of
•
requirements of classical application domains with
requirements of new (nonstandard) application domains
•
classical technical environment with new technical environment
Show that concepts of classical database systems
•
are too restricted for new requirements
•
new technical environments are not fully exploited
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-19
Classical Application Domains
Bookkeeping systems
•
inventory control
•
financial management
•
travel industry
Planning systems
•
projects
•
production
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-20
New Application Domains
CAD/CAM and CIM
•
•
chemistry/pharmacy
mechanics
•
•
agronomy
computer science
•
•
electrical engineering
geography, geology, geo-physics, etc.
office automation
computer graphics
multimedia applications
knowledge representation and processing
scientific and medical applications
World Wide Web
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-21
Classical Requirements for DBMS Concepts
Structures and operations
•
relatively simply structured entities
•
large amount of relatively small entities
•
only generic operations
Example: management of accounts in relational model
CREATE TABLE account (account_no NUMBER,
name
CHAR (50),
address
CHAR (100),
limit
NUMBER,
PRIMARY KEY account_no)
account
(1,1)
(1,1)
credit
debit
CREATE TABLE accounting (debit NUMBER,
credit NUMBERFOREIGN KEY (account),
date DATE,
amount NUMBER,
(0,n)
(0,n)
accounting
FOREIGN KEY debit REFERENCES account,
FOREIGN KEY credit REFERENCES account)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-22
New Requirements for DBMS Concepts
Structures and operations
•
very complexly structured entities
•
relatively small amount of large entities
•
user-defined operations
ZELLE
cell
INSTANZ
instance
Example: VLSI design
cell 2
cell 1
ZELLE1
ZELLE2
PFAD
path
cell
ZELLE33
segment
SEGMENT
I5
P1
P2
S1
P3
S2
P4
S3
I1
I2
I3
I4
P5
P6
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-23
New Requirements for DBMS Concepts
Structures and operations
•
very complexly structured entities
•
relatively small amount of large entities
•
user-defined operations
Example: multimedia entities
image: format: 200 x 200 x 8 = 320 KBytes
video sequence: ca. 700 KBytes/s
(100x100x8x24), uncompressed and without
sound
person description
textual data
image
Bill Smith
Oscars gate 45
0333 Oslo
sound
video sequence
audio sequence: ca. 190 KBytes/s ,
uncompressed in CD quality
Note: history of entity development leads to
versioning concepts
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-24
New Requirements for DBMS Concepts
1)
Structures and operations
•
very complexly structured entities
•
relatively small amount of very large
entities
•
user-defined operations
for each point do
for each coordinate do
modify_value (delta)
x := x + dx
y := y + dy
2)
y
move_quadrangle (delta_vector)
Example: CAD-object
d´
a´
b´
z
c
move a rectangle (consisting out of
4 points) by a vector z with components
c´
a
d
b
x
dx and dy
move rectangle:
verschiebe
Viereck:
a = (1,1) ---> a´ = (5,5)
b = (7,1) ---> b´ = (11,5)
c = (1,3) ---> c´ = (5,7)
d = (7,3) ---> d´ = (11,7)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-25
New Requirements for DBMS Concepts
Current (relational) DBMS technology does not fulfill the new (nonstandard)
requirements
•
very complexly structured entities
=> fragmentation of entity representation
•
very large entities
=> restricted attribute size, no access support
•
user-defined operations
=> major part of entity semantics in application program
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-26
Classical Requirements for DBMS Concepts
Transactions
•
few (small) objects are read or modified
•
short duration
•
no cooperation, but concurrency
Example: debit/credit transactions in relational systems
PROCEDURE transfer (debit_account_no, credit_account_no: INTEGER; amount: INTEGER);
BEGIN
BEGIN TRANSACTION;
IF NOT (liquid(debit_account_no)) THEN ABORT TRANSACTION;
ELSE EXEC SQL INSERT TABLE accounting VALUES (debit_account_no, credit_account_no, amount);
ENDIF;
END TRANSACTION;
END transfer;
user x
transfer(123.34.56, 354.67.45, 1000)
user y
database
transfer(123.34.56, 875.67.45, 687)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-27
New Requirements for DBMS Concepts
Transactions (e.g., CAD)
•
large (complexly structured) entities are processed in a complexly
structured way
•
long duration (hours/days/weeks)
•
much cooperation between users
Eexample: machine design, architecture
user x
database
user y
user z
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-28
Classical Requirements for DBMS Concepts
Integrity constraints
•
•
database states consist of simply structured, small entities
state transitions by transactions or generic operations
•
•
constraints for arbitrary database states (assertions)
constraints for specific database states (triggers)
arbitrary state transition
Examples (rarely supported today)
•
assertion
condition
CREATE ASSERTION no_overdraw ON balance B, account A
balance, account
(B.credit >= K.limit) AND (B.account_no = A.account_no)
•
trigger
CREATE TRIGGER AFTER UPDATE OF accounting
ASSERT no_overdraw
REACTION printf ("amount not available at this moment!");
ABORT TRANSACTION;
condition
update
accounting
abort
accounting
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-29
New Requirements for DBMS Concepts
Integrity constraints
•
database states consist of complexly structured, large entities
•
state transitions by transactions and generic operations and arbitrary
events or sequences of events (-> active systems)
•
conditions for arbitrary sequences of database states
Example: cataster data
P1
P3
P2
P4
P6 P7
-> no "dead" space between parcels
P5
P8
-> no overlapping parcels
way
P9
P11
P10
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-30
Classical Technical Environment
Processor level
• CISC CPUs
Machine level
• "stupid" terminals
• scalable hosts (primary, secondary storage, and processors)
• relatively powerful personal computers
Operating system / network level
• heterogeneous operating systems for different machine configurations
• personal computers as host terminals
(host-based DBMS can hardly use the capacity of personal computers)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-31
New Technical Environment
Processor level
• RISC CPUs
• dedicated modules for image and signal processing, communication,
arithmetic, pattern recognition and storage management
Machine level
• powerful workstations (often multiprocessor systems)
• specialized servers (e.g., DBS machines, symbolic machines, file servers, ...)
Operating system / network level
• more homogeneous operating systems (UNIX) in spite of many different
hardware producers
• client/server configurations of dedicated machines (distribution aspect)
• very fast networks (FDDI)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-32
Conclusions
Existing DBMS technology can be improved
New requirements of new applications domains have to be fulfilled
New technical environment
-> DBMS-technology with new or enhanced concepts
-> Allows to support new (more complex) applications
-> Provides better runtime, design, implementation, and maintenance efficiency
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Outlook
I-33
extensible
database systems
active
database
systems
heterogeneous
database systems
deductive
database
systems
kernel architectures
for database systems
distributed
database systems
highly parallel
database systems
object-oriented
database systems
expert system/
database system
coupling
multimedia
database systems
multiprocessor
database systems
intelligent
database systems
semantic
data models
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
knowledgebased systems
new transaction
concepts
I-34
Current State of DBMSs
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• OLTP (on-line analytical processing) applications
– Large amounts of data
– Simple data, simple queries and updates
• Update statement from debit/credit transaction:
UPDATE accounts
SET abalance = abalance + :delta
WHERE aid = :aid;
– Typically update intensive
– Large number of concurrent users (transactions)
• Data warehousing applications
– Large amounts of data
– Simple data but complex querying
– Typically read intensive
– Large number of users
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-35
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Current State of DBMSs
• These applications require:
– Large users/transactions
– High performance
– High availability (7x24 operations)
– Scalability
– High levels of security
– Administrative support
– Good utilities
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-36
Internet Applications:
Challenges
Transaction Processing
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Data Warehousing
Users
Larger User Populations
Self-Service
Trained
Every Employee
Analysts
Size
Network Systems
Integrated
Independent
Usage
Systems Management
Intelligent
Simple
Batch
Operations Hours
Local
Global
Terabytes
Gigabytes
Immediate
Importance
BusinessCritical
Useful
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Internet Applications:
Challenges
Information Management
Type
Tabular
APIs
Open
Applications
Integrated
Standalone
Site Operation
Lots of read-only
Management
Low TCO, Mission Critical
Content
Direct
E-commerce/Apps
Personalized
Access
Read/write
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Proprietary
Heterogeneous
Delivery
Generic
I-37
Search
Availability
Occasional
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
24X7
I-38
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Internet Challenges
•
•
•
•
Availability
– Need near 100% availability
– Must be easy to manage
– Replication, hot standby, foolproof system?
Scalability
– Number of users is orders of magnitude higher
Security
– Global users
– Managing millions of users
– Encryption
– Performance
Internet user expectations
– Speed vs correctness
– Availability vs correctness
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-39
Internet Application
Architecture: Today
Browser
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
authoring
tools, etc.
HTTP
HTTP
3K\VLFDO0LGGOH7LHU
WEB/APP Server
Application messages
&OLHQW7LHU
Browser
Middle Tier
Application
Data Integration,
Storage, Query,
Management
Remote messages
Gateways
'DWD6RXUFHV
Other
ORDBMS
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Data
Sources
OLE/DB
Data source
I-40
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
CNN Custom News
• On-line news service
• Allows users to customize news in a personalized
manner
• Offers variety of news items (e.g. national, international,
business etc.)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-41
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Custom News Application
Architecture
Browser
HTTP
Browser
&OLHQW7LHU
Hardware Load Balancing
3K\VLFDO
WEB Server
WEB Server
Application
Server
Application
Server
WEB Server
...
0LGGOH7LHU
Application
Server
'DWDEDVH
Oracle
DBMS
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
OPS
Oracle
DBMS
7LHU
I-42
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
CNN Custom News
• Backend:
– SUN SOLARIS enterprise servers
– Oracle Parallel Server 7.3.4
• Middle-Tier (9 Machines)
– Web Servers
– Oracle Application Servers
– PL/SQL Cartridges
• Load Balancing
– Hardware based
– DNS router
– Round -robin
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-43
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Oracle Application Server
Adapter
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Cartridge
Cartridge
Cartridge
CORBA Backend
I-44
CNN Custom News
•
•
•
•
•
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Data feeds into the database
Keeps text in the database
Images in files
Images accessed in the middle-tier
PL/SQL Cartridge
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-45
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Case Studies: Observations
• Database is being used mostly for storage
• Application in the middle-tier
• Middle-tier also provides:
– scalability
– load balancing
– large number of users
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-46
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Analyzing Internet Applications
•
•
•
•
Web integration
Web publishing
Application integration
E-commerce
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-47
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
WEB Integration
•
•
•
•
•
Heterogeneous data sources
Heterogeneous data types
1000s of data sources
Dynamic data
Warehousing
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-48
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Web Publishing
• Problem: internet placing new requirements on content
management
– Heterogeneity: access different types of content from
browsers e.g. Email, data warehouses, reports, HTML
files
– Personalized: structured, dynamic, customized content
– Transactive: content blending with application
– Aggregation: portalization via major “gateways”
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Application Integration
I-49
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• Integrating Multiple Applications (e.g. ERP/Front Office)
– Application workflow specification
• Asynchronous communication
– Queuing and propagation
• Message tracking
• Message warehouse (persistence)
– Message broker/server
• Data transformation
– Transforming messages to different application
formats (e.g. SAP, CLARIFY, …)
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-50
Electronics Commerce
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• Automating business-to-business, business-to-consumer
interactions
– Selling and buying
• Order management
• Product catalogs
• Product configuration
– Sales and marketing
– Education and training
– Service
– Communities
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-51
Database Technology Uses
•
•
Business/workflow transactions
– Support across multiple database/ERP systems
– Transactional
– Tools to generate compensating actions
– Transformations
Queuing
– Support for heterogeneous messages
– Transactional
– Querying, e.g. On attribute, value pairs
– Indexing, e.g. On attribute, value pairs
– Publish/subscribe
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
I-52
Database Technology Uses
•
•
Rule engines
– Complex business processing rules
– Customization/profiling rules
• Business domain rules
• Presentation rules
Repositories for Application Development
– Managing Java objects, interfaces, etc.
– Must for application integration
– Standardized object models and protocols
– Directories vs repositories
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-53
Database Technology Uses
•
•
•
XML support
– XML schema/storage
– XML caching
– XML querying
– Coexistence with SQL -- current efforts seem
disjoint
Multiple caches
– Consistency of middle-tier and database caches
Data mining
– Algorithms need to become more pragmatic
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-54
Database Technology Uses
• Internet user expectations
– Speed vs correctness
• (e.g. Search engines vs blade/cartridge/extender)
– Availability vs correctness
• Component Architecture
– Caching
– XML support
– Querying
– Transactions
– Rule engines
– Metadata management
– Queueing
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-55
Database Technology Uses
•
•
•
Availability
– Need near 100% availability
– Must be easy to manage
– Replication, hot standby, foolproof system?
Scalability
– Number of users is orders of magnitude higher
Security
– Global users
– Managing millions of users
– Encryption
– Performance
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-56
Internet Applications
Architecture: Future
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
&OLHQW7LHU
XML enabled
Browser
Browser
tools:
authoring tools
etc.
XML
XML
/RJLFDO0LGGOH7LHU
WEB/APP Server
XML enabled
Application Messages
XML Database
XML Integration &
Query Server;
Warehouse Server
XML
XML
XML
XML Transformer
& Gateway
'DWD6RXUFHV
XML enabled
XML
documents
on the Web
ORDBMS
Other
documents
on the Web
e.g. HTML,
WORD
OLE/DB
Data source
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
XML in the Database
I-57
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• XML has the potential to impact four important markets
– Web integration
– Web publishing
– Application integration
– Electronic commerce
XML-enable the DBMS
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-58
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
Xml-enabled DBMS
DBMS
Integrate with
other facilities
Generate
XML
• “Xml-enable” the database system
– Store XML data/documents the
database server
– Querying and searching of
structured and unstructured XML
– In generate XML data from the
database server
– Add XML capabilities in
supporting database facilities
Store XML
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Store XML
Data
I-59
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• Enhance XML storage facilities in the database with support
in utilities
– Facilities to load XML data into the database
– Provide more efficient database storage (componentized
storage, compression, indexing,…)
– XML export facilities from the server
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-60
Search and Query XML Data
• Search XML data efficiently
– Special SQL queries over structured + unstructured
XML
– Content-based indexing (e.g. Text indexes) for
searching XML data efficiently
– Support for XML query languages (e.g. XQL) on XML
data
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Generate XML
I-61
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• Generate XML from the database server
– Map SQL92, SQL3 and PL/SQL datatypes to XML
– Provide mappings between java, SQL and XML types
• Script XML content from the database
– Allow SQL queries to return XML results
– Provide embedded XML in stored procedures
– Java scripting: support embedded XML in java
– Common apis to access any XML content in databases
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-62
XML and Supporting Facilities
• Provide XML capabilities in supporting database facilities
– Support XML in database utilities - loader, export/import ..
– Allow server-to-server replication of XML data
– Fine grained access to XML documents
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
XML Caching
I-63
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• Need to temporarily cache it, index it, update the cached
copy, transact it
• Need to query XML caches
• Also requires a store for managing it in the middle-tier
• Provides XML logical views
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-64
DBMS Architecture for Internet Applications
• Monolithic architecture
– Enhance the DBMS with all the features necessary for
supporting internet applications
• Component architecture
– Provide components for supporting internet applications
– Components can reside in the DBMS or in the middle-tier
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Monolithic Approach
I-65
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
+ Database is the platform
+ Leverage DBMS infrastructure
+ Uniform management
-
Not flexible
Forces 2-tier architecture
May not be suitable for high-end configurations
Not suitable for heterogeneous application integration
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-66
Component Approach
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
+ Flexible
+ Accommodates multi-tier architecture - components can
be deployed in the middle or database tier
+ Facilitates heterogeneous integration of applications
- Need to manage multiple components
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
Looking Ahead
I-67
Nori, A., Databases in Internet Applications: Case Studies,
in: Postmodern DBS, UC Berkeley, Spring 1999
• Database Technology has lot to offer for building
internet applications!
• Componentized Databases?
© Vera Goebel, Ifi/UiO 2001. Modified 26.Oct.2003 by Naci Akkøk
I-68
Download