Epic: A subsystem is needed to track the history of the A&AI real-time database at an attribute/entity level for every resource (nodes & edges). The following is what would need to be tracked for the attribute value and entity assertions source of change (provenance) timestamp of when the change (add/update/delete) was made in the database timestamp of when the change (add/update/delete) was made in the network as per provided by the client (preferred that client sends this but not mandatory)
The client will need a streamlined way to access this history via URIs and a GUI. For Casablanca only singular entity history queries will be supported showing the state of the entity at a given time. The design needs to be extensible enough to easily support history queries over a range of time, retrieving complicated topology history, traversal mS endpoints (custom query/dsl), and aggregations post Casablanca. Any data populated in A&AI before this feature was implemented, would not have historical information. If the results have a subset of attributes that did not exist in the range of the data requested, A&AI will display the partial history available Data retention limits will be enforced on the historical database to truncate history, this data retention timeframe will be configurable
AAI-953: AAI subsystem for tracking history of the AAI real-time DBClosed |