![]() | An Object-Oriented Database V. 0.1 Mail to: ODB for Win 95 / NT | ![]() |
ODB Feature | Benefit from using OFB | Advantage to other technologies
Object Oriented Data Model
| Supports OO modelling of data which means that complex
data can be modelled using the powerful tools that OO provides
| The relational model, e.g., MS SQL Server, Oracle...
databases do not offer a true OO database.
Hence, any of these products will not prform well with
complex data (i.e., a number of n-n relations with a substantial
number of data items
| Main Memory Database
| All data in main memory. As main memory is becomming increasingly
cheaper main memory databases are becomming a reality. Benchmarking of ODB has shown that
even on an 8 Mb machine running OS/2 50000 objects of average
size is posible. ODB is optimized towards main memory utilisation
where a vast number of measusers has been taken to optimise
the main memory utilisation of ODB
| Standard databases, e.g., MS SQL Server, Oracle etc...
are diskbased where data is cached in and out of main memory
hence, a main memory database will outperform any diskbased
database for any type of operation
| Light Weight
| In std databases logging and locking is a central part
of the database. In ODB these features may be disabeled for
greater performance. With loggin and locking disabeled
ODB is a light weight database engine. Some
of the application ODB is tailored towards will benefit
from using ODB in light weight mode, See
ODB Applications
| MS SQL Server, or Oracle cannot be run in light weight mode.
Other OO databases eg., ObjectStore can tailor their locking
granule etc., to get database behaviour tailored towards
the application
| Data Independece
| The model of the data is independet of your application model.
Hence, Your application (C++,VB, java program) do not need to be touched
if you change the way the data is modelled.
| Using standard OO databases like ObjectStore the datamodel of you r
application is closely linked to your data model since your
data model is pre processed into C++ and comiled, linked
with your application.
| Application Address Space
| Your application runs in the same address space as ODB, hence
the ODB objects (your data) is directly accessible
in your application without any data conversions or other
tideous and resource consuming operations
| Using MS SQL Server or any other relation database server
the problem of Impedance Mismatch, i.e., discrepancies
is supported data types, is a major problem that causes
significant overhead at runtime. ODB has completely
eliminated this overhead without sacrificing data independence
| Stand Alone or Client - Server
| You can use ODB as the stand alone data manager for your
client or in a Client - Server setup. In both cases the processing
is done at the client, in the client server setup all updates
need to be commited to the server.
| MS SQL Server or any other traditional RDBMS do not provide this
flexibility, also they adhere to the outdated client server
model where the server must be a high end machine since it does all
the processing. Using ODB the load is distributed
over the network instaed of concentrated to the server.
| Use ODB in light weight mode at client as data
manager
| Increased Productivity
| Using MFC's or STL in application development a lot of
effort will be put in to develop the data management at the
client. Using ODB as the data manager at the client
this effort is substantially reduced, hence your project will be
both more robust and also faster through the development phase
| The ODB data file is selfcontained and be shared
between and correlated
ODB sites
| Information Sharing and cross database correlation
| ODB kernels can open any number of databases and
correlate the data between the databases. Using MS SQL server
or other similar products sharing data and data models are not
simple.
| |
![]() | Mail to ODB for Win 95 / NT | ![]() |