Skip to content

"Trends and Information on AI, Big Data, Data Science, New Data Management Technologies, and Innovation."

This is the Industry Watch blog. To see the complete ODBMS.org
website with useful articles, downloads and industry information, please click here.

Sep 23 08

10+ Questions On Innovation to Dennis Tsichritzis

by Roberto V. Zicari

I am interested to learn how innovaton can be supported and if possible created. Large research centers do (sometimes) innovate and/or facilitate individual innovation. Read what Dennis Tsichritzis has to say on this. Dennis was previously President of GMD and later senior vice president at Fraunhofer, after Fraunhofer and GMD merged to form one of the largest research center in Germany.

Dennis Tsichritzis got his PhD from Princeton 1968 in Computer Engineering and he spent 40 years in different positions in North America (US and Canada) and Europe (Switzerland, Germany and Greece) doing Research and Research Management. His main Research work was in Data Bases at the University of Toronto and in Object Oriented Systems at the University of Geneva. His main Research Management positions were in Germany first at GMD (as a President) and then at Fraunhofer (as senior vice president). He published extensively and was a University Professor and a business consultant throughout his career.

1. What is “Innovation” for you?

Dennis Tsichritzis: It is the process of creating value by combining ideas, old and new, to improve products, processes and overall environments in economic activities. The emphasis should not be in the novelty of the ideas but at their application to
solve real problems. In Research it is the new idea that is important. In innovation it is the new application.

2. Who are your favorite innovators?

Dennis Tsichritzis: I prefer to talk about favorite innovations rather than favorite innovators. It is sometimes hard to pin point the advancement to one person and only Historians can attribute the credit appropriately.
Just to name a few.
1) The combination of the keel (used for boat stabilization) and the sail (used for boat propulsion) to invent the sailing boat capable of sailing against the wind. Attributed to the unknown sailors who first noticed and then perfected the sailing ship transporting people and goods around the World.
2) Harnessing energy to produce motion. All sorts of engines from the steam (Watt) to the modern combustion engines powering autos, planes, etc. which leverage human muscular strength and allowed widespread transportation.
3) Bringing together Computers and Communications which produced Internet, the Web and made information readily available throughout the World. Only half a century ago the study of Computers and Communications were separate with even a different mathematical basis, Computers used Discrete Mathematics and Communications used Continuous Mathematics.

3. What do you consider are the most promising innovations of the last 3 years?

Dennis Tsichritzis:
1) The smart phone combining Telephone, Media device and Computer to bring mobility, power, versatility and ease of use in a small affordable package.
2) Sensors of all kinds which identify objects and communicate their properties. This allows an unprecedented and open ended host of applications connecting real world objects between themselves and with Human beings.
3) Revisiting the whole energy scene with new ways of producing, storing and transmitting energy. Most of the alternatives may prove unrealistic but the whole activity will modify the patterns of energy production and consumption.

4. What does it help to become a successful innovator?

Dennis Tsichritzis: To understand the world and its real problems and have a wide palette of interesting technologies which may be applicable is a necessary precondition. You also need focus and persistence over a long time frame and appropriate economic conditions to light the fire.

5. Is there a price to pay to be an innovator? Which one?

Dennis Tsichritzis: Once you are obsessed with an idea you neglect everybody and everything including your own private life. You have to live through many dissapointments without giving up.

6. What are the rewards to be an innovator?

Dennis Tsichritzis: Nothing material, few innovators become rich. They seldom have the right entrepreneurial characteristics. Fame, if it ever comes, is late and is a small consolation. Most innovators do it for the pleasure and self satisfaction. Other people around them reap the real benefits and sometimes the fame too.

7. What are in your opinion the top 3 criteria for successful innovation?

Dennis Tsichritzis:
1) To be economically relevant.
2) To be widely applicable.
3) To provide a better quality of life.

8. What would you recommend to young people who wish to pursue innovation?

Dennis Tsichritzis: Observe the World and listen to other people. Most of the ideas are around if only you take the time to discover them. Do not get easily get sidetracked or discouraged. Do not follow any fads and directions where everybody is going.

9. In your opinion how can we create a culture that supports and sustains innovation?

Dennis Tsichritzis: By admiring the new and the chances that it brings as opposed to thinking of the risks and the shortcomings. By rewarding lavishly everybody who tries to innovate as opposed to the successful ones. By encouraging young persons to think differently as opposed to learn what is widely accepted.

10. What do you think stops/slows down innovation?

Dennis Tsichritzis: Backward mentality, vested interests and fear of the unknown.

10+1 .Do you think becoming an innovator can be taught? If yes, how?

Dennis Tsichritzis: No I do not think that becoming inovator can be widely taught, the same way as painting or poetry writing. What can be taught is the appreciation and the support for innovation.

10+2. What is in your opinion the influence that a “location” (country/region) plays with respect to the possibility to be a
successful innovator?

Dennis Tsichritzis:
1) The right general culture
2) The acceptance of the need for innovation (otherwise we will not make it)
3) The right economic conditions so an innovation can be promoted at a global scale

10+3. What would you recommend to make a “location” attractive for innovation?

Dennis Tsichritzis:
1) Attract top talent around the World by giving them the best working conditions and living environment.
2) Revamp the education system to promote free thinking instead of recipes
3) Support financially innovations and promote them world wide

Thank you!
##

Sep 4 08

Do you have an impedance mismatch problem? Users speak up! Second series of user reports published.

by Roberto V. Zicari

I have started a new series of interviews with users of technologies for storing and handling persistent objects, around the globe.

6 additional user reports (12-17/08) have been published, from the following users:

  • Ajay Deshpande, Persistent
  • Horst Braeuner, City of Schwaebisch Hall
  • Tore Risch, Uppsala University
  • Michael Blaha, OMT Associates
  • Stefan Keller, HSR Rapperswil
  • Mohammed Zaki, Rensselaer

The complete initial series of user reports is available as always for free download.

Here I define “users” in a very broad sense, including: CTOs, Technical Directors, Software Architects, Consultants, Developers, Researchers.

I have asked 5 questions:

Q1. Please explain briefly what are your application domains and your role in the enterprise.

Q2. When the data models used to persistently store data (whether file systems or database management systems) and the data models used to write programs against the data (C++, Smalltalk, Visual Basic, Java, C#) are different, this is referred to as the “impedance mismatch” problem. Do you have an “impedance mismatch” problem?

Q3. What solution(s) do you use for storing and managing persistence objects? What experience do you have in using the various options available for persistence for new projects? What are the lessons learned in using such solution(s)?

Q4. Do you believe that Object Database systems are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Q5. What would you wish as new research/development in the area of Object Persistence in the next 12-24 months?

More information here.

Aug 27 08

LINQ is the best option for a future Java query API

by Roberto V. Zicari

A conversation with Mike Card.

I have interviewed Mike Card on the latest development of the OMG working group which aims at defining a new standards for Object Database Systems.

Mike works with Syracuse Research Corporation (SRC) and is involved in object databases and their application to challenging problems, including pattern recognition. He chairs the ODBT group in OMG to advance object database standardization.

R. Zicari: Mike, you recently chaired an OMG ODBTWG meeting, on June 24, 2008 What kind of synergy do you see outside OMG in relation to your work?

Mike Card: We think it is likely that the OMG would need to participate in the Java Community Process (JCP) in order to write a Java Specification Request (JSR) to add LINQ functionality to Java.

R. Zicari: There has been a lot of discussion lately on the merit of SBQL vs. LINQ as a possible query API standard for object databases . Did you discuss this issue at the meeting?

M. Card: I began the technical part of our meeting by reviewing Professor Subieta’s comparison of SBQL and LINQ. It was my understanding from this comparison that LINQ was technically capable of performing any query that could be performed by SBQL, and I wanted to know if the participants saw this the same way. They agreed in general, and believed that even if LINQ were only able to do 90% of what SBQL could do in terms of data retrieval that it would still be the way to go.

R. Zicari: Could you please go a bit more in detail on this?

M. Card: Sure. At the meeting it was pointed out that Prof. Subieta had noted in his comparison that he had not shown queries using features that are not a part of LINQ, such as fixed-point arithmetic, numeric ranges, etc.

These are language features that would be familiar to users of Ada but which are not found in languages like C++, C#, and Java so they would likely not be missed and would be considered esoteric.

It was also pointed out that the query examples chosen by Prof. Subieta in his comparison were all “projections” (relational term meaning a query or operation that produces as its output table a subset of the input table, usually containing only some of the input table’s columns).

A query like this by definition will rely on iteration, and this will show the inherent expressive power of SBQL since the abstract machine contains a stack that can be used to do the iteration processing and thus avoid the loops, variables, etc. needed by SQL/LINQ.

R. Zicari: Did you agree on a common direction for your work in the group?

M. Card: The consensus at this meeting and at ICOODB conference in Berlin was that LINQ was the best option for a future Java query API since it already had broad support in the .Net community. We will have to choose a new name for the OMG-Java effort, however, as LINQ is trademarked by Microsoft.

It was also agreed that the query language need not include object update capability, as object updates were generally handled by object method invocations and not from within query expressions.

Now, since LINQ allows method invocations as part of navigation (e.g. “my_object.getBoss().getName()”) it is entirely possible that these method calls could have side effects that update the target objects, perhaps in such a way that the changes would not get saved to the database.

This was recognized as a problem, ideas kicked around for how to solve it included source code analysis tools.
This is something we will need a good answer for as it is a potential “open manhole cover” if we intend the LINQ API to be read-only and not capable of updating the database (especially unintentionally!)

R. Zicari: What else did you address at the meeting?

Mike Card: The discussion then moved on to a list of items included Carl Rosenberger’s ICOODB presentation.
Other items were also reviewed from an e-mail thread in the ODBMS.ORG forumthat included comments from both Prof. Subieta and Prof. William Cook.

The areas discussed were broken down into 3 groups:
i) those things there was consensus on for standardization,
ii) those things that needed more discussion/participation by a larger group, and
iii) those things that there was consensus on for exclusion from standardization.

