,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