Hi, Carlos.

About the mapping files and the fields 'boss' and 'webpage', yes, they
reference two other Persistent entities. You can see the schema of Employee
[1], were it has a boss (referencing itself) and a webpage (with the
WebPage schema defined there).

How to handle this depends on the actual backend. In HBase we serialize
with avro each of the fields that are Persistent entities as shown at [2]
(we get there from [3] > [4] > [5], but this is for HBase).
On the other hand, if I am not worng, MongoDB Store has no problem with
hierarchical data, so it just writes it as it is.

In your case, it depends on the features of your backend and what approach
wold be better overall. I am seeing that Ignite has SQL + key/value
properties... how interesting :)
I know nothing about, but I would think about  the performance costs of
joined tables, the possibility of mapping each persistent into a table, or
the approach like HBase serializing (as a key/value store). Or maybe Ignite
has some functionality for complex data.
Just thinking about it without knowing.

If I left things unclear don't doubt to ask :)

Regards,

Alfonso


[1]
https://github.com/apache/gora/blob/apache-gora-0.8/gora-core/src/examples/avro/employee.json
[2]
https://github.com/apache/gora/blob/apache-gora-0.8/gora-hbase/src/main/java/org/apache/gora/hbase/util/HBaseByteInterface.java#L233
[3]
https://github.com/apache/gora/blob/apache-gora-0.8/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java#L240
[4]
https://github.com/apache/gora/blob/apache-gora-0.8/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java#L262
[5]
https://github.com/apache/gora/blob/apache-gora-0.8/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java#L331


2018-06-06 4:38 GMT-01:00 carlos muñoz <carlosr...@gmail.com>:

> Hi all,
>
> Currently I am working on the Ignite backend, I am using my own fork [1].
> This is what I have done so far:
> * Read mapping files.
> * Read configuration files (Ignite parameters).
> * Initialize Ignite DataStore through JDBC connection.
> * Implement some trivial methods (#close(), #flush(), #getSchemaName()...).
> * Set up an embedded Ignite instance within test packages.
>
> The code is broken because I created a DataStoreTestBase implementation for
> Ignite and due the fact that most DataStore methods are not implemented yet
> the tests are failing. But the mapping/configuration reading and connection
> initialization are working fine.
>
> I noticed that the mapping files (gora-XX-mapping.xml) have two fields
> 'boss' and 'webpage', which I assume are references to other objects (other
> mapped classes). I was wondering how the backend should deal with them. Is
> there some documentation regarding that?.
>
> Regards,
> Carlos
>
>
> [1] https://github.com/carlosrmng/gora/tree/GORA-535
>

Reply via email to