Thanks very much for the responses! Those are all important features of
Ignite, and I believe these features are one of the big reasons why we are
wanting to move away from Hazelcast (in Hazelcast, if you wanted to deploy
different services to different sets of nodes you need to set up different
Hazelcast clusters - ugh).

We effectively have implemented our own in-memory database with its own
specific query language. To minimize memory usage an "insert" into this
database will potentially update dictionaries, then append to a byte array
(or off-heap memory area) rather than create a new record with associated
overhead, then update Cassandra persistence (updating both summary and
detail tables). 

On a service restart, summary tables (with dictionaries and counts) are
automatically loaded into the right partitions. When we do a query, the
queries are done where the data is. If detail data is not already loaded we
load the partitions we needs.

We also do extra optimizing functions like in-memory compression (for
partitions which are queried but do not have inserts) and query result
caching on a per-partition basis. The partition may go and edit the query
(like modifying the query time range to match the partition time range) to
make it more likely we get a cache hit with subsequent queries.

Hazelcast just makes sure that partitions move around correctly and makes
sure that partition access is single-threaded. Since we can also manage what
migrates we select what really gets migrated to minimize the chance of OOM
exceptions (e.g. in a three node cluster, each node may be using 6 GB of
memory - if a node goes down and data migrates the remaining two nodes may
go to 9GB which could cause an OOM).

Does it sound at all possible I could do something similar in Ignite?
Perhaps would it be possible to write my own "IgniteCache" using lower level
building blocks to allow me to go do this?

thanks in advance,
Gareth





--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Migrating-From-Hazelcast-Service-Interface-To-Apache-Ignite-Service-Interface-tp2970p2984.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to