Hello! It's hard to say for sure which way to go since Apache Ignite offers a very diverse range of tools.
Note that you can persist arbitrary data structures into Apache Ignite. You are not in any sense limited to SQL. You can turn sparse row into a tiny object. While keeping some SQL indexes. You can also have a service deployed as cluster singleton which will just keep hot data on-heap and update it in the real time. 1) Nulls take a few bytes. Ignite object store isn't column-aligned if that's what you mean. 2) It is low since all data is stored in off-heap only by default. So it is heavily optimized. 3) Yes, data have to be moved from off-heap. However, when using indexes, they are applied directly from off-heap AFAIK. Why not do two queries when in doubt? Indexes may help GROUP BY if values are inlined in index. GROUP BY is especially efficient when done by affinity key. 4) I do not recommend having many small tables since having big table means you can hold complex objects in cache and do in-place processing and transformation on them. My recommendation is to stick more to compute and less to SQL. Of course, you can combine both when using AI. Regards, -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
