Embeddable object database gains native queries
Nov 14, 2005 — by LinuxDevices Staff — from the LinuxDevices Archive — 1 viewsDb4objects says its dual-licensed object database for embedded applications is the first to support native queries (NQs). Db4o 5.0 allows Java and VB.NET developers to express database queries in native semantics, rather than having to learn and use non-mainstream or string-based APIs such as JDO, OQL, EJBQL, SODA, or SQL, the company says.
db4o stores Java or .NET objects without requiring conversion to SQL or another format. This is said to simplify replication, particularly with “partially connected” clients, since database object structure can help enforce business rules. The database is especially suited to embedding within Java or .NET applications that run on mobile devices, according to Db4objects.
Native queries
According to Db4objects, NQs are part of an industry trend toward closer language integration for data access. For example, Microsoft's LINQ Project aims to implement general purpose query facilities in the .NET Framework that let developers create native query structures for all sources of information — including object databases — rather than only for relational databases or XML flatfiles.
Db4objects says NQs free developers from secondary APIs, ending a “15-year debate” about what secondary language to use with object databases. NQs make developers more productive, the company says, by giving them “100% typesafe, 100% refactorable, and 100% object-oriented access to their data layer.”
NQs are based on existing standards (those of the native language itself), so they also obviate new standards such as the ODMG's OQL (object query language) and Java's JDO (Java data objects) — initiatives that have been disbanded or failed to see mass adoption, according to Db4objects.
Db4objects says db4o has seen rapid adoption following its release under the GPL a year ago, with 10,000 registered users and a quarter million downloads.
Additionally, Db4o's commercial adopters include BMW, Hertz, and industrial robot vendor Bosch Sigpack, which used db4object in its high-speed “pick-and-place” robotic system Delta XR31 (pictured at right), Db4objects says. Boeing, meanwhile, contracted Db4objects to supply the embedded database for its P-8A Multi-Mission Maritime Aircraft.
Redmonk analyst Stephen O'Grady said, “When developers are not required to transition out of an object oriented environment and the language of their choice, they're likely to be far more productive. Consequently, several vendors — including Microsoft with its LINQ project — are seeking to break down the barriers between non-native APIs and the programming language on top of it, by allowing querying in native language — an approach that could become popular to access databases from OO programming environments.”
Db4objects CEO Christof Wittig said, “After companies have chosen object-oriented platforms like Java and .NET, the next logical step is to introduce an object-oriented persistence solution, especially when it comes to embedded use in distributed, zero-administration environments where relational database technology falls short. Db4o is fully compatible with — and the only OO database native to — Java and .NET.”
Bosch Sigpack's XR31 implementation manager, Sebastian Hubrich, said, “Db4o on the data-backend has helped us [save] at least 10% [commissioning time] on each project.”
Availability
Db4o is available for download now, direct from Db4object's community site. Versions are available for Java, .NET 2.0, .NET 1.0/1.1, and Mono. However, NQs appear to be supported only in the Java and .NET 2.0 versions.
An introductory whitepaper about NQs can be found here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.