Size: a a a

2020 November 30

AS

Aleksey Shirokikh in pro.bash
но считайте что для каждого блока который надо дедупить надо килобайт памяти.
источник

Prikolist Начрэл... in pro.bash
Evgeniy Naumov
про эту же тему в соседнем чате =)
Дедупликация файлов - это не то что мне нужно. Меня интересует дедупликация блоков данных. Условно, что бы 2 одинаковых png картинки, одна из которых имеет битый пиксель, они занимали место как 1 картинка и уточнение для второй картинки, с данными о изменённом пикселе
источник

AS

Aleksey Shirokikh in pro.bash
Prikolist Начрэл
Дедупликация файлов - это не то что мне нужно. Меня интересует дедупликация блоков данных. Условно, что бы 2 одинаковых png картинки, одна из которых имеет битый пиксель, они занимали место как 1 картинка и уточнение для второй картинки, с данными о изменённом пикселе
таких алгоритмов на рынке нет. это фантазия
источник

AS

Aleksey Shirokikh in pro.bash
даже если бы они были они требовали бы ну просто бездну памяти.
источник

Prikolist Начрэл... in pro.bash
Aleksey Shirokikh
даже если бы они были они требовали бы ну просто бездну памяти.
Почему?
источник

AS

Aleksey Shirokikh in pro.bash
потому что потербовали бы таблицу блоков, таблицу патчей
источник

AS

Aleksey Shirokikh in pro.bash
и поиск по этому был бы..... ну прямо скажем адовый.
источник

Prikolist Начрэл... in pro.bash
Aleksey Shirokikh
и поиск по этому был бы..... ну прямо скажем адовый.
Почему?
источник

EN

Evgeniy Naumov in pro.bash
Prikolist Начрэл
Дедупликация файлов - это не то что мне нужно. Меня интересует дедупликация блоков данных. Условно, что бы 2 одинаковых png картинки, одна из которых имеет битый пиксель, они занимали место как 1 картинка и уточнение для второй картинки, с данными о изменённом пикселе
сейчас имхо максимум на уровне блочных устройство можно. ну может у вендоров железных есть решения специализированные. конечно за отдельные деньги
источник

AS

Aleksey Shirokikh in pro.bash
ну и в 2020 году диски стоят на много меньше чем стоит проц который нужен был бы для применения таблицы патчей и памяти необходимой для храннеия обоих структур
источник

AS

Aleksey Shirokikh in pro.bash
впрочем я вполне допускаю спеицализированное решение которое сделает вендор за какую нить сумму денег.
источник

AS

Aleksey Shirokikh in pro.bash
но там решение было бы от 9 нулей
источник

EN

Evgeniy Naumov in pro.bash
я помню про хп семинар какой-то. стор-уанс типа того что-то. вроде софт, но можно и в железе. точнее наоборот.
источник

AS

Aleksey Shirokikh in pro.bash
Evgeniy Naumov
я помню про хп семинар какой-то. стор-уанс типа того что-то. вроде софт, но можно и в железе. точнее наоборот.
там как раз блочное с размером блока от мега
источник

EN

Evgeniy Naumov in pro.bash
ну это для прикидки что к чему на этом поле
источник

AS

Aleksey Shirokikh in pro.bash
потому что на операцию записи вам бы потребовалось
1. найти блок в таблице блоков
2. сформировать патч
3. сохранить патч в памяти или на диске в таблице метаданных
4. потенциально потебовался gabarge collector который бы сливал распухшие дифы. и его реализация была бы не тривиальной ибо запись одного файла могла потенциально перестроить половину файловой системы. в результате каскада мержей
запрос на чтение бы потребовал
1. постоянного random read ибо данные в результате дедпубликации лежали бы в разных областях диска
2. примение всех патчей которые нужны для чтения файла
источник

AS

Aleksey Shirokikh in pro.bash
тоесть в этом случае мы бы купили капасити диска за памяти и проц и iops.
источник

AS

Aleksey Shirokikh in pro.bash
наверное это одно из самых не выгодных приобретений
источник

AS

Aleksey Shirokikh in pro.bash
спасибо за милую умозрительную конструкцию
источник

Prikolist Начрэл... in pro.bash
Aleksey Shirokikh
потому что на операцию записи вам бы потребовалось
1. найти блок в таблице блоков
2. сформировать патч
3. сохранить патч в памяти или на диске в таблице метаданных
4. потенциально потебовался gabarge collector который бы сливал распухшие дифы. и его реализация была бы не тривиальной ибо запись одного файла могла потенциально перестроить половину файловой системы. в результате каскада мержей
запрос на чтение бы потребовал
1. постоянного random read ибо данные в результате дедпубликации лежали бы в разных областях диска
2. примение всех патчей которые нужны для чтения файла
Тут вопрос в архитектуре. Например, можно при записи файла просто вычислять перцептивный хэш и индексировать его.

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