Если вам не хватает места на жестком диске, я бы не стал ничего удалять - ни в файловой системе, ни в базе данных;Я бы просто создал флаг статуса для записи базы данных с «удаленным» в качестве нового статуса.
Это при условии, что единственный путь к объектам в файловой системе - через приложение - если у вас есть люди, просматривающие хранилище файлов, это может не сработать.
Я очень предпочитаю управлять объектомудаление с помощью флагов состояния - оно предотвращает описанный вами сценарий, в котором вы получили распределенные транзакции, но также позволяет отслеживать историю вашего бизнес-домена, что помогает отслеживать ошибки.