R. Zicari: What are the areas you agree to standardize?

Mike Card: The areas we agree to standardize are:

1. object lifecycle (in memory): What happens at object creation/deletion, “attached” and “detached” objects, what happens during a database transaction (activation and de-activation), etc. It is desirable that we base our efforts in this area on what has already been done in existing standards for Java such as JDO, JPA, OMG, et. al. This interacts with the concurrency control mechanism for the database engine, may need to refer to Bernstein et. al. for serialization theory / CC algorithms.

2. object identification: A participant raised a concern here RE: re-use of OID where the OID is implemented as a physical pointer and memory is re-cycled resulting in re-use of an OID, which can corrupt some applications. He favored a standard requiring all OIDs to be unique and not re-used

3. session:: what are the definition and semantics of a session?
a. Concurrency control: again, we should refer to Bernstein et. al. for proven algorithms and mathematical definitions in lieu of ACID criteria (ACA: Avoidance of Cascading Aborts, ST: Strict, SR: Serializable, RC: Recoverable for characterizing transaction execution sequences)
b. Transactions: semantics/behavior and span/scope

4. Object model: what OM will we base our work upon?

5. Native language APIs: how will we define these? Will they be based on the Java APIs in ODMG 3.0, or will they be different? Will they be interfaces?

6. Conformance test suite: we will need one of these for each OO language we intend to define a standard for. The test suite, however, is not the definition of the standard; the definition must exist in the specification.

7. Error behavior: exception definitions etc.

R. Zicari: What are the areas where no agreement was (yet) found?

Mike Card: Areas we need to find agreement on are:

1. keys and indices: how do you sort objects? How do you define compound keys or spatial keys? Uniqueness constraints? Can this be handled by annotation, with the annotation being standardized but the implementation being vendor-specific? This interacts with the query mechanism, e.g. availability of an index could be checked for by the query optimizer.

2. referential integrity: do we want to enforce this? Avoidance of dangling pointers, this interacts with object lifecycle/GC considerations.

3. cascaded delete: when you delete an object, do you also delete all objects that it references? It was pointed out that this has issues for a client/server model ODBMS like Versant because it may have to “push” out to clients that objects on the server have been deleted, so you have a distributed cache consistency problem to solve.

4. replication/synchronization: how much should we standardize the ability to keep a synchronized copy of part or all of an object database? Should the replication mechanism be interoperable with relational databases? Part or all of this capability could be included in an optional portion of the standard.

a. Backup:
this is a specialized form of replication, how much should this be standardized? Is the answer to this
question dependent upon the kind of environment (DBA or DBA-less/embedded) that the ODBMS is operating in?

5. events/triggers: do we want to standardize certain kinds of activity (callbacks et. al.) when certain database operations occur?

6. update within query facility: this is a recognition of the limitations of LINQ, which does not support object update it is “read-only.” Generally, object updates and deletes are performed by method invocations in a program and not by query statements.
The question is, since LINQ allows method invocations as part of navigation, e.g. “my_employee_obj.getBoss().getName(),” is it possible in cases like this that such method calls could have side effects which update the object(s) in the navigation statement? If so, what should be done?

7. extents: do we expose APIs for extents to the user?

8. support for C++: how will we support C++/legacy languages for which a LINQ-like facility is not available? We could investigate string-based QL like OQL and/or we could use a facility similar to Cook/db4o “native queries”

R. Zicari: And what are the areas you definitely do not want to standardize?

Mike Card: Areas we do not want to standardize are:

1. garbage collection: issue here is behavioral differences between “embedded” (linked-in) OODBMS vs. client/server OODBMS

2. stored procedures/functions/views: these are relational/SQL concepts that are not necessarily applicable to object-oriented programming languages which are the purview of object databases.

