incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Staubo <madevilgen...@gmail.com>
Subject Re: Thoughts on a possible query language
Date Sat, 27 Jun 2009 21:41:10 GMT
On Tue, Jun 23, 2009 at 12:13 AM, Ian Holsman<ian@holsman.net> wrote:
> any chance of using hypertable's or hbase's query language as a base?
>
> http://code.google.com/p/hypertable/wiki/HQLTutorial
> http://wiki.apache.org/hadoop/Hbase/HbaseShell.
>
> both of these are column-oriented DB's which would have similar semantics to
> ours.

HQL is just a simple wrapper around the existing APIs. So you can only
search by key or ranges of keys, as well as constrain by timestamp.
There's no indexing going on at all.

> I want to avoid yet another query language which is specific to a tool from
> creeping up if possible.

I agree. Perhaps Google App Engine's GQL language is a better template:

  http://code.google.com/appengine/docs/python/datastore/gqlreference.html

GQL relies on indexes being created for seachable columns, most of
which must be predefined by the user.

However, GQL works with the App Engine's high-level object database
abstraction, which deals with "data models" (similar to classes) that
are instantiated as "entities" (ie., instances). Objects can reference
each other to form graphs, and the high-level database layer takes
care of the details of loading and saving objects.

In my opinion a generic query/indexing system in Cassandra should work
with Cassandra's elementary key/column/value model rather than invent
an "entity" model on top of it. Such a high-level abstraction can be
implemented on top of the query/indexing system in the client's native
language.

A.

Mime
View raw message