Какой самый компактный способ хранения различий в базе данных?

Я хочу реализовать что-то похожее на историю ревизий Викимедиа? Какие функции/библиотеки/расширения/алгоритмы PHP лучше всего использовать?

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

В некоторых случаях может измениться всего несколько символов, в то время как в других случаях может измениться вся строка, поэтому я хочу понять, лучше ли некоторые методы для небольших изменений, чем для больших, и не эффективнее ли в некоторых случаях просто хранить целые копии.

Резервное копирование всей системы с помощью чего-то вроде Git или SVN кажется немного экстремальным, и я не очень хочу хранить файлы на диске.

6
задан Tim 9 February 2012 в 19:15
поделиться