Tag Archive | "database"

Tags: , , , , , , ,

McObject Sharpens its Edge in Database Indexes With New KD-Tree

Posted on 27 February 2008 by Hatem Ben Yacoub

McObject has added support for the KD-Tree, a database index with uses in spatial and pattern-matching applications, to its Perst open source, object-oriented embedded database system available for the Android mobile development platform.

The new k-dimensional tree or KD-Tree index adds a structure in Perst that stores and manipulates point objects in a k-dimensional space by partitioning that space. Practical uses include computer graphics, geographical information systems and biometric applications such as fingerprint matching. In addition to their efficiency in handling multi-dimensional data, KD-trees are useful in “normal” applications in which query predicates contain various combinations of object fields. For example, KD-Trees are used to construct Query-By-Example (QBE) features in which the user selects fields and values, and the application builds database queries based on these selections.

While many Java databases offer limited index support, Perst implements rich options for data access, including specialized collection classes optimized for different data layouts and access patterns, including:

  • Classic B-Tree implementation;
  • R-tree indexes for spatially-oriented applications such as GIS and navigation;
  • Main-memory database containers, based on T-Tree indexes, optimized for real-time memory-only access;
  • Patricia Trie index, which speeds searches in networking and telephony applications;
  • TimeSeries class to efficiently deal with small fixed-size objects;
  • Specialized versions of collections for thick indices (indices with many duplicates), and bit indices (keys with a restricted number of possible values);
  • KD-Tree indexes

For McObject’s announcement of KD-Tree support see http://www.mcobject.com/pressroom.php?step=3&article=93.

For general information about Perst for Android, including links to the open source, complete Perst database source code, and to McObject’s Android-ready TestIndex database benchmark, go to http://www.mcobject.com/android/.

Comments (0)

Tags: , , , , ,

McObject, Object-Oriented Embedded Database for Android

Posted on 02 January 2008 by Hatem Ben Yacoub

McObject, Object-Oriented Embedded Database for AndroidMcObject announced today that Perst, its all-Java object-oriented, open source embedded database, has been verified as compatible with the Android mobile device platform backed by Google and the Open Handset Alliance.

McObject is offering the Android-ready Perst, as well as TestIndex, a demo application showing Perst and Android’s bundled SQLite database performing the same tasks side by side. Both are available as free downloads, with complete source code, from http://www.mcobject.com/android.

Perst

With Perst, users of Android-based phones will benefit from responsive, richly-featured embedded software made possible by a database system that delivers high performance and a small footprint, and by the efficiency that results from true Java developer-oriented features.

Perst stores data directly in Java objects. This eliminates the need for data-packing or unpacking code to map between the application’s data model and the database’s data model, as is required by relational and object-relational databases. The Perst API is flexible, easy-to-use and very fast compared to alternative commercial Java OODBMSs.

Perst is a very compact embedded database, with a core consisting of only five thousand lines of code. This small footprint imposes little demand on system resources. Moreover, Perst does not require administration. Perst supports transactions with the ACID (Atomic, Consistent, Isolated and Durable) properties, and expands developers’ coding efficiency by making Java objects as easy to use as possible.

For example, for access to objects, Perst implements specialized collection classes optimized for different data layouts and access patterns, including:

  • Classic B-Tree implementation;
  • R-tree indexes for spatially-oriented applications such as GIS and navigation;
  • Main-memory database containers, based on T-Tree indexes, optimized for real-time memory-only access;
  • Patricia Trie index, which speeds searches in networking and telephony applications;
  • TimeSeries class to efficiently deal with small fixed-size objects;
  • Specialized versions of collections for thick indices (indices with many duplicates), and bit indices (keys with a restricted number of possible values).

In addition to its core functionality, Perst provides optional features such as garbage collection, detection of hanging references, automatic schema evolution, XML import/export utilities, master-slave replication support (with the option to run read-only queries on slave nodes), an SQL subset to filter elements of any collection, and integration with the AspectJ and JAssist AOP tools.

To read McObject’s complete announcement of Perst and TestIndex for Android, see http://www.mcobject.com/pressroom.php?step=3&article=91.

Comments (0)

Tags: , , , , ,

db4objects Announces db4o Database for Android

Posted on 07 December 2007 by Hatem Ben Yacoub

Db4odb4objects, provider of object oriented database for the .NET and Java, have just announced officially the availability of their solution db4o for the Android platform. Db4o is a distributed company with engineers from all over the world, but really hats off for their amazing work to make their entire solution ready for Android in record time. So for now, Android developers have full object oriented solution ready to use.

Java programmers are delighted with Android’s full object oriented platform they are frustrated by its bundling with a relational database, requiring cumbersome plumbing between objects and tables. db4o fills the gap by providing a fast and secure, native Java object database that makes storing objects and sharing of data between applications simple and easy.

It’s true that Android came with “Content providers” but as Carl Rosenberger, db4object’s Chief Software Architect, said in a blog post “this is not Java, it’s not object-oriented, it’s not even SQL.” Which is the missing element in Android platform : The object database solution.

This Tuesday we had the chance to talk to Nik Wekwerth, the VP of Marketing db4objects, and he told us about db4o solution for Android and how it could help developers to make fully advanced object oriented applications. “It’s all about simplicity” he told us, “In Java you prefer always to stay in Object Oriented. Object is more flexible than SQL, it doesn’t lock your memory”.

There are currently two applications ported to db4o, the Password Manager application and MapMe. It shows the capabilities of db4o and the simplicity of using objects to store and retrieve data. There is no real benchmark at this time Nik told us, but it’s clear from these two samples that using db4o is much easier and very simple to maintain.

Where can you use db4o ? “If you look at our customers, database usage is very large from planes, high speed trains, photocopiers, research …” Added Nik. DB4o proved its performance in many critical usage and their world class leaders customers like BMW, Boeing, Bosch, IBM, Intel, Ricoh, and Seagate, are certainly enough for Android developers to make sure that they have in hands a high level database solution.

Developers can write software applications that enable the backup of user data to a back-end server or their home PC. A consumer use case could be to start a game on the phone, freeze it, and continue playing at home in the evening. Business use cases include field force automation, data acquisition such as with RFID, and complex navigation systems that use locally cached geodata.

Db4o is open source under GPL, you can get started by downloading db4o for Android and start porting your current relational application, or start your new project in a fully object oriented environnement.

Comments (0)

Advertise Here
Advertise Here