Open melainalegaspi opened 4 years ago
The point of this issue is to create/update documentation around how to use eventing and flash-flood to search the data store.
Motivation: Once ElasticSearch goes away, there will be no documented way of searching data in the data store. Instead, users will need to use the eventing and journaling system (flashflood), so we need to have documentation ready for users to refer to.
Updating this ticket based on information gleaned from the meeting with @natanlao @amarjandu and @xbrianh yesterday.
The flash-flood library was intended to provide a journal of events of data transactions in the data store, which was meant to feed downstream services like the query service and azul. It was not meant to provide search functionality. So, thinking of flash-flood as something that could provide a replacement to ElasticSearch was fallacious.
However, as per the comments in #2, ElasticSearch could be refactored as a downstream consumer of events from flash-flood, and use it to compile its search index.
Alternatively, flash-flood can return large amounts of information about transactions and events in JSON format, which can be quickly searched using JMESPath. This is another avenue to explore, although it would only be practical for a limited range of events, and would not serve as an ElasticSearch replacement.
For this ticket specifically, though, I think @natanlao can focus on two things:
documentation of what flash flood does, specific to the data store (maybe contribute some documentation to flash flood while you're at it?), and what is its utility for potential downstream consumers
vignette showing some basic operations with flash flood - how to use the contents of the flash flood buckets to stream events matching a certain criteria, and how to search that stream of events using jmespath