Hello!

It sounds like you need some data normalization plus SQL secondary indexes.

Regards,
-- 
Ilya Kasnacheev


чт, 3 июн. 2021 г. в 17:11, Taner Ilyazov <taner.ilya...@gmail.com>:

> That's my concern. Because the requirements I have is persisting an Object
> with a complex nested structure, which can't be changed. I mean the class
> files can not be changed. Creating Data transfer objects and mapping
> between them is fine. But what we want to achieve is a really high write
> rate and the ability later to read data with filtering and sorting on the
> values of the hash map. I'm not sure how to achieve that without too much
> overhead.
>
> On Thu, 3 Jun 2021 at 15:29, Stephen Darlington <
> stephen.darling...@gridgain.com> wrote:
>
>> You can store collections in Ignite, the challenge is they’re effectively
>> invisible to SQL. In general it’s easiest to work with data in relational
>> structure. Ignite isn’t a document database.
>>
>> On 3 Jun 2021, at 12:52, Taner Ilyazov <taner.ilya...@gmail.com> wrote:
>>
>> Okay, but since the nested object structure that I have contains a
>> Map<String, Object>, for which the idea is to have dynamic values, I'm not
>> sure how it will be handled. Do I need to create a separate table to do the
>> mapping of said Map<>? Couldn't find an example mapping a query entity
>> entry to a parameterized value.
>>
>> On Wed, 26 May 2021 at 17:01, Stephen Darlington <
>> stephen.darling...@gridgain.com> wrote:
>>
>>> A scan isn’t ordered. As you suspect, the way to order queries in Ignite
>>> is to use SQL.
>>>
>>> You don’t need to use annotations to define your SQL fields, indexes,
>>> etc. A slightly more verbose way is to use Query Entities (indexes
>>> <https://ignite.apache.org/docs/latest/SQL/indexes#configuring-indexes-using-query-entities>
>>> ).
>>>
>>> On 26 May 2021, at 14:24, Taner Ilyazov <taner.ilya...@gmail.com> wrote:
>>>
>>> Hello everyone,
>>>
>>> I'm new to the community and fairly new to Apache Ignite. I have a
>>> question for which I couldn't find a confirmation if it's possible or not.
>>>
>>> I have a use case where I need to persist a certain POJO to an ignite
>>> cluster. The POJO can not be changed, so adding @SqlQueryField to it's
>>> fields is not possible. Creating a data transfer object is an option, but I
>>> think adding mapping from/to the actual POJO will result in too much
>>> overhead, since performance requirements are really high.
>>>
>>> For now I'm using ScanQuery, but I could not find a way to sort the
>>> result based on a field value. So my main question is if it's possible and
>>> if not, what other options are there because the amount of data in question
>>> is too much for sorting on client side.
>>>
>>> If I take the SQL approach and introduce the mapping overhead between
>>> the DTO and POJO can I achieve server-side sorting on multiple nodes,
>>> keeping in mind that we'll have 1 table with a huge amount of data for
>>> writing and reading.
>>> Co-location if I understand correctly is ensuring all related data is on
>>> the same nodes, but in our case we have a single POJO which I would like
>>> it's data to be separated on different nodes for performance.
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>

Reply via email to