Search code examples
gemfirespring-data-gemfire

Gemfire Query interface - alternativies to gfsh/pulse


Are there any thick-client alternatives to Pulse / Gfsh to query the regions of Gemfire? Though pulse is good, it's not usable as a sqldeveloper/toad for testing/querying.


Solution

  • Unfortunately, none that I know of, sorry.

    However, an alternative approach would be to use Spring Data GemFire Repositories (additional details here) to write/express your (OQL) queries, and then write automated [JUnit] tests to test your queries defined in your application Repository interface.

    For example, I can define an interface extension of either the SDC's [Crud]Repository or SDG's GemfireRepository interface and declare my application queries following certain conventions (a specification of the query criteria defined by the interface method signature). I.e. I do not need to write the actual queries.

    Then, it is a relatively simple matter to define tests to exercise your application's queries.

    You can even express more complex queries (like Equi-Joins on 2 or more collocated PRs). However, beware of the query limitations involving PRs in particular, as well as in general.

    More information on querying PRs can be found here, and specifically involving Equi-Join Queries on PRs.

    I have hard time imagining any tool successfully enabling this sort of practical querying since querying 2 collocated PRs (or a PR with any other Region type, e.g. REPLICATE or LOCAL) in an Equi-Join (OQL) Query must be performed inside a GemFire Function.

    Anyway, I know this was not exactly what you were looking for since you probably just need something quick to test the validity of your query results in addition to analyzing the perf (like Explain Plan), but, this at least increases your test coverage in an automated, repeatable fashion.

    Of course, this is all moot point if you are just looking to perform analysis on the data outside an application.

    Cheers, John