R. Zicari: How will you ensure that the vendor community will support this proposal?

Mike Card: We plan on discussing this list and verify that others not present agree with the grouping of these items. We should also figure out what we want to do with the items in the “middle” group and then begin prioritizing these things. It appears likely that a next-generation ODBMS standard will follow a “dual-track” model in that the query mechanism (at least for Java) will be developed as a JSR within the JCP, while all of the other items will be developed within the OMG process.

For C# (assuming C# is a language we will want an ODBMS standard for, and I think it is), the query API will be built into the language via LINQ and we will need to address all of the “other” issues within our OMG effort just as with Java. In the case of C# and Java, most of these issues can probably be dealt with in the same manner.

How much interest there is in a C++ standardization effort is unclear, this is an area we will need to discuss further.
A LINQ-like facility for C++ is not an option since unlike C# and Java there is no central maintenance point for C++ compilers.

There is an ISO WG that maintains the C++ standard, but C++ “culture” accepts non-conformant compilers so there are many C++ compilers out there that only conform to part of the ISO standard.

The developers present who work with C++ mentioned that their C++ code base must be “tweaked” to work with various compilers as a given set of C++ code might compile fine with 7 compilers but fail with the compiler from vendor number 8.
In general, the maintenance of C++ is more difficult than for Java and C# due to inconsistency in compiler implementation and this complicates anything we want to do with something as complex as object persistence.
##

Some Useful Resources:
Panel Discussion “ODBMS: Quo Vadis?

Java Object Persistence: State of the Union PART II

Java Object Persistence: State of the Union PART I

Aug 16 08

ICOODB 2009, July 1-3, 2009, ETH Zurich

by Roberto V. Zicari

The second International Conference on Object Databases (ICOODB) will take place at ETH Zurich (Switzerland), on July 1-3, 2009.

The ICOODB 2009 Conference Chair is Moira C. Norrie.

I`d also like to inform you that a Steering Committee for the future series of ICOODB conferences has been created.
The Steering Commitee is composed of:

Mike Card, Mike Card, Syracuse Research
Rick Cattell, consultant,
William Cook, University of Texas at Austin,
Stefan Edlich, FH Berlin
Moira C. Norrie, ETH Zurich
James Paterson, Glasgow Caledonian University
Christof Wittig, db4objects
Roberto V. Zicari, Goethe University Frankfurt

Jul 1 08

Do you have an impedance mismatch problem? Users speak up!

by Roberto V. Zicari

I have started a new series of interviews with users of technologies for storing and handling persistent objects, around the globe.

Here I define “users” in a very broad sense, including: CTOs, Technical Directors, Software Architects, Consultants, Developers, Researchers.

I have asked 5 questions:

Q1. Please explain briefly what are your application domains and your role in the enterprise.

Q2. When the data models used to persistently store data (whether file systems or database management systems) and the data models used to write programs against the data (C++, Smalltalk, Visual Basic, Java, C#) are different, this is referred to as the “impedance mismatch” problem. Do you have an “impedance mismatch” problem?

Q3. What solution(s) do you use for storing and managing persistence objects? What experience do you have in using the various options available for persistence for new projects? What are the lessons learned in using such solution(s)?

Q4. Do you believe that Object Database systems are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Q5. What would you wish as new research/development in the area of Object Persistence in the next 12-24 months?

The first series of interviews I published in ODBMS.ORG include:

ODBMS.ORG User Report No. 1/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Automation System Solutions for Postal Processes.
User Name: Gerd Klevesaat
Title: Software Architect
Organization: – Siemens AG- Industry Sector, Germany

ODBMS.ORG User Report No.2/08
Editor Roberto V. Zicari- www.odbms.org
July 2008.
Category: Academia
Domain: Research/Education
User Name: Pieter van Zyl
Title: Researcher
Organization: Meraka Institute of South Africa’s Council for
Scientific and IndustrialResearch (CSIR) and University of
Pretoria, South Africa.

ODBMS.ORG User Report No.3/08
Editor Roberto V. Zicari- www.odbms.org
July 2008.
Category: Academia
Domain: Research/Education
User Name: Philippe Roose
Title: Associate Professor / Researcher
Organization: LIUPPA/IUT de Bayonne, France.

ODBMS.ORG User Report No.4/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Various
User Name: William W. Westlake
Title: Principal Systems Engineer
Organization: Science Applications International Corporation, USA

ODBMS.ORG User Report No.5/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Academia
Domain: Research/Education
User Name: Stefan Edlich
Title: Professor
Organization: TFH-Berlin, Germany

ODBMS.ORG User Report No. 6/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Various.
User Name: Udayan Banerjee
Title: CTO
Organization: NIIT Technologies, India.

ODBMS.ORG User Report No. 7/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Robotics.
User Name: NISHIO Shuichi
Title: Senior Researcher
Organization: JARA/ATR, Japan.

ODBMS.ORG User Report No.8/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Financial Services
User Name: John Davies
Title: Technical Director
Organization: Iona, UK

ODBMS.ORG User Report No.9/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Various
User Name: Scott W. Ambler
Title: Practice Leader Agile Development
Organization: IBM Rational, Canada

ODBMS.ORG User Report No. 10/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
June 2008.
Category: Industry
Domain: Defense/intelligence area.
User Name: Mike Card
Title: Principal engineer
Organization: Syracuse Research Corporation (SRC), USA

ODBMS.ORG User Report No. 11/08
Editor Roberto V. Zicari- ODBMS.ORG www.odbms.org
July 2008.
Category: Industry
Domain: Finance
User Name: Richard Ahrens
Title: Director
Organization: Merrill Lynch, US

All user reports are available for free download (PDF)

Hope you`ll find them interesting. More to come….I plan to publish user reports in ODBMS.ORG on a regular base.

