Oh, another thing that is obviously a difference (but potentially in a good
way) is the support for various datastores. I see that in Gora you have
support for stores such as Cassandra and Solr, which isn't in MetaModel
currently. But it would be a good reason to make such modules in MM. Right
now MM offers connectivity to a lot of other backends though, such as
CouchDB, MongoDB, a lot of different file-based datastores and of course
JDBC databases. I think there's some overlap but certainly also some value
in consolidating there.

2014-09-13 9:49 GMT+02:00 Kasper Sørensen <i.am.kasper.soren...@gmail.com>:

> Hi Lewis and Henry,
>
> Glad to see that this interests you. I did look quickly into the Gora
> Query API (just the javadocs for now) and got the impression that your
> query model is mostly focused around a few specific types of queries; such
> as "get a record by it's key", "get a range of records by a key-range",
> "get records by it's timestamp". I am still no expert, so excuse me if I
> make the wrong conclusions here ... :-)
>
> I can imagine that probably this means that your execution is quite
> optimized for these few scenarios. If we initially compare then performance
> of MM and Gora's queries, it might be that Gora's queries run faster for
> these specific scenarios. In MetaModel the approach to developing
> datastores and query model was kinda the other way around: A very wide
> range of query patterns is supported (the majority of SQL, for any
> datastore), but it sometimes comes at a cost of performance, since
> optimizing for certain scenarios is an optional implementation detail. But
> should we go in and serve Gora with a query API, I of course believe that
> we should make sure that we cover your typical query scenarios with optimal
> execution strategies so that this isn't a problem.
>
> The other big thing I notice is that your Query and Result classes have
> some generics involved - as far as I can gather this is to serve domain
> objects back into the result. So that I can have something like a
> Query<Customer> or whatever it is that I am querying. In MM we only care
> about schemas, tables and columns with data. So all results (DataSet in MM)
> contain rows of data. As such I can then see Gora acting as a mapping layer
> between a MetaModel Row and a Gora Persistent object.
>
> A final remark on the Datastore level - in MetaModel we deliver a Schema
> (contains Tables (contains Columns)) for each datastore. Sometimes the
> schema is provided natively by some metadata API or something like that. In
> other cases it is inferred by looking at the data contained in the
> datastore. I couldn't find something quite like this in Gora.
>
> Best regards,
> Kasper
>
> 2014-09-13 7:57 GMT+02:00 Lewis John Mcgibbney <lewis.mcgibb...@gmail.com>
> :
>
>> Hi Kasper
>>
>> On Fri, Sep 12, 2014 at 10:47 PM, <dev-digest-h...@gora.apache.org>
>> wrote:
>>
>> >
>> > Curious to hear what you think!
>> >
>> > I personally think that this is an excellent idea.
>> I am aware that Henry has been monitoring you guys for a while now and we
>> were actually talking a bit about MetaMode this week infact.
>> I think that we could certainly explore integration of MetaModel into Gora
>> as one of the defining feature drives within the 0.6-SNAPSHOT development
>> drive.
>> We are VERY close to releasing Apache Gora 0.5 (1 issue to addres) then we
>> can begin work on this.
>> I wonder if you've looked into the Gora Query API at all? If so, if you
>> could comment on what aspects you think MetaModel would address.
>> Please feel free to open a JIRA ticket on or Jira and we can make this
>> happen.
>> Thanks Kasper.
>> Lewis
>>
>
>

Reply via email to