Здравствуйте, Anton Batenev, Вы писали:
AB>·> У меня все ходы записаны: "отдай дизайнеру, он их ужмёт,". Так что проспись потом приходи и вырази свою мысль, если она есть, твои переобувания в прыжке мало кому интересны. AB>Но обработанные файлы — это уже новые сущности, которые не заменяют старые. Т.е. есть исходный файл, он лежит в s3 и имеет версию 1, а в базе эти id и версия привязаны к какой-то сущности (или только id без версии, если нужна самая последняя). Дизайнер ужимает файл, заливает его в s3 и появляется версия 2.
Как теперь дизайнер будет объяснять базе, что у файла появилась новая версия и как её связать со старой?
AB>Если нужна самая последняя версия, то в базе вообще ничего не меняется, т.к. у файла не поменялся id. Если бизнес-логика требует версионирования, то апается версия в соответствии с залитым файлом. При необходимости асинхронно работает сборщик мусора (ибо операция удаления обычно дорогая и бывает дешевле вообще никогда не удалять данные).
Молодец, ты изобрёл MVCC.
AB>Т.е. проблемы с поддержанием целостности тут особо не стоит — файлы иммутабельны, метаинформация о них в базе иммутабельна, работать будет на любой базе.
Если иммутабельны, то и по uuid их идентифицировать не нужно, лучше sha2 использовать или типа того.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай