Hi, Yes, it's possible to implement storage for previous values in Ignite. For example, you can use listener of ContinuousQuery with @IgniteAsyncCallback for updating values in your cache. When value updated, you can put previous value(which will be available in this event listener) in another cache with previous values and add to it version of the object(for example time of updating). Documentation about ContinuousQuery: https://apacheignite.readme. io/docs/continuous-queries <https://apacheignite.readme.io/docs/continuous-queries> Or, if you will need more guarantees, you can use transactions for inserting previous value to history-cache and updating value in one transaction. https://apacheignite.readme.io/docs/transactions
Also, It looks like you will need to use Ignite Persistence: https://apacheignite.readme.io/docs/distributed-persistent-store If you will have any certain questions about implementation, feel free to send it to the user list. All the best, Evgenii 2017-08-28 14:55 GMT+03:00 Mikhail <wmas...@mail.ru>: > Hello, > > We have typical task: we need to implement application, > which will receive data (and updates) from multiple source systems. Also > there will be default (our) data source, which can be updated by our > application. Only the last version of data should be "actual" one, which > could be retrieved from our application. But full audit trails of updates > from every system should be kept always in order to investigate issues. Now > the team consider Data Vault [1] as one of the possible solutions (but for > me it looks superfluous). Is it a good option to implement Data Vault > architecture by means of Ignite? Have anybody implemented applications with > such requirements? We want to use Ignite, because in future we will have > data analytics process (machine learning). What possible solutions for the > task using Ignite do you see? > > [1] https://en.wikipedia.org/wiki/Data_vault_modeling > -- > Best Regards, > Mikhail >