Expert Articles
This section contains dedicated contributions from
ODBMS.ORG's Panel of Experts.
- Reinhold Thurner - August 30, 2011
Implementation of an Executable Conceptual Model (ECM).
- Michael Blaha - November 22, 2010
Tree Template.
- Michael Blaha - August 23, 2010
Models.
- Michael Blaha - August 20, 2010
Universal Antipatterns.
- Roberto V. Zicari (editor)- March 8, 2010
On NoSQL technologies - Part III: document stores, nosql databases, ODBMSs.
- Roberto V. Zicari (editor)- February 10, 2010
On NoSQL technologies - Part II.
- Renzo Orsini – February 10 , 2010
The Object Database Language “Galileo” - 25 years later.
- Rick Cattell – January 11, 2010 (revised February 2010 and December 2010)
Relational Databases, Object Databases, Key-Value Stores, Document Stores,
and Extensible Record Stores: A Comparison.
- R. Zicari (Editor) et al. – December 14, 2009
On NoSQL technologies. Part I
- R. Zicari (Editor) et al. – August 3, 2009
A New Renaissance for ODBMSs?
- W. Cook - January 10, 2009
Interprocedural Query Extraction for Transparent Persistence
- M. Blaha - October 22, 2008
Object-Oriented Design of Database Stored Procedures
- R. Zicari - June 2, 2008
Object Database Systems: Quo Vadis?
- R. Zicari - May 15, 2008
Java Object Persistence: State of the Union - Part II
- M. Blaha - April 10, 2008
An Example of Ignoring Referential Integrity: The LDAP Standard
- R. Zicari - April 1, 2008
Java Object Persistence: State of the Union - Part I
- M. Card - September 27, 2007
Next-Generation Object Database Standardization
- T. Neward - May 21, 2007
Avoiding the Quagmire
- R. Greene - February 2, 2007
OODBMS Architectures Defended
- A. Marriott - December 6, 2006
OODBMS Architectures Revisited
- W. Cook - October 3, 2006
Integrating Programming Languages and Databases: What is the
Problem?
- R. Greene - October 3, 2006
OODBMS Architectures
- A. Marriott - August 3, 2006
Scalable Geospatial Object Database Systems
- A. Marriott, B. Rousseau - June 15, 2006
ObjectStore and STL
- B. Bretl - March 15, 2006
Achieving High Concurrency in OO Databases
- M. Blaha - November 17, 2005
Referential Integrity Is Important For Databases
- S. Alagic - October 28, 2005
Next Generation of Virtual Platforms
- S. Ambler - September 15, 2005
Agile Techniques for Object Databases
- W. Cook, C. Rosenberger - August 23, 2005
Native Queries for Persistent Objects
- M. Blaha - July 21, 2005
The Dilemma of Encapsulation Versus Query Optimization
Implementation of an Executable Conceptual Model (ECM).
By Reinhold Thurner
August 2011: Conceptual models are a generally accepted approach to develop abstract models of the real world. ECM takes this concept one step further and uses a conceptual model also as a programming interface. This would prevent the loss of semantics when you convert the conceptual model into the tables of the relational model.
Paper | Expert | English |
Download (.PDF).| 2011|
Tree Template
By Michael Blaha
November 2010:This chapter shows Tree Template. The tree is a term from graph theory.
It illustrates the UML template for hardcoded trees. (The Appendix explains UML notation.)
A Tree is a hierarchy of entities with the entities of each level having the same entity type.
You need not show Tree in a use of the template.
This chapter is from the new book Patterns of Data Modeling by Michael Blaha, CRC Press, 2010.
All rights reserved. This chapter is posted on odbms.org with the permission of the author
and publisher. This is the third of three chapters that will be posted over the upcoming months.
Book Chapter | Expert | DOWNLOAD (PDF) | November 2010 | ***
Models
By Michael Blaha
August 2010: Models provide the means for building quality software in a predictable manner.
Models let developers think deeply about software and cope with large size and complexity.
Developers can think abstractly before becoming enmeshed in the details of writing code.
Although models are beneficial, they can be difficult to construct.
That is where patterns come in. Patterns provide building blocks that help developers
construct models faster and better. This chapter starts with a discussion of models and
then introduces the topic of patterns.
This chapter is from the new book Patterns of Data Modeling by Michael Blaha, CRC Press, 2010.
All rights reserved. This chapter is posted on odbms.org with the permission of the author and
publisher. This is the first of three chapters that will be posted over the upcoming months.
Book Chapter | Expert | DOWNLOAD (PDF) | August 2010 | ***
Universal Antipatterns
By Michael Blaha
August 2010: An Antipattern is a characterization of a common software flaw. As you construct models, you should be alert for antipatterns and correct them. When you find an antipattern, substitute the correction. Universal antipatterns are antipatterns that you should avoid for all applications.
This chapter is from the new book Patterns of Data Modeling by Michael Blaha, CRC Press, 2010.
All rights reserved. This chapter is posted on odbms.org with the permission of the author and
publisher. This is the second of three chapters that will be posted over the upcoming months.
Book Chapter | Expert | DOWNLOAD (PDF) | August 2010 | ***
On NoSQL technologies. Part III: document stores, nosql databases, ODBMSs.
By Roberto V. Zicari (Editor) et al.
March 8, 2010 Abstract: I was asked to compare & contrast odbms systems to the new nosql
datastores out there. So I have asked several people in the last few weeks....
In this report, you`ll find a few selected replies .
Among the people I interviewd: Michael Stonebraker (MIT), Hamid Pirahesh, (IBM Fellow),
Mårten Gustaf Mickos (previously CEO of MySQL AB),
Peter Norvig (Director of Research at Google Inc.), and several more.
Paper | Expert | DOWNLOAD (PDF) | March 2010 | ***
On NoSQL technologies. Part II.
By
Roberto V. Zicari (Editor) et al.
February 10, 2010
Abstract: This report collects the following interviews:
¶ NoSQL technologies: Interview with John Clapperton.
¶ Carl Olofson on “Nonschematic" databases.
¶ Are object databases "NoSQL" technologies? Interview with Luis Ramos.
¶ Anat Gafni: Data Stores vs. ODB
Paper | Expert | DOWNLOAD (PDF) | February 2010 | ***
The Object Database Language “Galileo” - 25 years later.
By Renzo Orsini
February 10, 2010
Abstract: Sometimes a look at the past can be useful to put in the right perspective a hot new
discussion. So I thought, when Roberto Zicari, editor of ODBMS.ORG, asked me a brief note about
our work on Galileo object database language in light of the discussion on the new wave of
“data stores", such as "document stores" and "NoSql databases".
So, to follow Roberto’s suggestions, I will present a brief history of the project, and
then I will try to draw some considerations on this discussion based on my experience.
Paper | Expert | DOWNLOAD (PDF) | February 2010 | ***
Relational Databases, Object Databases, Key-Value Stores, Document Stores,
and Extensible Record Stores: A Comparison.
By
Rick Cattell
January 11, 2010 (revised February 2010 and December 2010) Abstract: Traditionally, the obvious platform for most database applications
has been a relational DBMS. You might use a specialized parallel relational DBMS if you
required high throughput for “data warehousing”, or an object database system if your
application had unusual functionality or performance requirements, e.g. for in-memory
caching or fast relationship traversal. However, an RDBMS like Oracle or MySQL has usually
been the answer. This has changed somewhat recently. There is now recognition in database
research that “one size does not fit all”, for example in the widely-referenced paper by
Stonebraker and colleagues. And in the Web 2.0 industry, many companies have abandoned
traditional RDBMSs for so-called “NoSQL” data stores that provide much higher scalability,
or they have built a distributed caching layer on top of RDBMSs. More scalable RDBMSs are
also coming to market; I will comment on their prospects as well.
Paper | Expert | DOWNLOAD (PDF) | January 2010| ***
On NoSQL technologies. Part I
By
Roberto V. Zicari(Editor) et al.
December 14, 2009: This article is made by contributions from:
1. Patrick Linskey on "Cloud Store".
2. Kaj Arno on "NoSQL databases.
3. Michael Stonebraker on "NoSQL databases".
4. David Chappell on "Introducing Windows Azure".
5. Robert Charles Greene on “Are object databases "NoSQL" technologies?”.
6. Giuseppe Maxia on “the evolution of “non-relational databases”.
Paper | Expert | DOWNLOAD (PDF) | December 2009 | ***
A New Renaissance for ODBMSs?
By
Rick Cattell,
Robert Greene,
Leon Guzenda,
Luis Ramos,
Carl Rosenberger,
Roberto Zicari(Editor)
August 3, 2009: This is a follow up of the panel discussion, which took place at the ICOODB 09
conference on July 2, 2009 in Zurich. Roberto V. Zicari, Editor of ODBMS:ORG asked each of
the panelists to give written reply to some of the questions that were asked at the panel,
and he also added here a few new questions:
Q1. Could you estimate the current market for ODBMS, how is it changing (size, geography, licenses, dollars, etc.),
and whether/where the market is growing?
Q2. Who is using an ODBMS? For what business domains and
applications are ODBMSs being practically used? Could you
please give examples of typical applications that use an ODBMS?
Also please indicate whether/where ODBMS applications domains are changing.
Q3. What are the most innovative features (if any) added/ or
improved to/for ODBMS in the last years? And why are they useful?
Q4. Scalability, Performance, Support of OO languages, Impedance Mismatch: can you please describe briefly how in your opinion ODBMSs differ (compete) with respect to other databases, such as relational, and O-R mappers?
Q5. Standards: Why have standardization activities for ODBMSs not progressed??
Q6. Open source: Some Open Source databases that have been successful in their respective domains,
have been recently sold. For example MySQL sold to SUN and then to Oracle, and db4objects sold to
Versant. Both Oracle and Versant do have proprietary products.
Is Open Source a viable business model option for a database?
Paper | Expert | DOWNLOAD(PDF) | August 2009 | ***
Interprocedural Query Extraction for Transparent Persistence
By Ben Wiedermann, Ali Ibrahim, and William
R. Cook
January 10, 2009: The paper introduces Transparent Persistence which promises to
integrate programming languages and databases by allowing programs to access persistent
data with the same ease as non-persistent data. The paperis focused on programs
written in the current version of Java, without languages changes. However, the
techniques developed here may also be of value in conjunction with object-oriented
languages extended with high-level query syntax.
Paper | Expert | DOWNLOAD
(PDF) | January 2009 | ***
Object-Oriented Design of Database Stored Procedures
By Michael Blaha,
Bill Huth, Peter Cheung
October 22, 2008: Object-oriented (OO) software engineering techniques are often
used with programming languages, but they also apply to relational databases. OO
techniques are not only helpful for determining database structure, but also for
designing stored procedure code. In fact, we were surprised by the magnitude of
the stored procedure benefits. OO techniques boost development productivity as well
as the quality, clarity, and maintainability of the resulting code.
Paper | Expert |
DOWNLOAD (PDF) | October 2008 | ***
Object Database Systems: Quo Vadis?
By Mike Card, Jim Paterson,
Kazimierz Subieta, Roberto Zicari
(Editor)
June 2, 2008: ODBMS.ORG, a vendor-independent non-profit group of high-profile software
experts lead by Prof. Roberto Zicari, has exclusively published a new panel discussion
"Object Database Systems: Quo vadis?" on experts' views on on some critical questions
related to Object Databases: Where are Object Database Systems going? Are Relational
database systems becoming Object Databases? Do we need a standard for Object Databases?
Why ODMG did not succeed?
Paper | Expert |
DOWNLOAD (PDF) | June 2008 | ****
Java Object Persistence: State of the Union
Part II
By Jose Blakeley,
Rick Cattell, William Cook,
Robert Greene, Alan
Santos, Roberto Zicari
(Editor)
May 15, 2008: ODBMS.ORG, a vendor-independent non-profit group of high-profile software
experts lead by Prof. Roberto Zicari, has exclusively published a second sequel
to the panel discussion "Java Object Persistence: State of the
Union."
Paper | Expert |
DOWNLOAD (PDF) | May 2008 | *****
An Example of Ignoring Referential Integrity: The LDAP Standard
By Michael Blaha
April 10, 2008 Abstract: In an earlier article on ODBMS.ORG (Referential
Integrity Is Important For Databases, 2005) we explained how referential integrity
applies to modeling, programming, and databases. Referential integrity is a constraint
that ensures that references between data are valid and intact. Relational DBMSs
have intrinsic support for referential integrity, though it often goes unused. Some
OO DBMSs also have support as ObjectStore illustrates. Our earlier article alluded
to the LDAP standard as an example that demonstrates the peril of ignoring referential
integrity and we will now elaborate. The LDAP standard illustrates the consequences
of ignoring referential integrity when building applications.
Paper | Expert |
DOWNLOAD (PDF) | March 2008 | ***
Java Object Persistence: State of the Union
Part I
By Mike Keith, Ted Neward,
Carl Rosenberger,
Craig Russell, Roberto Zicari (Editor)
April 1, 2008: ODBMS.ORG, a vendor-independent non-profit group of high-profile
software experts lead by Prof. Roberto Zicari, has together with InfoQ.com exclusively
published the panel discussion "Java Object Persistence: State of the Union."
Paper | Basic |
DOWNLOAD (PDF) | April 2008 | *****
Next-Generation Object Database Standardization
By Michael Card
September 27, 2007 Abstract: Following the dissolution of the Object Data Management
Group (ODMG) in 2001, standardization efforts for object databases languished. What
has emerged since is a fractured marketplace where each vendor has developed a unique
set of programming interfaces and features and no truly portable way of interacting
with an object database exists. In 2005, the OMG’s Object Database Technology Working
Group was formed as the successor to the ODMG, and our first effort has been to
create the object equivalent of the relational calculus. We believe that the foundation
for this “object calculus” can be found in the research done by Prof. Kazimierz
Subieta and his students at the Polish-Japanese Institute of Information Technology.
We have prepared this white paper to serve as an introduction to Prof. Subieta’s
“stack-based architecture” (SBA) and to define the OMG version of it. The definitions
and semantics of SBA will, we believe, allow the construction of a complete and
correct object model that supports a powerful object query language as well as a
complete and correct set of equivalent native programming language bindings.
Paper | Expert |
DOWNLOAD (PDF) | September 2007 | ****
Avoiding the Quagmire
By Ted Neward
May 21, 2007 Abstract: For close on to two decades, the programming industry has
sought answers to the problems of manipulating relational data from within an object-oriented
language. The problems of this approach are documented, well-known, and generally
involve a highly-charged emotional debate. In this paper, a follow-up to the controversial
"Vietnam of Computer Science", the author of the "Vietnam" essay examines an entirely
different approach to the problem: storing objects in an object database.
Paper | Expert |
DOWNLOAD (PDF) | LINK | May 2007 | *****
OODBMS Architectures Defended
By Robert Greene
February 2, 2007 Abstract: It is the intent of this paper to address the issues
raised in "OODBMS Architectures Revisited". The intent
of the original article "OODBMS Architectures" was to offer
an adopter of OODB technology practical knowledge that would facilitate a successful
adoption. Greene thinks it is important to comment on Mariott's rebuttal which contains,
in his option, a lot of theoretical content which is less than useful for practical
implementations.
Paper | Expert |
DOWNLOAD (PDF) | February 2007 | ***
OODBMS Architectures Revisited
By Adrian Marriott
December 6, 2006 Abstract: The purpose of this paper is to explore the analysis
offered by Robert Greene
in his paper OODBMS Architectures: An examination of implementations,
and to correct what the author believes are some incorrect statements made regarding
page-based server architectures. The author addresses the subjects Greene discusses
in the order that they appear in his paper. To help orient the reader the original
headings are included, and the offending passages are quoted, before the author
examines Greene's claims.
Paper | Expert |
DOWNLOAD (PDF) | December 2006 | ****
Integrating Programming Languages and Databases: What is the Problem?
By William Cook, Ali
Ibrahim
October 3, 2006 Abstract: The problem of integrating databases and programming languages
has been open for nearly 45 years. During this time much progress has been made,
in exploring specialized database programming languages, orthogonal persistence,
object-oriented databases, transaction models, data access libraries, embedded queries,
and object-relational mapping. While new solutions are proposed every year, none
has yet proven fully satisfactory. One explanation for this situation is that the
problem itself is not sufficiently well defined, so that partial solutions continue
to be proposed and evaluated based upon incomplete metrics, making directed progress
difficult. This paper is an attempt to clarify the problem, rather than propose
a new solution. We review issues that arise on the boundary between programming
languages and databases, including typing, optimization, and reuse. We develop specific
criteria for evaluating solutions and apply these to the solution approaches mentioned
above. The analysis shows that progress has been made, yet the key problem of meeting
all the criteria simultaneously remains open.
Paper | Expert |
DOWNLOAD (PDF) | September 2006 | ****
OODBMS Architectures
By Robert Greene
October 3, 2006 Abstract: The Object Oriented Database Management System (OODBMS)
has been in existence now for nearly 2 decades. The major vendors conceived and
began implementing them in the late 80's accommodating OO languages like Smalltalk,
C++ and Java, with commercial products shipping in the mid 90's. In the beginning,
there was a great expectation that the OODBMS would replace the RDBMS as the database
of choice for future applications. The "great expectation" has not come to fruition
and it is an assertion in this paper that ONE of the major reasons for this comes
down to OODBMS architecture. That is, the OODBMS architecture and it's impact on
the expectations of early adopters. Many successfully deployed applications have
demonstrated that choosing the right OODBMS architecture allows the building of
high performance, highly concurrent and scalable solutions. This paper seeks to
examine the issue of expectation along with examining the differences between the
3 most common commercial OODB architectures.
Paper | Expert |
DOWNLOAD (PDF) | September 2006 | ****
Scalable Geospatial Object Database Systems
By Adrian Marriott
August 3, 2006 Abstract: The purpose of this paper is to describe the Geospatial
Object Server (GOS) that lies at the heart of the OS Master Map project deployed
Ordnance Survey in the UK. The aim of OS Master Map is to underpin all commercial
and government activity that involves spatial data into the next millennium. Here
we describe what the GOS does, why it does these things and how it is implemented
to scale to billions of objects. We also look at project risks and business benefits.
The Geospatial Object Server (GOS) holds the largest, seamless spatial dataset in
the world, covering the whole of the UK at 1:10000 scale. Its primary task is to
supply this data in various XML formats in response to queries.
Paper | Expert |
DOWNLOAD (PDF) | August 2006 | ****
ObjectStore and STL
By Adrian Marriott,
Ben Rousseau
June 15, 2006 Abstract: The main aim of this paper is to show how easily STL can
be used with ObjectStore. We describe how to store STL containers, their iterators
and STL basic_strings persistently within ObjectStore. We present a fully working
ObjectStore allocator designed for the popular STLport freeware implementation that
has been tested to capacities of three million objects or more.
Paper | Expert |
DOWNLOAD (PDF) | June 2006 | ****
Achieving High Concurrency in OO Databases
By Bob Bretl
March 15, 2006 Abstract: Today object oriented databases (OODB) are being used in
large scale applications in a variety of industries including telecommunications,
banking, manufacturing, insurance, and shipping. These applications are characterized
by having complex data, that is, data which is represented in the highly interconnected
graphs of an object model. Object databases are very good at storing the complex
data model, but it is generally up to the application developer to figure out how
to scale the application so that it runs efficiently with many concurrent users.
The purpose of this paper is to explore various techniques that can be used in object
oriented databases to achieve high concurrency. This paper first provides background
information about transactions and several concurrency control techniques, then
the difference between physical consistency and logical consistency are explored.
Finally, several specialized container classes are introduced to show how logical
(behavioral) consistency can be implemented and how they can be used to improve
concurrency and simplify application development.
Paper | Expert |
DOWNLOAD (PDF) | March 2006 | ****
Referential Integrity Is Important For Databases
By Michael Blaha
November 17, 2005 Abstract: Referential integrity is a database constraint that
ensures that references between data are indeed valid and intact. Referential integrity
is a fundamental principle of database theory and arises from the notion that a
database should not only store data, but should actively seek to ensure its quality.
The notion of referential integrity also applies to OODBMSs. There are relationships
between objects that cause them to depend on each other and maintenance of these
dependencies should not be left to application code.
Paper | Expert |
DOWNLOAD (PDF) | November 2005 | ****
Next Generation of Virtual Platforms
By Suad Alagic, Mark
Royer
October 28, 2005 Abstract: This paper is addressing three major and quite controversial
issues critical for the next generation of virtual platforms for object-oriented
languages. The first one is providing explicit support for parametric types in the
virtual machine. The second is that object-oriented languages (of the next generation)
equipped with assertions and running on virtual platforms require proper support
for parametric types equipped with assertions (constraints). The third is an argumentation
for much more sophisticated orthogonal persistent capabilities.
Paper | Expert |
DOWNLOAD (PDF) | October 2005 | ****
Agile Techniques for Object Databases
By Scott Ambler
September 15, 2005 Abstract: Modern software development processes are evolutionary
in nature, but more often than not agile. Agile techniques include refactoring,
agile modeling, continual regression testing, configuration management of all development
assets, and separate sandboxes for developers to work in. The use of relational
database (RDBMS) technology complicates the adoption of these techniques due to
the technical impedance mismatch, the cultural impedance mismatch, and the current
lack of tool support. Object databases (ODBMSs) make it easier to be agile. A non-intrusive
ODBMS such as db4o, the native object database for Java and .NET, makes it easiest
to develop, evolve, and maintain software code in an agile manner.
Paper | Expert |
DOWNLOAD (PDF) | September 2005 | *****
Native Queries for Persistent Objects
By William Cook, Carl Rosenberger
August 23, 2005 Abstract: Most persistence architectures for Java and .NET provide
interfaces to execute queries written in an architecture-specific query language.
These interfaces are string based: queries are defined in strings that are passed
to the persistence engine for interpretation. String-based query interfaces have
significant negative impact on programmer pro- ductivity. The queries are not accessible
to development environment features like compile-time type checking, auto-completion,
and refac- toring. Programmers must work in two languages: the implementa- tion
language and the query language. This paper introduces Native Queries, a concise
and type-safe way to express queries directly as Java and C# methods. We describe
the design of Native Queries and provide an overview of implementation and optimization
issues. The paper also includes a discussion of the advantages and disadvantages
of the current design of Native Queries.
Paper | Expert |
DOWNLOAD (PDF) | August 2005 | *****
The Dilemma of Encapsulation Versus Query Optimization
By Michael Blaha
July 21, 2005 Abstract: There is a fundamental, irreconcilable conflict between
the goals of encapsulation and the goals of query optimization. The object-oriented
literature emphasizes encapsulation. An object should access only objects that are
directly related. An object can access indirectly related objects via the methods
of intervening objects. Encapsulation increases the resilience of an application;
local changes to an application model cause local changes to application code. On
the other hand, database management system (DBMS) optimizers take a logical request
and generate an execution plan. If queries are broadly stated, the optimizer has
greater freedom for devising an efficient plan. Thus encapsulation boosts resilience
but limits optimization potential. On the other hand, broadly stating queries is
conducive to optimization, but a small change to an application can affect many
queries.
Paper | Expert |
DOWNLOAD (PDF) | July 2005 | ****