Hello Alexey,

It's not so difficult to implement new type of indexing of data, but if you
want to reach performance in distributed environment you need to have
strong knowledge of a data you're indexing and what kind of queries you
want to execute.
Should be this index in-memory only or you want to persist it?
In case of persistence your index should fit our page memory model
requirements.
In both cases your index should be ready to work in concurrent environment.

In general index can be implemented in two ways per-partition and per-node.
Per-partition may be efficient if you have a lot of points (x,y)
representing a big one, e.g. image. In this case it's required that all of
these points will be in one partition that query e.g. makes images
intersection will execute in one node. But if you have multiple images,
your index will contain also another points from other object and will
overload it.
Per-node may be efficient if you have a lot of points (x,y) that are
independent of each other, that you will use it as spatial e.g.. But in
this case, I think K-d tree is preferable as it can be used in more wide
way.

Could you please share use cases you're trying to solve with QuadTree? With
close to real data and examples of queries? Because now the question is too
abstract and it's hard to understand how it should be implemented to reach
good results.


2018-08-01 16:45 GMT+03:00 Alexey Zinoviev <zaleslaw....@gmail.com>:

> Hi, Igniters.
>
> Currently I'm working on different math stuff over the Apache Ignite and in
> a few tasks I need to implement in memory something like this
>
> https://en.wikipedia.org/wiki/Quadtree
>
> I didn't find such index in Apache Ignite, but maybe it's under development
> by somebody?
>
> Is it a difficult to add a new index type to our distributed SQL (from
> point of view of different infrastructure issues and so on P.S I don't
> worry the math stuff here because I've implemented it many times in
> non-distributed version)?
>
> It will be great to hear any kind of your thoughts and maybe somebody could
> help with implementation
>
> zaleslaw
>

Reply via email to