I have a usecase i am not sure Ktable is a perfect fit for or not.
In our organization we have several enterprice processes gathering information.
each process is independent of each other but now there is a need to gather a piace of information from each process and have them accessable for “everybody”; almost like a cache.
i know that the main entry point for each process is a kafka topic where the information we want ro share is located.
So the question: I am considering to have a kafka consumer (or i practice a stream application) listenting to all “entry topics” (several topics) and fetch the information needed and then publish that information to a ktable ?
the problem : Each data in each process is different, so i need to “merge” all the streams into one ktable . The ID (social security number) will allways be the same, but the value must be the key/valye for each of the relevant enterprice process data)
key: social security number
Value :
{atribute1: value,
atribut2:value,
....etc}
ätribute1 is from enterprice topic1, atribute2 from enterprice topic2 etc
the main thing is that if atribute2 is NOT present , it shoult NOT! remove the atribute if it is already present)
in short this ktable should act as a cache for relevant data in a spesific period of time.
i plan to look up the value from Ktabke for each event processing the enterprice event and then publish updates/nothing wether or not relevant data is received.
the data from the krable will be used to add data (joins) to other kafka streams in the organization)
It might be that a database is better fit here, so feel free to tell me that Ktable is NOT the best fit for this problem