Andrey
касательно ms sql - transaction log - это файл, в конец которого пишутся транзакции(измененные страницы в файлах БД). Соответственно сначала делаем сгнапшот файлов БД, в последнюю очередь transaction log. Передаем это куда-то и в этом куда-то запускаем БД. Начинает работать механизм undo/redo и БД открывается. Точно так же с Postgres(там WAL аналог ). Кстати, Postgres можно тарить на горячую, не останавливая. Точно так же он поднимится по WAL. Для Oracle все аналогично , но там эти механизмы гибче.
Василий
обычно, всё же, это один пул, но разные датасеты
https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2005/administrator/cc966534(v=technet.10)?redirectedfrom=MSDN
Василий
6й пункт
Василий
крайне глупо логи хранить вместе с базой
Evgenii
так о чем и речь. у меня тоже одно время было все на одном диске. но когда база перешагнула 1тб и 30 пользователей, любые действия ставили раком, и логи вынесли на отдельный массив
я бы в этой ситуации делал бы все возможное, чтобы остаться внутри 1го пула. Снимки - слишком ценны. Есть вариант добавить очень быстрый лог девайс, либо sync=off (часто допустимая настройка)
Василий
Ещё раз, mssql знает, что его бекапят.
если он знает, значит это уже работа агента, а не просто фишка уникальных снапшотов зфс
George
https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2005/administrator/cc966534(v=technet.10)?redirectedfrom=MSDN
что-то "шпиндели" намекают, что про ссд эта инструкция не знает. А, ну да, 2010й год
Evgenii
если где то можно синк=оф, это 100% не энтерпрайз )
это зависит от базы, как минимум. MongoDB отлично справляется, т.к. сама внутри себя реализует практически тот же COW мехазнизм с группами транзакций и возврату к последней удачной группе в случае чего. Так вышло, что все мои проекты щас на монге.
Василий
что-то "шпиндели" намекают, что про ссд эта инструкция не знает. А, ну да, 2010й год
там еще один профит есть, когда диски раздельные: если рухнет база, то при живом логе, база восстанавливается до последней инструкции
Василий
*если рухнет диск с базой
Василий
Василий
при условие что база лежала на одном единственном диске?
окей, база лежала на рейдкотроллере, который сгорел. есть другой, не совместимый
Василий
погодите, под логами у mssql понимаются же wal логи?
не знаю что такое WAL, под логами - transaction logs
George
если да, то для них шпиндели тоже противопоказаны, хоть и поточная, но критичная на латенси нагрузка
Василий
Василий
если да, то для них шпиндели тоже противопоказаны, хоть и поточная, но критичная на латенси нагрузка
с латеси то что не так, все рейды имеют батарейку и латеси записи на простых массивах там вполне норм
Василий
аппаратный рейд под zfs, аминь
мля, причем тут зфс?
George
мля, причем тут зфс?
так мы в контексте zfs тут говорим
George
при чём тут аппаратные рейды и советы для шпинделей
Василий
так мы в контексте zfs тут говорим
итого: мы пришли к выводу, что зфс под бд так себе решние, ибо тормозит на всем что не нвме
Василий
бинго)
Василий
чего?)
ну вот допустим есть 10 дисков, сата/сас, на ваш выбор, есть кнотроллер который умеет и рейд с батарейкой и IT режим для zfs. как получить с этой железяки максмиальный перфоманс для бд?
George
вам про снапшоты и гранулярность говорили, плюс что на zfs на разные пулы под базой может смысла не быть бить
Василий
и понеслась
Evgenii
вы начало читали? я в начале спросил нафиг ставить бд на зфс.
Резюмирую. Нафига? - "Снимки - мощный инструмент" Снимки требуют чтобы все было в одном пуле, иначе они не имеют смысла. Вы должны выбрать снимки и зфс, или аппаратные рэйд и батарейки
Василий
я бы добавил: для маленьких баз, все на одном пуле
Evgenii
Для больших можно ускорять пул, если снимки все еще важны..
Василий
Для больших можно ускорять пул, если снимки все еще важны..
боюсь начать новый срачик. а зачем снапить бд?
Andrey
Вот тут можно почитать для общего понимания https://habr.com/ru/post/414269/
Василий
хотя один ответ да, знаю
Evgenii
боюсь начать новый срачик. а зачем снапить бд?
Бэкапы, моментальное восстановление, сохранение бд хоть каждые 5 минут, моментальное создание клона из любого снимка для того чтобы решить проблему возникшую на проде в тестовом окружении
Василий
ну вот и я где-то так использую, там где разработчики ковыряются. бо ломают иногда все
Andrey
Снапшоты БД полезны, например, при создании тест/дев ландшафтов, когда БД большая - создание клона обычно занимает меньше минуы независимо от размера БД
Василий
но это не прод вроде как все
Andrey
да даже например отладка апгрейда, чтото пошло не так - rollback dvt
Andrey
вместо восстановления всей БД
Василий
кстати, а как ролбекнуть только одну вм из снапа в котором их 10? по быстрому, без копирования
Evgenii
но это не прод вроде как все
У меня все проды так устроены если что.. zfs реплики асинхронно делаются в удаленный датацентр, а снимки используются для создания клонов и тестовых окружений. Повторюсь - MongoDB
Василий
хотя у солярки там какое то быстрое копирование есть, но не знаю умеет ли оно между снапом копировать
Василий
кстати, почему народ так боится зфс поверх рейда? :) у меня вон оно поверх вообще MSA работает
Evgenii
кстати, почему народ так боится зфс поверх рейда? :) у меня вон оно поверх вообще MSA работает
потому, что рэйды врут про запись данных на диск, это лишняя угроза. С дорогими рэйдами и батарейками наверное будет плюс минус нормально, но опять же зачем этот лишний дорогой слой, который может выйти из строя - не понятно
George
кстати, почему народ так боится зфс поверх рейда? :) у меня вон оно поверх вообще MSA работает
работать то будет, просто обычно честный hba быстрее чем аппаратный рейд, это если не говорить о других минусах (что надо иметь идентичный адаптер на замену и тд)
George
ну и смысл собирать под zfs массив, когда это и скорость отъест, и не даст использовать резервирование на уровне zfs
George
кейс с батарейкой и улучшением iops очень частный, дешевле может быть просто nvme с кондерами взять для slog
Василий
пока вижу только один минус - смарт не видно, и то, я так понимаю, не везде
George
кейс с батарейкой и улучшением iops очень частный, дешевле может быть просто nvme с кондерами взять для slog
^ я тут специально упомянул, что кейс с батарейкой тоже не особо нужен за счёт slog
Василий
^ я тут специально упомянул, что кейс с батарейкой тоже не особо нужен за счёт slog
опять же: речь была не про нужен/не нужен. а в чем проблема с рейдом. у меня тут один уперся: на рейд ставим винду, никакого зфс. потом что с зфс будет плохо
Василий
эм
и? "чего народ боится" "а в чем проблема с рейдом". что не так?
Василий
народ же боится проблем или там просто фобия?
George
и? "чего народ боится" "а в чем проблема с рейдом". что не так?
так я ответил же, что работать будут но смысла мало. Вот народ и запоминает что не нужно. Так же как и городские легенды про "хГБ ОЗУ на каждый ТБ"
Василий
George
на хдд, имхо смысла будет. может как нибуть руки дойдут потестить, как раз 1гб 420 смартарей валяется
зависит ещё от нагрузки, например на поточке ооочень быстро в пропускную способность аппаратного рейта упираешься
George
на хдд? врядли. на ссд, скорей всгео да
ну посмотрите в спеке просто
George
я упирался
George
на 10 дисках не упрётесь, на 30 точно жопа
George
там и pci-e быстро кончается
Василий
у меня пока есть конфигурация с 6 ссд, 1гб/с 420 рейд выдает. может чуть больше
Василий
на 10 дисках не упрётесь, на 30 точно жопа
так, а как 30 диской зфс будет рулить и не упрется?
George
так, а как 30 диской зфс будет рулить и не упрется?
в плане как? hba адаптер, пул из 30 дисков, вперёд
George
лично снимал около 3Гбайт/сек с одного hba на zfs
George
но дальше в полосу pci-e упёрся, в частности)
George
zfs сейчас умеет писать до 10ГБ/сек на пул, дальше да, сложновато пока
George
тут ребята на nvme пуле снимали throughput 12ГБ/сек https://zfsonlinux.topicbox.com/groups/zfs-discuss/Tdec42b46ad7dd0e7-M4f37f2a7a614dbf508fcebcc
Василий
zfs сейчас умеет писать до 10ГБ/сек на пул, дальше да, сложновато пока
в общем, сейчас спорить не буду, если дойдут руки до тестов, выложу)