я задумывался о репликации того, что у нас. Это mariadb которая mysql. У нас не особо нагруженное приложение, но это были планы на будущее. Я читал про galera кластер как вроде самое техничное решение итп.
вообще в mysql\mariadb не рекомендуешь в принципе в продакшен? или вопрос именно высоконагруженного кластера, где лучше выбирать что то другое - кстати что? из бесплатных в том числе.
вопрос скорее теоретический, но для общего развития, я пока, и возможно долго еще - не упрусь в проблемы mariadb\mysql - но чтобы на будущее приглядываться
что можешь порекомендовать по своему опыту для приложений среднего условно уровня что надежно и хорошо работает в кластерных режимах? спасибо
UPD или все это касается master-master и для master-slave это без разницы? galera cluster так то вроде про мастер-мастер
Лично я считаю, что MySQL-ю в проде не место от слова "совсем". Ни в каком виде. Да, низкий порог входа, но до первой проблемы. При малейшем сбое или нештатной ситуации начинаются кровавые слёзы.
Применительно выбора конкретного инструмента: смотри CAP-теорему. Реляционные БД - это не про Multi-Master. Если прям вот нужно-нужно, чтобы можно было записывать в любой узел кластера БД, то только NoSQL. Например, Cassandra, но это тоже ни разу не подарок.
честно говоря такого что "нужно-нужно" наверное и нет. у нас не особо большое приложение и хайлоада не ожидается.
Пока, вероятно, будем сидеть на MariaDB до первого серьезного повода. С точки зрения проблем - рассчитываю на ежедневные бекапы (дампы) с глубиной 2х недель.
Понял, в целом вероятно мастер-мастер это не то, что мне реально нужно. Возможно нам в целом репликация скорее как красивость чем реальная необходимость
NoSQL как я понимаю для задач быстрого хранения пар ключ-значение, у нас такой необходимости пока вроде тоже нет. Про кассандру почитаю, спасибо
ну и в целом спасибо за пост. интересно, у меня такого опыта нет например и серьезных траблов с Mysql не было. Пока поэтому осваивать новый инструмент мотивации недостаточно, но видимо если что - буду смотреть в сторону постгре
Если объём данных позволяет делать ежедневные дампы, и они восстанавливаются за разумное время, почему бы и нет.
Серьёзный повод может возникнуть, например, при Kernel Panic, Out-of-Memory Killer, внезапном выключении питания или сбое RAID-контроллера. Postgres переживает такое совершенно спокойно, ну максимум одну-две транзакции потеряет, да и то вряд ли.
MySQL / InnoDB после такого обычно не восстанавливается в принципе. С таблицами, куда в момент сбоя велась запись, можно попрощаться.
Это даже если забыть про все прочие глюки и неприятности помельче.
Мне кажется, тут дело не в принципиальной невозможности мастер-мастер для рбдмс, а про архитектуру и реализацию конкретной базы. Так-то CAP теорема, да. RDBMS - это про CP. И явных ограничений, что CP - это невозможность мастер-мастера, нет. Просто в случае проблем на любой из нод будет недоступность.
Comments 34
Такс, мне интересно.
я задумывался о репликации того, что у нас. Это mariadb которая mysql. У нас не особо нагруженное приложение, но это были планы на будущее. Я читал про galera кластер как вроде самое техничное решение итп.
вообще в mysql\mariadb не рекомендуешь в принципе в продакшен? или вопрос именно высоконагруженного кластера, где лучше выбирать что то другое - кстати что? из бесплатных в том числе.
вопрос скорее теоретический, но для общего развития, я пока, и возможно долго еще - не упрусь в проблемы mariadb\mysql - но чтобы на будущее приглядываться
что можешь порекомендовать по своему опыту для приложений среднего условно уровня что надежно и хорошо работает в кластерных режимах? спасибо
UPD или все это касается master-master и для master-slave это без разницы? galera cluster так то вроде про мастер-мастер
Reply
Лично я считаю, что MySQL-ю в проде не место от слова "совсем". Ни в каком виде. Да, низкий порог входа, но до первой проблемы. При малейшем сбое или нештатной ситуации начинаются кровавые слёзы.
Применительно выбора конкретного инструмента: смотри CAP-теорему. Реляционные БД - это не про Multi-Master. Если прям вот нужно-нужно, чтобы можно было записывать в любой узел кластера БД, то только NoSQL. Например, Cassandra, но это тоже ни разу не подарок.
Reply
честно говоря такого что "нужно-нужно" наверное и нет. у нас не особо большое приложение и хайлоада не ожидается.
Пока, вероятно, будем сидеть на MariaDB до первого серьезного повода. С точки зрения проблем - рассчитываю на ежедневные бекапы (дампы) с глубиной 2х недель.
Понял, в целом вероятно мастер-мастер это не то, что мне реально нужно. Возможно нам в целом репликация скорее как красивость чем реальная необходимость
NoSQL как я понимаю для задач быстрого хранения пар ключ-значение, у нас такой необходимости пока вроде тоже нет. Про кассандру почитаю, спасибо
ну и в целом спасибо за пост. интересно, у меня такого опыта нет например и серьезных траблов с Mysql не было. Пока поэтому осваивать новый инструмент мотивации недостаточно, но видимо если что - буду смотреть в сторону постгре
Reply
Если объём данных позволяет делать ежедневные дампы, и они восстанавливаются за разумное время, почему бы и нет.
Серьёзный повод может возникнуть, например, при Kernel Panic, Out-of-Memory Killer, внезапном выключении питания или сбое RAID-контроллера. Postgres переживает такое совершенно спокойно, ну максимум одну-две транзакции потеряет, да и то вряд ли.
MySQL / InnoDB после такого обычно не восстанавливается в принципе. С таблицами, куда в момент сбоя велась запись, можно попрощаться.
Это даже если забыть про все прочие глюки и неприятности помельче.
Reply
Мне кажется, тут дело не в принципиальной невозможности мастер-мастер для рбдмс, а про архитектуру и реализацию конкретной базы. Так-то CAP теорема, да. RDBMS - это про CP. И явных ограничений, что CP - это невозможность мастер-мастера, нет. Просто в случае проблем на любой из нод будет недоступность.
Reply
Leave a comment