There is 6GB table (oracle 12), which changes approximately every 1 second (delete,insert,update).
I have restful application which uses hibernate to call database with some filters to get data from this DB table. there are cases when "user" wants 1GB data from table as csv or xlsx report, selecting and fetching data from database takes too long. so I thought, maybe its better to take this whole DB table in to java object (in to heap) and make search and exports directly from this object.
but there is a problem: my java object should be synchronized with oracle Db table. What is the best way to listen/track to oracle table changes from java?
one way that I know is oracle util UTL_HTTP which can call web service directly from oracle, and using this util inform a service about data changes.
Can hibernate also listen to oracle table changes which is not initiated from the same service? I mean, is it possible that APP1 listen to some oracle table_1, and when APP2 changes some data in to oracle table_1, APP1 to know this automatically. if it can, please provide some examples.
also, I wonder what do you think about importing whole table data in to a service, and make filters in this object, will it be lightweight? (I know that ~6GB memory will always in use)