0

It seems Redis can provide same functionality as achieved thru Gemfire OQL queries, but with much of code change using spring/-boot/Java. Any insights would be highly appreciated!

Storing Data - Gemfire can store Parent Object and use OQL capability to query deeply nested objects, without doing anything different during storing. But in Redis it has to be stored based on the querying needs. So if we are expecting a "find x in xList" kind of capability; xList has to be stored as Set/List separately other than saving Parent Object.

Querying Data - If we have to store custom Objects in Redis, appropriate Serializers also have to be used, which also makes an instance of RedisTemplate bound to a DataType. In a huge codebase, where hundres of different objects needs to be stored and fetched, this doesn't appear to be highly maintainable.

Is this the only way to store/fetch every custom Object in Redis, when Queries are complex and integrated using spring-boot? RedisRepository doesn't suit the bill for complex queries

John Blum
  • 7,381
  • 1
  • 20
  • 30
Divs
  • 1,578
  • 2
  • 24
  • 51
  • Redis does not provide as much functionality in terms of querying as GemFire (or Geode) does. Redis is a simple data structure server and reflecting queries requires maintenance of secondary data structures. Spring Data Redis Repositories come with a basic set of functionality. The hash representation has the most focus and you get a basic set of indexing/query derivation but you can't really build complex queries. GemFire (Geode) has much more sophisticated query functionality. – mp911de Apr 05 '18 at 11:19
  • What are you looking for in Redis that you cannot get from Pivotal GemFire currently? Both Pivotal GemFire and Apache Geode (which is the open source core of Pivotal GemFire; see here... http://geode.apache.org/) is more than a simple key/value store; it is closer to being a pure object store and the OQL-based querying capabilities (http://geode.apache.org/docs/guide/14/developing/querying_basics/chapter_overview.html) reflect that as you indirectly mention above. – John Blum Apr 06 '18 at 14:35
  • Additionally, if you need some basic Redis capabilities, then I'd like to point out that Apache Geode does support certain Redis functions/data structures along with the client protocol so that Redis clients can connect to a Geode server. See here for more details (https://cwiki.apache.org/confluence/display/GEODE/Geode+Redis+Adapter+Proposal?src=contextnavpagetreemode). In short, I'd really be interested to learn and understand more about your UC. – John Blum Apr 06 '18 at 14:36
  • @JohnBlum Hi, just saw your comment today. Can you please guide as (1) How close is Geode to Gemfire? What are Gemfire features which are NOT supported in Geode? (2) Is there a matrix that gives which Gemfire version is built on which Geode Version? (3) I can see only one SDG milestone release that works with Geode, but not sure which Geode version would be compatible to work with this Milestone? -- Would it be possible for you to let me know? – Divs Apr 09 '18 at 08:49
  • Also, (4) Is there a guarantee that future SDG Releases would be released for future Geode releases? – Divs Apr 09 '18 at 08:55
  • @JohnBlum acc to this blog, https://spring.io/blog/2015/06/12/spring-data-gemfire-supports-apache-geode Spring data Gemfire was supposed to be used for both Pivotal gemfire and Apache Geode, whereas we also see Spring-Data-Geode https://mvnrepository.com/artifact/org.springframework.data/spring-data-geode has evolved over time. Which of these is going to support Geode in the long run? – Divs Apr 09 '18 at 10:39
  • @Divs - Spring Data GemFire is for Pivotal GemFire and Spring Data Geode is for Apache Geode. Both will evolve together; both will be developed, maintained and supported. – John Blum Apr 09 '18 at 18:52
  • Also see this... https://www.youtube.com/watch?v=OvY5wzCtOV0 – John Blum Apr 09 '18 at 18:53
  • @JohnBlum You understood exactly where my doubts are!! Thanks a ton for clarifying my doubts and more... a lot more... – Divs Apr 11 '18 at 09:38
  • @Div - You are welcome. Happy to help. – John Blum Apr 11 '18 at 15:59

0 Answers0