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
>

Reply via email to