02.05.2014 Views

TechView Product Report: ObjectStore - ODBMS

TechView Product Report: ObjectStore - ODBMS

TechView Product Report: ObjectStore - ODBMS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Microsoft .NET Common Runtime (CLR). Customers will be able to write Microsoft<br />

.NET applications that execute within the .NET CLR and can directly access<br />

<strong>ObjectStore</strong>’s C++ interface. <strong>ObjectStore</strong> C++ databases will be concurrently<br />

accessible from both managed and unmanaged C++ applications.<br />

Queries<br />

2. Does your product support querying? If yes, can you describe the querying<br />

mechanism, giving examples of queries?<br />

Yes, <strong>ObjectStore</strong> supports a variety of means to access data.<br />

<strong>ObjectStore</strong> provides a query mechanism across all provided collection classes.<br />

The C++ interface provides sets, bags, lists, dictionaries. The Java interface<br />

provides support for the JDK collection types.<br />

Queries are most commonly submitted as textual expressions to the query processor<br />

as part of the support API. The expressions allow users to return a particular set of<br />

objects where the set is restricted based on a variety of user supplied qualifications.<br />

Users can use Boolean expression that restrict on data member values, member<br />

function returns and can extend expression on data found through or simply the<br />

existence of relationship with other instances (of any class). Queries can also be<br />

precompiled for optimization and reuse. Queries will also optimize execution based<br />

on the existence of indexes as well.<br />

<strong>ObjectStore</strong> also provides support for queries across type extents as well. We support<br />

an optimization to quickly determine the minimal set of pages in the database that<br />

contains instances of type to be searched.<br />

<strong>ObjectStore</strong> also supports an Xpath. Customers can now submit through a utility or<br />

API Xpath expressions that will return a qualified XML representation of the<br />

database. Again the existence of indexes will be utilized wherever the index applies to<br />

the qualifications in the Xpath expression.<br />

3. How is your query language different from SQL?<br />

SQL provides a non procedural mechanism for finding data. It allows both restriction<br />

and projection. <strong>ObjectStore</strong>’s query mechanism can also provide a non procedural<br />

means of accessing and restricting data but the restrictions are much more directed<br />

in terms of the data model. SQL will require users to materialize relationships, in<br />

essence create them as part of the query expression. <strong>ObjectStore</strong> maintains the users<br />

data model from the desired in memory representation all the way through to the<br />

persistent storage model. All the relationships stay constructed and are available as<br />

part of the query syntax and its direct execution.<br />

Probably the most important thing to understand is <strong>ObjectStore</strong> will basically give<br />

you the ability to utilize the natural structure and behavioral model associated with<br />

data. Typical implementations of SQL are far more restricted on supported data<br />

models, usually boiling down to some representation of a relation as a table.<br />

It is not realistic to represent the simplest form of some common data structures as<br />

tables, even a linked list can be complicated never mind something more advanced<br />

like a tree or a graph. If you compromise your data model then you compromise your<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!