Hi Vladimir,

Usually, LSM-storage engines serve the range searches the best (Cassandra
is one of the examples). The SortedSet of Redis is one of the typical
components you can find in LSM-engines.

Presently, Ignite neither supports an LSM store nor a SortedSet data
structure. However, the range searches with Ignite still have O(log(n))
complexity, it just takes more steps for the B-tree to collect all the
records of a range.

-
Denis


On Fri, Sep 4, 2020 at 3:26 AM Vladimir Pligin <vova199...@yandex.ru> wrote:

> Hi Igniters,
>
> It seems that it's not possible to implement effective leader-board with
> the
> current Ignite indexes.
> Leader-board stores a score and an id of a player of some game. Score is
> indexed. One of the possible requests to that data structure is to get some
> range of scores based on their rank (it's effectively a number of a row). I
> suppose it's required for pagination. For example Redis has an index
> (https://redis.io/topics/data-types#sorted-sets) that can be scanned
> (https://redis.io/commands/zrange) to a particular line with O(log(n))
> complexity. As far as I know it's node-local. Correct me if I'm wrong but
> in
> Ignite we scan an index until we find a row corresponding to a limit/offset
> clause. It looks like a linear complexity. I suppose it could be possible
> to
> implement it for REPLICATED caches and local queries. But it's really
> difficult for me to estimate the efforts. By the way it would be useful for
> analytical tools, most of them paginate. So what do you think is it
> possible
> to make that happen in Ignite and do we need it at all? Ignite 3.0 maybe?
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>

Reply via email to