edo1
Ключевое тут «до»
ну так рассчитывать надо на это, у меня сейчас «DDT entries 7709539, size 703B on disk, 227B in core»
Alexander
В том то беда, что это единственный кейс где она даёт хороший эффект
На бэкапах Db2 с опцией dedup_device (в команде db2 backup) эффект колоссальный. Получается намного экономнее, чем db2 backup incremental.
Alexander
db2 бекапит без сжатия?
Есть опция сжатия и шифрования, для dedup_device их использовать скорее всего бессмысленно. Да и потом ZFS сама неплохо сжимает.
Василий
Есть опция сжатия и шифрования, для dedup_device их использовать скорее всего бессмысленно. Да и потом ZFS сама неплохо сжимает.
я не могу сказать про db2, но мсскл, жмет сильно быстрее и лучше, чем потом rar, а зфс все же рару в качестве сжатия уступает существено
Василий
*чем если рар на непожатый бекап
Alexander
Вероятно СУБД использует более оптимальные фрагменты для сжатия, словарь соответственно и т.п.
Alexander
Dedup дает намного большую экономию, чем сжатие.
Alexander
С опцией Db2 dedup_device для баз данных, накапливающие учетные документы, ZFS становится как бы бездонной бочкой, которая всего в несколько раз может превышать объем базы, даже если бэкапить ежедневно. Но почистить такой dataset ZFS потом абсолютно нереально по крайне мере в старых версиях ZFS - попытка удаления файла завешивает сервак наглухо после нескольких часов обращений к пулу. Только zpool destroy.
Василий
Dedup дает намного большую экономию, чем сжатие.
это что у тебя за таки странные данные, на которых дедуп эффективнее сжатия?
Василий
учитывая, что большинство алгоритмов сжатия, делают внутрений дедуп
Alexander
это что у тебя за таки странные данные, на которых дедуп эффективнее сжатия?
В ПФР когда работал, использовал одно время dedup для бэкапов. Вот их базы, они только копят и почти не меняются со временем, как лог файлы по сути.
George
большинство алгоритмов сжатия очень ограниченное окно имеют, до мегабайта
Alexander
учитывая, что большинство алгоритмов сжатия, делают внутрений дедуп
Так какая разница, что они делают внутренний dedup, внутри базы данные не очень то повторяются с учетом выравнивания страниц и т.п. А бэкапы с опцией dedup_device - это ювелирные дельты, как в send | receive.
Василий
большинство алгоритмов сжатия очень ограниченное окно имеют, до мегабайта
база mssql, до перехода на новую версию скуля в котором появилось сжатие, занимало где-то 1.2тб, в арзиве раром - где-то 200-250. после появления встроенного - стала занимать 150-190гб
Василий
дедуп даст такой эффект?
Василий
т.е. прийдется лить базу без сжатия (иначе дедупа вообще не будет, один бит поменялся и весь архив будет другой) минусы - по сети летит в 10 раз больше данных
Alexander
дедуп даст такой эффект?
Если база размером 1TB растет на 10 гиг в день, то каждый новый ПОЛНЫЙ бэкап Db2 с опцией dedup_device будет отъедать на ZFS со включенной дедупликацией примерно кратно 10 гигам, не скажу точно сколько. 15-20 гиг в день вероятно.
Василий
не факт что оно даст ту экономию что просто сжатие
Alexander
не факт что оно даст ту экономию что просто сжатие
Ну ты привел пример, сжатие дает на каждый бэкап 200 гиг, а дедуп раз в 10 меньше.
Alexander
это называется incremental backup и работает отлично без дедупа
Если нет блобов, с блобами по крайне мере в Db2 инкремент почти не работает, получается 70-90% от полного.
Василий
Ну ты привел пример, сжатие дает на каждый бэкап 200 гиг, а дедуп раз в 10 меньше.
т.е. в итоге за 10 дней: 1.2тб база + 100гб изменений вместо 140гб база + 30гб инкрементов
Василий
в плюсе первого случая - не надо наказывать изменения, в минусе - размер и высокий трафик по сети
Alexander
т.е. в итоге за 10 дней: 1.2тб база + 100гб изменений вместо 140гб база + 30гб инкрементов
Я не спорю, что инкрементальные бэкапы MSSQL вероятно могут дать примерно такой же эффект как Db2 dedup_device.
Василий
ниче, вот "чиашники" доведут цены на винты до заоблачных высот и станет выгодно ставить память для дедупа)
Alexander
в плюсе первого случая - не надо наказывать изменения, в минусе - размер и высокий трафик по сети
Если сеть до бэкап сервера выделенная, то это неважно, но с другой стороны нагрузка на бэкап сервер наверно поменьше с инкрементами.
Василий
Если сеть до бэкап сервера выделенная, то это неважно, но с другой стороны нагрузка на бэкап сервер наверно поменьше с инкрементами.
на гигабите восстановление 1.2 тб занимает гдето 15 минут расчетно (в реальности 20-25), а 140 - минут 5-10
Василий
А сколько сам бэкап, если online?
я ж пишу: 1.2 тб без сжатия, 180гб при сжатии мсскл
Alexander
По времени.
Alexander
Создание полного online бэкапа 1Tb базы MSSQL сколько времени занимает?
Alexander
И на каком оборудовании?
Василий
читает где то со скоростью 600-800мб/с
Василий
И на каком оборудовании?
G8, 170гб озу, raid10 samsung 860pro (4шт по 1тб)
Alexander
У меня было намного медленнее оборудование, чтение от силы 100 Мб/c с кэшированием, а напрямую с диском и вовсе 50Мб/сек.
Alexander
читает где то со скоростью 600-800мб/с
Все же интересно, сколько времени занимает бэкап по факту, без всех этих рассчетов.
Alexander
читает где то со скоростью 600-800мб/с
Кстати гигабитная сетка ведь столько не прокачает.
Fedor
Мсскуль локально читает
Alexander
Мсскуль локально читает
Это понятно, потом жмет еще.
Alexander
А кстати если iSCSI, то для такого стоража нужна уже 10 гигабитная сетка.
Василий
Alexander
Так потому и профит от сжатия
Я к тому, что у меня хранилка была отдельно по iSCSI. И даже на гигабитной сети редко когда могла забить хотябы 80-90% канала.
Василий
А кстати если iSCSI, то для такого стоража нужна уже 10 гигабитная сетка.
Там локальные диски и сжатие на сетевые. Потому скорость 800 ужимается где-то до 80-90 мб по сети
Alexander
У меня был такой конфиг: Хранилка ZFS zvol -> гигабитный iSCSI -> Db2 host -> гигабитная сетка до ZFS бэкапа.
Василий
У меня был такой конфиг: Хранилка ZFS zvol -> гигабитный iSCSI -> Db2 host -> гигабитная сетка до ZFS бэкапа.
А поставил бы базу на локальные диски и понял бы, как оно тормозило до этого
Alexander
А поставил бы базу на локальные диски и понял бы, как оно тормозило до этого
Во первых это было не реализовать технически, не было подходящих дисков для сервера. Во вторых как бы оно стало быстрее работать на сервере, если на хранилке не выдавало больше 50мб/сек? Там было 4 HDD диска и пара SSD для кэширования.
Alexander
HDD он хоть на самом мощном сервере работать быстрее не будет.
Fedor
Оверхед процентов под 25-30
Alexander
Хм. Это что за диски такие мрачные?
Seagate SAS но самые тормозные. Так любые HDD по IOPs недалеко ушли друг от друга.
Alexander
Оверхед процентов под 25-30
От настроек ведь зависит? Размер блока и т.п.
Fedor
Нет. Разве что от мту - но и там особо делу не помогает
Василий
Опять же, большая часть базы обычно в памяти и на чтение там все быстро, на запись там обычно батарейка, чего нет в сетевом варианте диска
Alexander
Ты же мб/с говоришь, при чем тут иопс
СУБД вообще-то дает рандомную нагрузку. Наивно ожидать запросов на последовательное чтение, где каждый диск бы выдавал по 100-150 м/бс. Речь о загрузке канала на рандомной нагрузке.
Fedor
Чуть быстрее будет отдаваться обработка ио
Fedor
А с учетом задержек в эзернете с тцпип там тоже не особо много иопсов выжмешь
Fedor
Чем файберченнел нравится - там ио пролетают очень быстро через транспорт
Василий
Ну почему - может быть и там.
В сети батарейка? Это что за реализауия такая?
Alexander
Чем файберченнел нравится - там ио пролетают очень быстро через транспорт
Надо будет потом попробовать другие варианты транспорта для iSCSI.
Fedor
Сам таргет чуть быстрее отдаст ответ, чем без кеша
Fedor
Надо будет потом попробовать другие варианты транспорта для iSCSI.
А вот нету - в самом айскази первая i - это интернет, насколько я помню
Fedor
Если уж на то пошло можно играться с FCoIB
Василий
Кеш на таргете
Так толку, мы все равно упираемся в иопсы сети. Сколько там иопсов на запись у гигабита не помнишь?
Alexander
Опять же, большая часть базы обычно в памяти и на чтение там все быстро, на запись там обычно батарейка, чего нет в сетевом варианте диска
На хранилке был L2ARC под 200 гиг, без него было вообще все очень грустно. На серваке Db2 всего 40 гиг рама. L2ARC давал кратный прирост скорости, несмотря на то, что буфер пулы были тщательно настроены на hit rate близкий к 100%
Fedor
Так толку, мы все равно упираемся в иопсы сети. Сколько там иопсов на запись у гигабита не помнишь?
Например, передача в одну сторону - надо смотреть таблицы - предположим, 0.25мсек. РТТ - 0.5 мсек. Делим 1000 мсек в секунде и получаем 2000 в одном потоке.
Fedor
И все это без учета работ по инкапсуляции, обращения к дискам и тому подобного
Alexander
Он не кеширует запись
А причем тут запись? Мы же чтение обсуждали. Для записи у меня был SLOG на SSD зеркале, и там же место для Db2 active logs.
Fedor
У меня 140 выжимал