Hi, I have a general question about data model design. Currently we have java server nodes, and .net client nodes. We use services, messaging and the data grid.
The current design is one single ignite cache, which contains all entity types. The key for entity types is an object, but it has only one field, long id Because ignite .net has some limitations when mixed with Java, such as no continuous queries with filter, we do a lot of client side filtering based on the Key class type. In fact we also use cache events, and again we have to filter by key class and then cast before continuing. Furthermore, we experience some issues with java/.net Key equality, such as this https://issues.apache.org/jira/browse/IGNITE-5455 At the moment my feeling is that we should change our model * Have one ignite cache per type (we have about 30 types in our model) * Use long primitives for cache keys instead of objects wrapping the id Our two main drivers are interop between java servers and .net clients, and query performance. Also get by id performance is very important. Surely this is faster with primitive keys than objects as keys? We don't do a lot of joining, although I know we can join caches in ignite queries anyway. Any comments are much appreciated. Thanks, Gordon. This email and any attachments are proprietary & confidential and are intended solely for the use of the individuals to whom it is addressed. Any views or opinions expressed are solely for those of the author and do not necessarily reflect those of Nine Mile Financial Pty. Limited. If you have received this email in error, please let us know immediately by reply email and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346 1349 0252