RVZ

Jun 11 08

Interview with Marten Mickos

by Roberto V. Zicari

Marten Mickos is now the head of the Database Group at Sun Microsystems
I have asked Marten a few questions related to the new strategy of MySQL, now part of Sun Microsystems.
See his reply below.

RVZ


Q1. It appears as if the positioning of MySQL has been refocused more predominately on the Web applications / SaaS / ASP market in the last year or so. Would you agree with this, and if so, what does that mean regarding the potential of MySQL to penetrate further into the enterprise?

Marten Mickos:
Great question. We believe that enterprises will move to web-based architectures, and with that wave, MySQL is penetrating the enterprise market.

Goldman Sachs stated in 2006 that “the shift to more web-based applications in the enterprise is unstoppable”. The percentage is still relatively low (10-20% I think) but it is growing.


Q2. Lack of enterprise-grade support and vendor services are frequently cited in surveys as the #1 barrier to the adoption of
FOSS RDBMSs by the enterprise. In this sense, can you give some specific examples of how the Sun acquisition is playing with enterprise clients?

Marten Mickos:
Very true. Before we got acquired we didn’t really believe this (we had so many customers anyhow), but we see a clear change now. Thanks to Sun, we are in active dialogue with CIOs and others of very large corporations.


Q3. One could make the argument that the Big 3 (Oracle, IBM and Microsoft) did not have an appropriately tailored offering (particularly on price) for the build-out of the Web, and that this largely left the field clear for MySQL (as part of the LAMP stack). What do you expect their strategy to be over the long-term?

Marten Mickos:
Yep, I think that’s a valid assertion.

But they are not stupid, and they all have great strategies for the future. Microsoft SQL Server is marching into the web world with the entire Microsoft stack. They are perhaps not overly successful, but within the domain of web apps that run on Windows, SQL Server has a reasonable share. Oracle seems to be attempting to cover the SaaS companies, and they have a reasonably good start there. IBM is focusing on their on-demand story with DB2 on a variety of IBM platforms.

These are just my observations and I may be wrong, of course. Overall I think that the big 3 will continue to have good business for themselves, but I also think that in the most rapidly growing market segments they may have no special advantage.


Q4. What consequences do you think Sun’s acquisition will have for MySQL as an open source product? Can you maintain the user involvement and open source brand? How will you manage the innovation process in the future?

Marten Mickos:
A key reason for us accepting the acquisition offer was that we saw and liked the new open source strategy of Sun. They are fully committed to open source and to the architecture of participation. If anything, this should have a positive effect for us.


Q5: Where Sun wants to brings persistence with respect to objects?

Marten Mickos:
I believe that this is a question for the application designer. As a vendor of software and hardware infrastructure, we at Sun need to accommodate all needs. You get persistence through MySQL or JavaDB (in native Java) or you can use memory-based tools such as Memcached. And with various object-relational mapping technologies you can go from non-persistence to persistence according to your own desires.


Q6: LINQ is leading in database API innovation, providing native language data access. Why is there no LINQ for Java?

Marten Mickos:
I don’t know.


Q7. Sun and Java go together synonymously, ala the change in Sun’s ticker symbol to Java. However, it’s been written that Java users represent a smaller subset of the MySQL community which is largely composed of PHP, Python, Perl, C, C++ developers. How do you plan to increase your appeal to the Java user community?

