БД — сравнение предыдущих версий таблиц с текущей
Я обычно такие штуки храню в одной таблице, только добавляю ещё одно поле с номером версии.
> Подскажите, пожалуйста, как лучше реализовать данное чудо.

Конечно, же написать самому. Для хранения можно использовать, например, систему ревизий (как в википедии) (1 таблица хранит актуальные значения, другая, архивная, все предыдущие ревизии записей).