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