Marten Mickos:
The P languages are likely to continue to be the most important for MySQL, and Ruby on Rails is growing in popularity. But we always had an initiative to grow the installed base in the Java world. The most important thing we can do is have a great JDBC driver, which I think we have. It is highly performant and it supports the most important functions and constructs. Now as we are part of Sun we will be able to further remove barriers to adoption. We will probably create more how-to documents, tutorials, and sample applications, plus benchmarks etc. – all of which are intended to make it more appealing to use MySQL from a Java app.


Q8. As a company, you need to derive revenue to survive. You’ve done that successfully using an open source model that focuses on services and value added upgrade licenses. Those tools, while establishing a vast user community including 100’s of millions of installations, have driven relatively modest revenues. Going forward, which revenue generating tool do you see providing the most return to Sun’s investment in MySQL, services or licenses and why?

Marten Mickos:
We have always had a business model of providing commercially licensed stuff to customers. This will continue. From a technical standpoint we know that open source is a more efficient way to produce software, but from a business standpoint we have chosen to produce certain smaill add-ons for paying customers only. In this way we can combine the best of open source with a great revenue model. This is probably why we are the fastest growing database business in the world.

///mgm

May 20 08

Object Database Systems: Quo vadis?

by Roberto V. Zicari

I wanted to have an opinion 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?

I have therefore interviewed one of our Experts, Mike Card , on his view on the current State of the Union of object database systems.
Mike works with Syracuse Research Corporation (SRC) and is involved in object databases and their application to challenging problems, including pattern recognition. He chairs the ODBT group in OMG to advance object database standardization.

Question1:
It has been said (See Java Panel II ) that an Object Database System in order to be a suitable solution to the object persistence problem needs to support not only a richer object model, but it also has to support set-oriented, scalable, cost-based-optimized query processing, and high-throughput transactions.
Do current ODBMS offer these features?

Mike Card:
In my opinion, no though the support for true transactional processing varies between vendors. Some products use “optimistic” concurrency control, which is suitable only for environments where there is very little concurrent access to the database, such as single-threaded embedded applications. In my opinion, a database engine is not “scalable” (at least in the enterprise sense of the word) if it is based on optimistic concurrency control. This is because most truly large-scale applications will require optimal performance with many concurrent transactions, and this cannot be achieved when updates have to be rolled back at transaction commit time and re-attempted due to access conflicts.

Question2:
Relational systems are rapidly becoming object database systems (See Java Panel II ). Do you agree or disagree with this statement? Why?

Mike Card:
I would disagree, because relational databases still fundamentally access objects as rows of tables and do not offer seamless integration into a host programming language’s type system. It is true that there are some good ORMs out there, but these will never offer the performance or seamlessness that is available with a good ODBMS. I would agree that ORMs are getting better, but relational databases themselves are not becoming object databases.

Question3:
A lot of the worlds systems are built on relational technology and those systems need to be extended and integrated.
That job is always difficult. An ODBMS should be able to fully participate in the enterprise data ecosystem as well as any other DBMS for both new development as well as enhancing existing applications. How this can be achieved?
What is your opinion on this issue?

Mike Card:
As many vendors have noted, this is to some extent a marketing problem in terms of making enterprise customers aware of what object databases can do. It is also a technology issue, however, as engines based on “small-scale” concepts like optimistic concurrency control are not suitable to many enterprise environments.

Question4:
Object databases vary greatly from vendor to vendor. Is a standard for object databases (still) needed? If yes, what needs to be standardized in your opinion?

Mike Card:
Yes, I believe it is. The APIs for creating, opening, deleting, and synchronizing/replicating databases as well as the native query APIs should be standardized to allow application portability. Any APIs needed to insert objects into the database, remove them from the database, or create an index on them should also be standardized, again for the sake of application portability. I would also like to see a standard XML format for exporting object database contents to allow for data portability. I am not sure our current OMG effort can achieve all of these standardization goals, but I would like to.

Question5:
How would this new standard would different to the previous effort in ODMG? And what relationships this new standard would have with standards such as SQL?

Mike Card:
Unlike the previous ODMG standard, the new standard should have a conformance test suite that anyone can download and run against a candidate product. The standard itself should also be unambiguous and use precise language as is done in ISO standards for things like programming languages, e.g. ISO/IEC 8652 (Ada programming language standard).

The primary focus of an object database standard should be its support of a native programming language, so I would expect that an object database standard might be more closely tied to an ISO standard for an object programming language (Ada, C++, other ISO-standardized languages that may appear) than to SQL, though perhaps if a LINQ-like native query capability were included in the object database standard would also reference the SQL standard due to the use of SQL-like verbs and semantics in LINQ.

