ODBMS.ORG - Object Database Management Systems
ODBMS.ORG - The Resource Portal for Education and Research

SPONSORED BY

SEARCH

NEWS

EVENTS

Expert Articles

This section contains dedicated contributions from ODBMS.ORG's Panel of Experts.



Big Data for Good.

Roger Barca, Laura Haas, Alon Halevy, Paul Miller, Roberto V. Zicari.

June 5, 2012:Big Data for Good.
A distinguished panel of experts discuss how Big Data can be used to create Social Capital.
Abstract: Every day, 2.5 quintillion bytes of data are created. This data comes from digital pictures, videos, posts to social media sites, intelligent sensors, purchase transaction records, cell phone GPS signals to name a few. This is Big Data. There is a great interest both in the commercial and in the research communities around Big Data. It has been predicted that “analyzing Big Data will become a key basis of competition, underpinning new waves of productivity growth, innovation, and consumer surplus”, according to research by MGI and McKinsey’s Business Technology Office.
But very few people seem to look at how Big Data can be used for solving social problems. Most of the work in fact is not in this direction. Why this? What can be done in the international research community to make sure that some of the most brilliant ideas do have an impact also for social issues?
I have invited a panel of distinguished well known researchers and professionals to discuss this issue. The list of panelists include:
- Roger Barga, Microsoft Research, group lead eXtreme Computing Group, USA
- Laura Haas, IBM Fellow and Director Institute for Massive Data, Analytics and Modeling IBM Research, USA
- Alon Halevy, Google Research, Head of the Structured Data Group, USA
- Paul Miller, Consultant, Cloud of Data, UK
This Q&A panel focuses exactly at this question: is it possible to conduct research for a corporation and/or a research lab, and at the same time make sure that the potential output of our research has also a social impact?
We take Big Data as a key example. Big Data is clearly of interest to marketers and enterprises a like who wish to offer their customers better services and better quality products. Ultimately their goal is to sell their products/services.
This is good, but how about digging into Big Data to help people in need? Preventing / predicting natural catastrophes, helping offering services “targeting” to people and structures in social need?
Hope you`ll find this interview interesting, as well as eye-opening. RVZ
Blog Panel | Intermediate | English | DOWNLOAD (PDF)| June 2012|

Data Modeling and Functional Modeling – Which Comes First?

By Peretz Shoval

February 2012: In the analysis phase of the information system development (ISD), the users' requirements are studied and defined. In most ISD methodologies, the requirements are defined by two models: a conceptual data model in form of e.g. an entity-relationship (ER) diagram or a class diagram; and a functional model in form of e.g. data flow diagrams (DFD) or use cases. Different ISD methodologies prescribe different orders of carrying out these modeling activities but there is no commonly agreed order for performing them.
In order to find out whether the order of analysis activities makes any difference, and which order leads to better results, we have conducted two independent comparative experiments in laboratory settings. The subjects in the two experiments were asked to create data models and functional models of a certain system while working in the two opposite orders. In each experiment we used a different ISD methodology and different subjects, but assigned the same modeling tasks. The main results of the experiments are that the data models are of better quality when created as the first modeling task, and that analysts prefer to first create the data model and then the functional model. The results of the two experiments have been reported in Shoval & Kabeli (2005) and in Shoval et al. (2009). This paper provides an overview of the two studies.
Paper | Expert | English | Download (.PDF).| 2012|

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 | ****

SUPPORTERS

MEDIA PARTNER

SOCIAL

PERSISTENT PATTERNS AWARDS

Share |