I would like to know if there are any good resource to advice me on the best pratices for a high transaction(2000 TPS) and volume system(Millions and Millions of records) using gemfire as it's main Database.
I ask this because I am receiving information to skip doing queries that use "LIKE" or any other search that is not a Key fetch on Gemfire, and try to use the region directly on Java memory wherever possible (If the JVM can handle size of the data). Making Gemfire almost a huge HashMap that has no functionality other than a Map.get().
Is there any basis on arguments like above?
Aren't Gemfire clusters handling zillions of transactions per second around the world everyday?
Thanks
So, I don't know about "zillions" of transactions per day :-), but certainly customers use GemFire to process millions of transactions a day and store billions or records (objects).
You can see more details by viewing the case studies (China Railway, India Railways & Newedge) on the Pivotal's website (https://pivotal.io/big-data/pivotal-gemfire).
While it is generally always better to perform a direct lookup via a Key index (even in a OQL statement and not necessarily with Map.get(key)), it is not impossible to use the LIKE operator in a OQL predicate in the presence of an Index (http://gemfire.docs.pivotal.io/latest/userguide/index.html#developing/query_select/the_where_clause.html#the_where_clause__section_D91E0B06FFF6431490CC0BFA369425AD).
The important thing to remember is that Indexes incur a cost to maintain and and store in memory, therefore it is important to get them right. See here for more tips on Indexing... (http://gemfire.docs.pivotal.io/latest/userguide/index.html#developing/query_index/indexing_guidelines.html).
Regarding best practices, our EA team would better be able to advise you on your particular UCs (?) and functional requirements.