2

I am looking for the descriptive term of a database system (available in the cloud, or to be deployed on a local server) that has build-in support for a point-in-time (PTA) architecture. I am not sure that PTA is the common term for these kind of databases (which is part of my problem), but at least the article Database Design: A Point in Time Architecture comes close to what I am looking for.

Requirements

Simply said, what I am looking for is approximated by an Excel file under version control like git/hg/svn.

  • At my company we'd like to keep track of a 'table' with data, where we want to be able to easily see how the table looked at a specific point in time (even 5 years later).
  • Over time, the table will both change in rows (adding records, obviously) and in columns (i.e. a change in database schema).
  • The system should also provide support for logging which user made which changes.
  • Additionally, the table should be easy to query, so that we can use the data contained in it for some automation.
  • Furthermore, it should be easy to compare two tables from different points in time (like you can do with the page history on Wikipedia articles).
  • Finally, the database should support multiple of such tables.

This sounds very much like we need audit trail functionality (e.g. using history tables). However, two key differences: (a) we don't want to build from the ground up such a database ourselves, and (b) the time rollback and querying functionality should be build-in and an integral part of the system (rather than audit trail functionality which might be a bit cumbersome to use ?).

What we do now & solutions we're considering

Previously we've email updated Excel sheets back and forth. As it's never entirely clear who has the master copy, we switched to putting the Excel files on our file server, with the filename indicating the date. All this is is obviously not very practical. We've considered solutions like putting CSV (or XML, JSON, ...) files in Git and developing some supporting scripts, but this would require the users to have at least some basic knowledge about things like Git, and we would also need to develop a (html?) GUI to (a) avoid people requiring command line knowledge and provide a (b) provide an easy way to view the data. A wiki (like wikipedia) also provides part of the functionality we're looking for (the 'View History' page makes it easy to compare the different snapshots of the page), but lacks some other features (like easy querying the records, as it's just a bunch of 'text').

Final question

So, is there a common term to describe this sort of snapshot table/database functionality that I am looking for? (so that I can search google if there is any such software available). I would assume this to be a commonly needed feature, but apparently it is not.

Rabarberski
  • 121
  • 2

0 Answers0