[bxmlt2005] Harald Schöning

Harald Schöning from Software AG, is chief architect of the Tamino XML database and talks about the history of this software product. (Slides, in German)

They started development in 1997, before XML became a W3C recommendation. This was before XPath, XQuery, XML Schema etc. existed. Tamino was positioned as a “web database” to clearly differentiate it from relational databases.

Initially they had no idea in which areas XML would take hold, and what exactly an XML database would be usefol for. They even included an SQL engine with the product because they were so uncertain about the market positioning of the product. And the market today looks quite different from their initial expectations.

They support XQuery since 2002. XQuery is not yet a recommendation and has changed massively since 2002. So they have been chasing a moving target, which proved quite difficult because customers don’t like their query language to change strongly in every new version of the database.

API bindings to many programming languages are very imortant.

Tamino itself talks HTTP to the outside world. Initially they didn’t include a web server in Tamino but plugged into Apache, IIS or Netscape’s web server. But customers kept believing (wrongly) that having a separete web server would cost performance, so they also included a direct HTTP interface.

50% of the installed base is on Windows, about 15% on Solaris, 10% on Linux, the rest on other Unixes and OS 390.

Tamino never supported DTDs. They think DTDs suck.

They also think that entities in XML suck. How should a database deal with them? If you resolve at load time, people will complain. If you don’t, then entities have to be resolved at every query, which is too slow. So Tamino resolves at load time. Of course this means you can’t query for entites. Entity use seem to be in decline.

Tamino had its own schema language because XML Schema didn’t exist yet. They are not very happy with XML Schema.

Tamino supports Unicode. There are lots of interesting issues with special characters (umlauts, accents) and text retrieval.

Customers keep asking for a JDBC interface because so many tools (reporting etc.) can only talk to JDBC. This is a major roadblock for XML databases.

They have about 600 customers for Tamino. Most use it as part of some sort of content management solution. Another use is for data that is not structured enough for a relational DB.

An interesting application: Tamino can be put on a CD together with the database. The US Navy uses this to make their manuals searchable.

The largest database that is running Tamino has about one terabyte of data, is located in Romania and runs on a Linux version not even supported by Software AG.

The main customer requests are: performance, performance and performance. And big XML files. Like one gigabyte.

Most OODBMS are dead by now; XML DBs seem to have found their niche. [I wonder how RDF DBs will fare?]

Question from the audience: Do they think about RDF and the semantic web? Except for some academic users, customers don’t ask for it, so it’s a low priority. The company uses it in other products though (EII area).

Q: How to deal with changing schemas? Not much of a problem, customers don’t want to do incompatible schema changes.

Q: Why no effort to establish in universities? Would be important, but is not really part of the company strategy. Email Harald for an academic license.

Q: Implementation language? C and C++.

[Excellent talk.]

This entry was posted in General. Bookmark the permalink.