@ArrayPop

Как работает кластеризация mysql или другой БД кластер?

Допустим есть запрос "SELECT * FROM table LIMIT 1000000". Такой запрос будет очень медленный. Если я сделаю кластерную архитектуру,то этот же запрос станет быстрее из за распределения по серверам или нет. Если нет,то что делает кластер, и нужно ли переписывать все запросы после создания кластера,если нужно переписывать запросы на особые,то какие запросы писать?
  • Вопрос задан
  • 845 просмотров
Решения вопроса 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Просто при базовой кластеризации мы получаем отказоустойчивость и синхронную репликацию нод. Таким образом запись становятся медленнее. Для ускорения дальше надо настраивать шардинг и партиципование. Партиципование можно делать и без кластера
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Такой запрос будет очень медленный

Почему? Ну если только table - это не таблица, а развесистый view.
Если таблица - читаем потоком данные удобным для субд способом (сортировки не запрошено - субд выберет удобный для себя порядок чтения) и шлём запросившему. Простая штука, и если производительности не хватает здесь - то это вопрос не к базе и её масштабированию, а к приложению: зачем вообще понадобился там этот не детерминированный миллион строк из таблицы.

Кластер - это слово очень общее.
Мастер-реплика cold standby - кластер
Мастер-реплика hot standby - кластер
Мастер-мастер - кластер
N шардов - кластер
Гетерогенная система с двухфазным коммитом - всё равно кластер

то что делает кластер

Неправильный задаёте вопрос.
Сначала определяете зачем вам головная боль, с какой целью вы хотите добавить второй сервер СУБД и почему вам недостаточно одного - затем смотрите в каком направлении вам необходимо для решения этой задачи двигаться.
Ответ написан
Комментировать
@anikavoi
Кластеризация != шардинг
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы