мускул в контейнер кладете? Если он в продакшн грохнется - хрен восстановишь же
чего ето
ну у СУБД есть такая особенность - он не сразу записывает на диск все изменения. А если синкать файлы после каждого UPDATE/INSERT - лучше уж совсем без мускла. А в случае, если используется InnoDB, а демон мускла упал - уже пофигу - в контейнере дата или в вольюме - после такого мускул или не стартует или безвозратно теряется пачка данных.
ну у субд есть во первых транзакции..а потом ну остановил бд, сделал бекап запустил, не?
Остановить продакшн для бэкапа? Сомнительное удовольствие. А транзакции - это не про консистентность данных на диске, а про атомарность внутри БД
ну это не записывать данные в бд пока они не запишутся во все таблицы. один пункт из цепочки не прошел - все отменяем.
а причем здесь контейнеры? так то и без них внезапная смерть чревата последствиями
Не. Ты не понял мою мысль. Под капотом мускуль работает не так, как любой другой сервис. Запись на диск и инсерты в базу - это независимые друг от друга операции.
Да. Поэтому мне и стало интересно, кто как реализует непадучесть мускля. Ребутнуть железку несколько сложнее, чем сделать docker-compose up
у меня кстати проблема с мусклом - когда даешь ему bind mount вольюм - он ругается что пермишнс денайд. а когда просто докер вольюм то все ок
Все правильно он делает. У тебя uid внутри контейнера и uid владельца файлов в хост-системе не совпадают
даже если я снаружи делаю этой папке 777
Кроме папки есть ещё файлы
а -R почему не помогает, как сделать подскажи плз
по дефолту MySQL все пишет на диск после каждого коммита и опять же по дефолту каждый UPDATE/INSERT считается транзакцией и автокоммитится.
Окей. Что происходит, когда после коммита во время записи на диск умер демон?
Зависит от того на какой стадии записи умер демон. Если успел записать транзакцию в log, то она сохраняется, если не успел - то нет.
Ну, когда демон потом подняться не может - там уже не до разбирательства, успел он или не успел 🙂 Надо срочно поднимать.
а что значит умер демон, процессам демон то не нужен для работы, ибо они опираются на cgroups и тд
да легко - баг в самом мускле, например.
В MySQL используется запись в лог и double buffering для предотвращения ломания базы. Чтобы разломать базу это надо специально постараться
Я был бы рад верить, если бы не работал с мусклем под нагрузкой. Сломать InnoDB - легче легкого, несмотря на все ухищрения.
Значит хорошо старались, догадываюсь что "заоптимизировали" что-нибудь
А куде без оптимизации? 12000 Ops/s просто так не получишь 🙂
прод мускул в докере - доп риск. «надежное» решение в докере для мускула - мастер-мастер например схема. Но ты сам знаешь, какие тут подводные камни, да? 🙂 Если понимаешь, что делаешь, то сам докер, в принципе, не мешает.
Мастер-мастер — так себе схема даже на железе так-то. А насчёт понимания - если бы все упиралось в то, что делаю только сам - ошибки бы влияли только на меня. К сожалению, реальность такова, что в большинстве случаев мы делаем все вот это вот - не для себя. В сфере разработки все вот эти вот схемы — больше для разработчиков, а они со временем не начинают понимать больше, а начинают больше абстрагироваться, чтобы не забивать себе голову (такова уж человеческая природа - весь прогресс построен на лени). И даже весь этот чат посвящён абстракции. Вместо понимания процессов все заворачивается в некий контейнер, который как-то работает. А как он работает - хотя бы приблизительно понимает, хорошо если так, хотя бы 1/20-я часть этого чатика.
Схему мастер-мастер я привел только, чтобы подчеркнуть, что расчитывать на надежность/безопасность докера не приходится. Нет там ни того, ни другого. Впрочем я и батарейкам/ионистрам ссд/прочей лабуде бареметальных нод тоже не доверяю. Там тоже можно легко себе выстрелить в ногу. Если хочется надежность - то тут как то изворачиваться с резервированием на уровне приложения. Тут что докер, что lxc, что квм - все из одной плоскости будет в плане надежности. Но вообще, раз уж философия докера - это стейтлесс, то лучше я их послушаю.
Стейтлесс - респект и уважуха. Но стейтлесс и субд в докере - чот не клеится ))₽
Если понимаешь, что делаешь - то чего бы нет? Но вы правы, основная масса сует туда все что ни попадя. Я для себя границы очертил, а на закидоны хипстеров зачем обращать внимание:)
Какое там резервирование на уровне приложение когда твой Субд плачет
другое дело, что без нового моднявого стека оч тяжело уже найти людей. У меня знакомый жалуется, вроде деняг норм предлагают, и коллектив норм, но нету ни докера, ни кубера - никто не хочет
А у меня наоборот - ищем олдскулов )) а попадаются только докер, кубер, ты чё пёс я математики
Обсуждают сегодня