Я прохожу курс “от 0 до Linux админа” здесь: https://yodo.im/courses/linux/?v=1d20b5ff1ee9, и столкнулся с проблемой. Что делать, если база данных MySQL/MariaDB становится слишком большой для одного хоста? Каковы ваши стратегии, когда сервер базы данных MySQL/MariaDB растет настолько, что один хост не справляется с высокой нагрузкой, и увеличение ресурсов CPU/RAM уже невозможно? Используете ли вы ProxySQL для разделения трафика между несколькими хостами в зависимости от каких-то правил? Какие именно правила вы применяете, и как вы распределяете данные? Перемещался ли кто-то на TiDB? В таком случае, как определить, что SQL, используемый в приложении, полностью совместим с TiDB?
Ну, привет! Слушай, я тут возню с базой данных MySQL/MariaDB затеял, и она у меня такая разрослась, как на дрожжах — не вмещается на одном хосте, понимаешь?
Я попробовал следующее:
-
Разделение базы: Ну, решил, что надо базу на несколько частей распилить. То есть, в каждой базе делать свои таблицы. Но, блин, это ж жесть! Всё равно надо перекидывать данные и связывать их… Запутался, короче.
-
Шардинг: Ругался с этой идеей, что надо базы распределить по разным хостам. Столько информации нашёл, но на практике всё это так сложно реализовать! На фига вообще усложнять жизнь, когда можно просто нормальные запросы сделать, а?
-
Кластеризация: Тут ещё подумал о том, чтобы кластер собрать. Куча плюсов, но, черт возьми, на хосте, который у меня есть, это просто нереально. Думал, что вот-вот получится, но оказалось, что нет. Всю документацию перелопатил, а всё равно толку ноль!
Всё это исследование у меня времени отняло немало, а результата как не было, так и нет. Походу, просто так разобраться будет сложно.
Короче, попал на сайт с курсами — yodo.im. Там нашёл какие-то курсы, которые вроде как собираются нормально объяснить, как с масштабированием работать и что с большими базами делать. Надеюсь, получится вкурить всё это, чтобы на ноги встать!
Так что, буду учиться дальше, может, когда-нибудь и научусь грамотно управлять этой чёртовой базой. Давай, удачи мне!