Title: An Introduction to Object and Post-Relational Databases
1An Introduction to Object and Post-Relational
Databases
2The Evolution of Object Technology
- Why objects?
- Objects closely represent human thinking.
- Hierarchical representation of structures.
- Easier to learn more productive
- C and Java pave the way
- C extends the market standard C language
- Java a free language the internet loves!
3Relational Recap
- As soon as there was programs there was data
- Relational Databases
- Store data in flat tables
- Data management based on set theory
- Identifies relationships using keys
- Require normalized structure for optimal
performace
4The success of relational DBs
- Originated as a solution for storing and
retrieving flat lists. - Huge market support
- Standardized UI method (SQL)
- Many choices commercial and open source
- Redundancy and Reliability
5The success of OO programming
- No longer a fad but the standard!
- Many Languages same concepts.
- High Schools and Colleges Agree
- How many of you learned an OO language in High
School?
6So where do I put my data?
- The four most common models
- Relational Databases
- Object-Relational Databases
- Object Databases
- Post-Relational Databases (also referred to as
transactional multidimensional)
7Relational Databases
- Relational DBs not designed to natively handle
objects. - O-R mapping
- Lose inheritance and relationships
- Added design time
- Deconstruction / Reconstruction of Objects
- The garage example
- The impedance mismatch
8Object-Relational Databases
- Many different flavors
- Store complex objects in columns.
- Utilize stored procedures and caches to speed
queries and access objects. - Store tables in tables (Oracle Cartridges).
- Not a solution, but a band-aid.
9Object Databases
- Stores all data in an object model
- Nearly infinite flexibility in defining and
storing object data. - Object model is identical for DB and Application.
- WAIT!! This is a bad thing!
- If the application changes so must the database.
- The database cannot be shared!
10Post-Relational Databases
- Simultaneous SQL and object access
- Data dictionaries define relationships
- OO platform independent shared languages
- UML support for database engineering
- Easier to maintain
- Faster out of the box?
- Easier to learn?
11Post-Relational Players
- Matisse www.matisse.com
- InterSystems Cache www.intersystems.com
- Both offer free developers editions.
- Both have extensive documentation available
online. - Both are cross-platform and cross-development
environment.
12An OO vs. Relational Example
- Consider the Car Registration Example Below
13An OO vs. Relational Example
- Now Consider the Relational Tables
14Comparing Access - Cache
- SQL and Cache Object Script
15Comparing Access - Matisse
- A simple e-commerce application
16Comparing Access - Matisse
- O-R mapping adds a lot of ugly code in order to
construct / destruct objects that are stored or
retrieved from the database.
17Comparing Access - Matisse
- Storing objects natively in the database makes a
lot more sense.
18Comparing Access - Matisse
- Retrieving objects natively makes even more
sense. - Here we see a standard SQL query used to return
an object rather than a table.
19So why are RDBMS still the standard?
- People didnt start using C right away either!
- Large market share proven reliability
- At the beginning of this year the database market
looked like this - Oracle 41.3
- IBM 30.6
- Microsoft 13.4 - Windows Only
- Sybase 3.1
- Teradata 2.6
- All Others 9 - This includes mySQL, other open
source dbs and all other databases.
20So why are RDBMS still the standard?
- Key players focused on the competition.
- ODBMS and PRDBMS a cult following!
- O-R options and tools improving
- Oracle Cartridges
- OO Performance boosts countered with better
Relational Access - Standardization everyone loves SQL
21QA