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.