Question6:
LINQ is leading in database API innovation, providing native language data access. Is this a suitable standard for ODBMS? Why?

Mike Card:
LINQ looks like it has a lot of promise in this area. We (the Object Database Technology Working Group in OMG) are currently evaluating LINQ vs. the stack-based query language (SBQL) developed at the Polish-Japanese Institute for Information Technology to see how these technologies compare for handling complex queries. SBQL has proven to be very good for complex queries and is being deployed in several EU projects, though it is unknown to most American developers. We are doing this evaluation to ensure LINQ is a good foundation for developers of applications that require complex queries, and is not too “small-scale” in its current form. We also want to hear from the LINQ community on plans (if any) to include update capability in LINQ and we need to be sure there are no surprises for parallel transaction execution.

Question7:
When object databases are a suitable solution for an Enterprise and when they are not?

Mike Card:
They are not suitable when the engine is intended primarily for use in single-threaded embedded systems (optimistic concurrency control is a good indicator of this as I mentioned earlier).

An object database would be suitable for use in an enterprise system if it was really good at large-scale data management, i.e. the engine was designed to handle large volumes of data and many parallel transactions. Some object databases are not built like this, they are designed for use primarily in single-threaded embedded applications with fairly small data volumes and as such they would not be good candidates for enterprise applications.

Besides the technology used in the database engine itself, a good enterprise object database would need database maintenance tools (e.g. taking database A offline and replacing it with database B, updating or fiddling with database A and then bringing it back on-line, scheduling backups of databases and replicating databases between sites etc.).

Question 8:
Future direction of object databases. Where do they go?

Mike Card:
The answer to this question depends on where object programming languages themselves go. Up to this point, programming languages have not included the concept of persistence, it is always included as a “foreign” thing to be dealt with using APIs for things like file I/O etc. This is a very 1960s view of persistence, where programs were things that lived in core memory and persistent things were data fil
es written out to tape or disk.

The closest thing to true integration of persistence I have seen is in Ruby with its “PStore” class. I would like to see persistence integrated even more fully, where objects can be declared persistent or made persistent a la

public class myClass {

persistent Integer[] myInts = new Integer[5];
Integer[] myOtherInts = new Integer[2];

public void aMethod() {
myOtherInts.makePersistent();
}

}

and the programming language itself would take care of maintaining them in files and loading them in at program start-up etc. without any additional work from the programmer.

Now there are obviously challenges with this as this small example shows. What does it mean to initialize a persistent object in a class declaration? Is the object re-initialized when the program starts up? Or is the persisted value retained, rendering the initialization clause meaningless on a subsequent run of the program? Should persistent objects be allowed to have initialization clauses like this? What are the rules about inter-object access? Must persistence by reachability be used to ensure referential integrity? Can a “stack” variable (i.e. a variable declared in a method) be declared or made persistent, or must persistent variables be at the class level or even “global” (static)? Are these questions different for interpreted languages like Ruby which do not have the same notions of class as languages like Java? These are computer science/discrete math questions that will be answered during the language design process which will in turn determine how much “database” functionality ends up in the language itself.

If persistence were fully integrated into an object programming language in this way, then the role of an object database for that language might be to just provide an efficient way to organize and search the program’s persistent variables. This would reduce the scope of what an object database has to do, since today an object database not only has to provide efficient organization and search (index and query) capability, but it also has to make objects persistent as seamlessly as possible. Of course, this “reduction in scope” would only be possible if the default persistence mechanism for the programming language was implemented in a way that was efficient and fast for large numbers of objects.

##

May 15 08

Java Object Persistence: State of the Union PART II Published

by Roberto V. Zicari

More on the topic of Java Object Persistence …
I have this time interviewed the following ODBMS.ORG experts Jose Blakeley (Microsoft), Rick Cattell (Sun Microsystems), William Cook (University of Texas at Austin), Robert Green (Versant) , and Alan Santos (Progress).

The panel addressed the ever open issue of the impedance mismatch, a problem which has existed ever since computers were used to persistently store data – in file systems or database management systems -, and where no fully satisfactory solutions have been found as of yet.

The complete panel transcript is available for free download (PDF)

“Today, I see two types of impedance mismatch problems,” says Jose Blakeley, a Partner Architect in the SQL Server Division at Microsoft. “(1) the application’s impedance mismatch problem, and (2) the impedance mismatch in data services.”

Alan Santos from data integration specialist Progress Software takes a different view: “Historically impedance mismatch has referred to the issues encountered when mapping data from a relational store into an object oriented data model. For some people, in some very practical ways, impedance mismatch is not an issue and has been solved with improvements in O/R mapping libraries and performance improvements in the runtime environments, as well as hardware itself.”

