К сожалению, проблема в том, что единственный способ безопасного удаления данных, находящихся на диске, - это «стереть» все неиспользуемые сектора на диске. Это хорошо подходит для файловых решений, так как при удалении файла ОС отмечает, что сектора являются доступными (то есть: не используются), и, следовательно, вы можете стереть их.
Проблема с базой данных заключается в том, что у вас нет контроля над фактической структурой файла; БД реферат все это для вас. Например, вы можете удалить данные из столбца или строки в db, но в зависимости от того, как удаляются дескрипторы DB, секторы, на которых первоначально находились данные, все еще могут быть помечены БД. Поскольку все данные для таблицы остаются как часть одного и того же файла (т. Е. Состояние сохраняемого файла БД), нет способа определить, где эти данные первоначально лежали на диске, и, кроме того, нет способа гарантировать, что БД не имеет " t уже исправил это пространство для чего-то другого.
Даже если вы должны были безопасно писать/стирать/переписывать одно и то же поле в БД, нет гарантии (и на самом деле довольно маловероятной), что данные будут записаны в один и тот же сектор на диске.
Все это говорит о том, что было сделано несколько исследований, которые указывают на то, что восстановление удаленных/перезаписанных данных (в отличие от только освобожденного пространства сектора) от магнитных носителей является, хотя теоретически возможным, весьма проблематичным и вряд ли будет успешным.
Имейте в виду, что принцип безопасного удаления данных значительно изменяется при работе с SSD (поскольку используемые сектора могут обеспечить равномерное распределение данных) и даже на некоторых RAID-устройствах.
К сожалению, с помощью твердотельных накопителей я не знаю, есть ли какие-либо решения для обеспечения полной очистки всех секторов. С RAID вам нужно сломать RAID, а затем безопасно стереть каждый диск независимо, чтобы быть уверенным.
Этот алгоритм предназначен для стирания диска. Невозможно безопасно стереть столбец базы данных (или любой другой компонент внутри реализации базы данных). –
Что вы подразумеваете под безопасным стиранием базы данных? вы можете уточнить? – kosa
Никакая база данных не стирает, не удаляет данные из столбца какой-либо таблицы. Если он работает для файлов, почему бы не работать в базе данных? Или, по крайней мере, должен быть метод ... – braincell