Задать вопрос
@dmitlantis

Существуют ли какие-либо базы данных со встроенной системой контроля версий для самих данных?

Интересует версионирование именно данных, а не структуры таблиц. Желательно чтобы это было некое нативное решение, позволяющее просматривать диффы и даты изменений, а также их авторство в конкретно взятых полях и строках данных. Опционально: возможность откатить все изменения до какой-то даты/времени либо автора.
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Дифф вам никто не предоставит (я не слышал даже), а вот с восстановлением это называется Point In Time Recovery (PITR). MySQL 8.0 через binary log, PostgreSQL (подозреваю тот же механизм), DynamoDB.

Аудит изменений это вообще другая плоскость и, как правило, это довольно сложный механизм, который компании реализуют через CQRS и события, но это уже вообще довольно далеко.

Итого "решения из коробки" нет - надо думать головой и уметь проектировать системы
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
MS SQL. В журнале транзакций есть все изменения. Но встроенных средств их просмотра нет. Есть сторонние приложения, например, SQL transaction log reader.
Ответ написан
@Vitsliputsli
В большинстве СУБД есть журнал транзакций. Кроме MS SQL, в PostgreSQL он используется для восстановления состояния с момента бекапа до момента сбоя. В Oracle сможете посмотреть что было, когда было и сможете обращаться к таблицам из прошлого обычным SQL. Но этот механизм имеет ограниченное время просмотра.
Поэтому лучше подобное решать не средствами СУБД.
Ответ написан
Комментировать
@EkaterinaSklyarova
Рекоммендую dbForge Transaction Log for SQL Server С его помощью можно просматривать и анализировать журналы транзакций SQL Server и восстанавливать из них данные. Инструмент предоставляет подробную информацию обо всех изменениях данных в вашей базе данных и дает возможность отменить нежелательные транзакции на разных уровнях в зависимости от текущих потребностей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы