Introduction Jacques Roy [email_address]
Instructor Introduction <ul><li>Before Informix: </li></ul><ul><ul><li>Application development with hierarchical DB </li><...
Agenda <ul><li>Instructor Introduction </li></ul><ul><li>Training Objectives </li></ul><ul><li>Overall Schedule </li></ul>...
Objectives <ul><li>Understand the database environment </li></ul><ul><li>Understand what impacts performance </li></ul><ul...
Agenda – Day 1 <ul><li>Topic Dur. Time </li></ul><ul><li>1.1 Welcome/Why DBs 30  09:00 </li></ul><ul><li>1.2 Elements of P...
Agenda – Day 2 <ul><li>Topic Dur. Time </li></ul><ul><li>2.1 Introduction to Data Studio 45 09:00 </li></ul><ul><li>2.2 Da...
Agenda – Day 3 <ul><li>Topic Dur. Time </li></ul><ul><li>3.1 Web service lab 45 09:00 </li></ul><ul><li>3.2 RDBMS Enterpri...
Why Focus on Databases? <ul><li>Data drives applications </li></ul><ul><li>Databases are more than persistent storage </li...
Before Relational Databases <ul><li>Hierarchical/Network Databases </li></ul><ul><ul><li>CODASYL ( CO nference on  DA ta  ...
Problems with Hierarchical-type Databases <ul><li>Tied to the physical representation of the data </li></ul><ul><ul><li>Ap...
Relational Databases <ul><li>Flattens the hierarchy </li></ul><ul><li>Removes pointer manipulation </li></ul><ul><ul><li>D...
Problems with Relational Databases <ul><li>Not good at solving hierarchical problems </li></ul><ul><ul><li>Partially solve...
Relational Databases Historical View 1985 1979 1982 1977 1980 1969 1972 1970 Codd papers University Ingres 1974 System/R a...
Object Databases <ul><li>Matched the OO approach </li></ul><ul><li>Solved the “impedance mismatch” problem </li></ul><ul><...
Object-Relational Databases <ul><li>Adds OO concepts to the relational model </li></ul><ul><ul><li>Inheritance </li></ul><...
Some New Database Types Since 2000 <ul><li>XML database </li></ul><ul><ul><li>Some OODB vendors rework themselves as XML D...
Lab Environment: Informix Virtual Appliance <ul><li>VMWare image, pre-configured and ready to run.. </li></ul><ul><ul><li>...
Lab Environment <ul><li>Where to get the virtual appliance: </li></ul><ul><ul><li>Direct Download link.. </li></ul></ul><u...
Starting the Appliance <ul><li>Install VMware Player (or Workstation/Server/Fusion) </li></ul><ul><li>Download and uncompr...
Upcoming SlideShare
Loading in …5
×

0101-Introduction.ppt

1,105
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,105
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Presentation notes go here.
  • Wikipedia lists 41 open-source databases.
  • 0101-Introduction.ppt

    1. 1. Introduction Jacques Roy [email_address]
    2. 2. Instructor Introduction <ul><li>Before Informix: </li></ul><ul><ul><li>Application development with hierarchical DB </li></ul></ul><ul><ul><li>Worked for a hardware vendor, OS expert </li></ul></ul><ul><ul><li>Worked on porting Informix, Sybase </li></ul></ul><ul><ul><li>Worked on the distributed lock manager </li></ul></ul><ul><li>Informix/IBM 1995-Present: </li></ul><ul><ul><li>Member of Informix ATG and Informix Labs </li></ul></ul><ul><ul><li>IDS Extensibility </li></ul></ul><ul><ul><li>WW DB Server Tech sales (IDS and DB2) </li></ul></ul><ul><ul><li>User Conferences </li></ul></ul><ul><li>Publications: </li></ul><ul><ul><li>Informix Tech Notes </li></ul></ul><ul><ul><li>Informix Best Practices Books </li></ul></ul><ul><ul><li>IDS Extensibility Books </li></ul></ul><ul><ul><li>Developer Works Article on IDS and DB2 Extensibility </li></ul></ul><ul><ul><li>IBM Redbooks </li></ul></ul><ul><ul><li>More… </li></ul></ul>
    3. 3. Agenda <ul><li>Instructor Introduction </li></ul><ul><li>Training Objectives </li></ul><ul><li>Overall Schedule </li></ul><ul><li>Why focus on databases </li></ul><ul><li>Database background </li></ul>
    4. 4. Objectives <ul><li>Understand the database environment </li></ul><ul><li>Understand what impacts performance </li></ul><ul><li>Learn database architecture through Informix (IDS) </li></ul><ul><li>Understand the ORDBMS’s potential </li></ul><ul><ul><li>Including case studies </li></ul></ul><ul><li>Learn to use a tool to access a database </li></ul><ul><ul><li>IBM Data Studio </li></ul></ul><ul><li>Review application development environments </li></ul><ul><li>Get some familiarity with application environments </li></ul><ul><li>Get a view on the current computing environments </li></ul>
    5. 5. Agenda – Day 1 <ul><li>Topic Dur. Time </li></ul><ul><li>1.1 Welcome/Why DBs 30 09:00 </li></ul><ul><li>1.2 Elements of Performance 60 09:30 </li></ul><ul><li>break 15 10:30 </li></ul><ul><li>1.3 Introduction to Informix 75 10:45 </li></ul><ul><li>Lunch 60 12:00 </li></ul><ul><li>1.4 Introduction to IDS Lab 60 13:00 </li></ul><ul><li>1.5 Database Extensibility 60 14:00 </li></ul><ul><li>break 15 15:00 </li></ul><ul><li>1.5 Database Extensibility (continue) 60 15:15 </li></ul><ul><li>1.6 Database Extensibility Lab 45 16:15 </li></ul><ul><li>END 17:00 </li></ul>
    6. 6. Agenda – Day 2 <ul><li>Topic Dur. Time </li></ul><ul><li>2.1 Introduction to Data Studio 45 09:00 </li></ul><ul><li>2.2 Data Studio lab 60 09:45 </li></ul><ul><li>break 15 10:45 </li></ul><ul><li>2.3 OO and Databases 60 11:00 </li></ul><ul><li>Lunch 60 12:00 </li></ul><ul><li>2.4 Application Environments 75 13:00 </li></ul><ul><li>2.5 Intro to WAS CE 30 14:15 </li></ul><ul><li>break 15 14:45 </li></ul><ul><li>2.6 WAS CE lab 75 15:00 </li></ul><ul><li>2.7 SOA and Web Services 30 16:15 </li></ul><ul><li>END 16:45 </li></ul>
    7. 7. Agenda – Day 3 <ul><li>Topic Dur. Time </li></ul><ul><li>3.1 Web service lab 45 09:00 </li></ul><ul><li>3.2 RDBMS Enterprise features 60 09:45 </li></ul><ul><li>break 15 10:45 </li></ul><ul><li>3.3 Virtualization and Cloud Computing 60 11:00 </li></ul><ul><li>Lunch 60 12:00 </li></ul><ul><li>3.4 Open Discussion 75 13:00 </li></ul><ul><li>3.4 . . . . . . . . . . . . . . 30 14:15 </li></ul><ul><li>break 15 14:45 </li></ul><ul><li>3.5 . . . . . . . . . . . . . . 75 15:00 </li></ul><ul><li>3.6 . . . . . . . . . . . . . . . 30 16:15 </li></ul><ul><li>END 16:45 </li></ul>
    8. 8. Why Focus on Databases? <ul><li>Data drives applications </li></ul><ul><li>Databases are more than persistent storage </li></ul><ul><li>Databases have been ignored by application development </li></ul><ul><li>Focus on DBs can provide: </li></ul><ul><ul><li>Improved performance </li></ul></ul><ul><ul><li>Simpler applications </li></ul></ul><ul><li>Result: </li></ul><ul><ul><li>Business advantage </li></ul></ul>
    9. 9. Before Relational Databases <ul><li>Hierarchical/Network Databases </li></ul><ul><ul><li>CODASYL ( CO nference on DA ta SY stems L anguage) </li></ul></ul><ul><li>Classification: Taxonomy </li></ul><ul><ul><li>Ex: Classification of living things kingdom > Phylum > Class > Subclass > Order > Suborder >Family > Genus > Species </li></ul></ul><ul><li>Low processing cost </li></ul><ul><li>Very natural thinking </li></ul><ul><ul><li>Procedural approach </li></ul></ul><ul><ul><li>Divide and conquer </li></ul></ul>
    10. 10. Problems with Hierarchical-type Databases <ul><li>Tied to the physical representation of the data </li></ul><ul><ul><li>Application pointer manipulation </li></ul></ul><ul><ul><li>Changes in the database require application changes </li></ul></ul><ul><li>Solves one problem very well </li></ul><ul><ul><li>Other problems could require walking through the entire hierarchy </li></ul></ul><ul><li>Hierarchy could become unbalanced </li></ul><ul><ul><li>Have to navigate from the node to the leaves requiring many I/Os </li></ul></ul><ul><ul><li>At the limit, becomes a sequential scan </li></ul></ul>
    11. 11. Relational Databases <ul><li>Flattens the hierarchy </li></ul><ul><li>Removes pointer manipulation </li></ul><ul><ul><li>Data is used as pointers </li></ul></ul><ul><li>Provides a logical view of the data </li></ul><ul><ul><li>Changes to the database do not necessarily require changes to the applications </li></ul></ul><ul><ul><li>Indexes are invisible to the application </li></ul></ul><ul><li>Supports a standard non-procedural language </li></ul><ul><ul><li>Tell what data to get not how </li></ul></ul><ul><ul><li>Opens the door to optimizations </li></ul></ul>
    12. 12. Problems with Relational Databases <ul><li>Not good at solving hierarchical problems </li></ul><ul><ul><li>Partially solved with “CONNECT BY” syntax </li></ul></ul><ul><li>Rigid schemas </li></ul><ul><ul><li>Schema changes can be expensive </li></ul></ul><ul><li>Limited available operations/functions, data types </li></ul><ul><li>Non-procedural language makes it harder to integrate with application development </li></ul>
    13. 13. Relational Databases Historical View 1985 1979 1982 1977 1980 1969 1972 1970 Codd papers University Ingres 1974 System/R and SQL Oracle begins Oracle RDBMS Teradata begins 1981 Informix and Ingres begin Britton-Lee begins 1984 Sybase begins Ingres RDBMS IBM SQL/DS IBM DB2 Informix RDBMS 1983 1993 1996 1988 Cloudscape begins Illustra begins Netezza begins 2000 Sybase RDBMS Microsoft SQLServer Postgres 1987 Teradata DBC/1012 Illustra ORDBMS 1995 SQL standard 1989 Commercial product Papers, research projects, open source, standard Companies founding MySQL Honeywell RDBMS 1976 1992
    14. 14. Object Databases <ul><li>Matched the OO approach </li></ul><ul><li>Solved the “impedance mismatch” problem </li></ul><ul><ul><li>Pre-processor matched the database to the object model </li></ul></ul><ul><ul><li>The only OODB benefits that stuck </li></ul></ul><ul><li>Was supposed to take over RDBMS in late ’80s </li></ul><ul><ul><li>Did not happen… Why? </li></ul></ul><ul><li>Model inherently hierarchical </li></ul><ul><li>Lack of tools </li></ul><ul><li>Lack of enterprise features </li></ul>
    15. 15. Object-Relational Databases <ul><li>Adds OO concepts to the relational model </li></ul><ul><ul><li>Inheritance </li></ul></ul><ul><ul><li>Polymorphism </li></ul></ul><ul><ul><li>Collections </li></ul></ul><ul><li>Ability to add functions and data types </li></ul><ul><li>Preserves the RDBMS investment </li></ul><ul><li>Most DB vendors have some level of ORDBMS in their RDBMS product </li></ul><ul><li>More on this later… </li></ul>
    16. 16. Some New Database Types Since 2000 <ul><li>XML database </li></ul><ul><ul><li>Some OODB vendors rework themselves as XML DB vendors </li></ul></ul><ul><li>Hybrid relational and XML (ex: DB2) </li></ul><ul><ul><li>Example DB2 </li></ul></ul><ul><li>In-memory database (ex: SolidDB) </li></ul><ul><ul><li>Example: SolidDB </li></ul></ul><ul><li>Column-oriented database </li></ul><ul><ul><li>Access only the columns that are requested </li></ul></ul><ul><ul><li>Beneficial for data warehouse environment </li></ul></ul>
    17. 17. Lab Environment: Informix Virtual Appliance <ul><li>VMWare image, pre-configured and ready to run.. </li></ul><ul><ul><li>Informix Dynamic Server 11.50.xC4 </li></ul></ul><ul><ul><li>Informix Client SDK 3.50.xC4 </li></ul></ul><ul><ul><li>Informix JDBC Driver 3.50 </li></ul></ul><ul><ul><li>Informix Spatial DataBlade 8.21 </li></ul></ul><ul><ul><li>Informix Web DataBlade 4.13 </li></ul></ul><ul><ul><li>Data Server Driver for JDBC/SQLJ </li></ul></ul><ul><ul><li>Data Server Driver for ODBC/CLI </li></ul></ul><ul><ul><li>OpenAdmin Tool for IDS 2.24 </li></ul></ul><ul><ul><li>Data Studio Developer 2.1 </li></ul></ul><ul><ul><li>AGS Server Studio </li></ul></ul><ul><ul><li>GNU C/C++ compiler and gdb debugger </li></ul></ul><ul><ul><li>IBM JDK v1.5.0 </li></ul></ul>
    18. 18. Lab Environment <ul><li>Where to get the virtual appliance: </li></ul><ul><ul><li>Direct Download link.. </li></ul></ul><ul><ul><ul><li>https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-informixfpd&S_PKG=dl </li></ul></ul></ul><ul><ul><ul><li>Requires IBM Internet ID and Password </li></ul></ul></ul><ul><ul><li>VMware Virtual Appliance Marketplace </li></ul></ul><ul><ul><ul><li>http://www.vmware.com/appliances/directory/90643 </li></ul></ul></ul><ul><li>Additions for the class: </li></ul><ul><ul><li>WebSphere Application Server Community Edition 2.1.1 </li></ul></ul><ul><ul><li>Simple Web Application for WAS CE </li></ul></ul><ul><ul><li>Java connectivity test program </li></ul></ul><ul><ul><li>Flat-file access datablade </li></ul></ul>
    19. 19. Starting the Appliance <ul><li>Install VMware Player (or Workstation/Server/Fusion) </li></ul><ul><li>Download and uncompress file ( .exe file) </li></ul><ul><li>Double-click on the .vmx file </li></ul><ul><li>For the labs: </li></ul><ul><li>Login as informix , password: informix </li></ul><ul><li>With a new appliance: </li></ul><ul><ul><li>Login as root , password: root </li></ul></ul><ul><ul><li>Accept license prompts </li></ul></ul><ul><ul><li>Login as developer , password: developer </li></ul></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×