Rick Cattell, formerly Distinguished Engineer at Sun Microsystems who has been instrumental in the foundation of J2EE, SQL Access/ODBC and JDBC, sees three solutions to overcome the mismatch: “The top three options for Java are JDBC, O/R mapping, and an ODBMS.”

But panelists differed when asked about their views on whether object-relational mappers, relational databases and object databases were a suitable solution to the “object persistence” problem.

The panel also attempted to define new areas of research and development in object persistence.

Microsoft’s Blakeley: “I would like to see technologies like the EDM, EntitySQL, and EF be absorbed natively by relational database systems.”

UT Austin’s William Cook, a father of Apple Script, Safe and Native Queries agreed and wished that “major database vendors implement OQL (or some variant, like HQL) as a native database interface to their databases.”

I reccomend it, it is a very informative readings!

Here are the questions at a glance:

Question 1: Do we still have an “impedance mismatch problem”?

Question 2: In terms of what you’re seeing used in the industry, how would you position the various options available for persistence for new projects?

Question 3: What are in your opinion the pros and cons of these existing solutions?

Question 4: Do you believe that Object Relational Mappers are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Question 5: Do you believe that Relational Database systems are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Question 6: Do you believe that Object Database systems are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Question 7: What would you wish as a new research/development in the area of Object Persistence in the next 12 months?

Question 8: If you were all powerful and could have influenced technology adoption in the last 10 years, what would today’s typical project use as a persistence mechanism and why?

Question 9: Any parting words about this topic?

##

Apr 17 08

ICOODB 2008: trip report

by Roberto V. Zicari

I was invited to speak at ICOODB- the International Conference on Object Databases.
The conference took place on 13 and 14 of March in Berlin. I was there only on the 13.

I have to admit that I was surprised. It was very long time since I attended an Object Database conference in years! They seemed all gone. And now here it is…a surprise. The conference was a great succuess!

23 Speakers, 150 conference attendees from all over the world. Interesting presentation and interesting discussions.

In particular, a lot of discussion took place at the conference about the future direction of object databases. One main question was if new developments should be user driven or standards driven. Not definitely anwers were given.
This discussion was triggered in particular by the keynotes of Mike Card, (who chairs the ODBT group in OMG to advance object database standardization), and by Prof. Kazimierz Subieta (who is very active in the OMG ODBT group).

Mike Card in particular, advocated a more informal way for companies and individual to be involved in the OMG ODBT group, without necessarily taking part to all general OMG technical meetings. He simply asked for their input, and he would be willing to organize informal workshops.
I found this, a very useful suggestion which hopefully may allow more individuals and companies to be involved in the difficult process of finding a suitable object database standards (if any).
Anybody interested in that, should contact Mike Card at Syracuse Research Corporation (SRC).

The conference was perfectly well organized by the team of Stefan Edlich at TFH-Berlin. Stefan deserved the credit to “pull it out”. Jim Paterson played also an important role in helping Stefan with the conference program.

You can find the detailed conference program here

More information on the conference is available at the ICOODB web site

Apr 2 08

Java Object Persistence: State of the Union Published

by Roberto V. Zicari

The topic of Java Object Persistence is as actual as ever…

I have therefore interviewed together with InfoQ.com’s Floyd Marinescu the following group of leading persistence solution architects on their views on the current State of the Union of object persistence with respect to Java:

Mike Keith: EJB co-spec lead, main architect of Oracle Toplink ORM

Ted Neward: Independent consultant, often blogging on ORM and persistence topics

Carl Rosenberger: lead architect of db4objects, open source embeddable object database

Craig Russell: Spec lead of Java Data Objects (JDO) JSR, architect of entity bean engine in Sun’s appservers prior to Glassfish

Here are the questions at a glance:

Question 1: Do we still have an “impedance mismatch problem”?

Question 2: In terms of what you’re seeing used in the industry, how would you position the various options available for persistence for new projects?

Question 3: What are in your opinion the pros and cons of these existing solutions?

Question 4: Do you believe that Object Relational Mappers are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Question 5: Do you believe that Relational Database systems are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Question 6: Do you believe that Object Database systems are a suitable solution to the “object persistence” problem? If yes why? If not, why?

Question 7: What would you wish as a new research/development in the area of Object Persistence in the next 12 months?

Question 8: If you were all powerful and could have influenced technology adoption in the last 10 years, what would today’s typical project use as a persistence mechanism and why?

Question 9: Any parting words about this topic?

The answers we got differ, but I believe all panelists agree that there is no silver bullet….

The complete panel transcript is available for free download (PDF)

##