170 похожих чатов

@Tishka17 помнится ты не так давно говорил о том, что

бывают нужны отдельно пулы (бд) на чтение и на запись. Интерес такой: а зачем? Это оптимизация такая?

20 ответов

5 просмотров

Это если ты захочешь использовать репликацию

Если говорить про PG, то примерно так: 1. на каждое пользовательское соединение один процесс дополнительный. Сколько у типичного проекта по пользователям обычно нагрузка? Отсюда потребность в пулере, к примеру pgbouncer 2. Обычно создают кластер СУБД, где одна машинка является мастером, а другие репликами. Все по записи долбится на первую, а если она ляжет, то ее роль подхватывает одна из реплик. Отсюда вывод, чтоб реплика содержала up to date, почти up to date состояние нужно делать репликацию. чтоб не грузить лишнего мастер можно раскидать READ-операции по репликам

Добавлю на всякий, что master-master репликация - это дорого и сложно, поэтому разделение на чтение и запись. Со слейв реплик можно сравнительно недорого и беспроблемно читать и не напрягать этими запросами мастер.

Dmitry
Если говорить про PG, то примерно так: 1. на каждо...

Только нужна (semi-)sync репликация, чтобы нормально разделять чтение и запись

evle
Добавлю на всякий, что master-master репликация - ...

Стоит разделять стратегию репликации и стратегию разделения запросов. Active master - passive master не сильно отличает от обычного master-slave.

asce
Стоит разделять стратегию репликации и стратегию р...

Это вполне взаимосвязанные вещи, хоть и, понятно, не идентичные.

evle
Это вполне взаимосвязанные вещи, хоть и, понятно, ...

Да, но так-то и в реплику можно писать, если это предусмотрено

asce
Да, но так-то и в реплику можно писать, если это п...

В том и дело, что чтобы сделать реплику, в которую можно писать - надо сильно задолбаться (и умудриться не убить производительность). Ровно из-за этого приходится делить запросы на чтение и запись, чтобы хотя бы на чтение пользоваться мощностями реплик.

evle
В том и дело, что чтобы сделать реплику, в которую...

Зависит от конкретного софта. С логической репликацией обычно нет проблем. Тут скорее зависит от бизнес задач, которые решает реаликация. Классическое создание реплик и деление запросов - масштабирование чтения, но бывают и другие задачи

Ну ок, в каких случаях мультимастер — простая задача, что можно себе позволить без боли и страданий распределять запросы на запись по сколь-либо масштабируемому числу реплик? Во всех случаях, когда мне такое попадалось — это делалось достаточно нетривиальными усилиями и адаптацией кода именно под такую возможность — и иначе просто не удавалось сделать.

evle
Ну ок, в каких случаях мультимастер — простая зада...

Ну мультимастер в zookeper из коробки работает. Можно писать/читать из любой ноды. В последних версиях xtradb cluster, вроде, нет проблем с записью на любую ноду.

asce
Ну мультимастер в zookeper из коробки работает. Мо...

* в зукипере мульти-мастер с точки зрения запросов, что можно писать куда угодно Так-то там есть лидер

asce
* в зукипере мульти-мастер с точки зрения запросов...

Но с классической точки зрения, это мульти-мастер

asce
Ну мультимастер в zookeper из коробки работает. Мо...

Ну так зукипер не про производительность и ситуации, когда нам нужно множество реплик для распределения нагрузки. Что там наделали в XtraDB не смотрел, но раньше там весьма классический мультимастер с типичными для него ограничениями. Явно не то, что можно просто взять и волшебным образом отмасштабировать в зависимости от нагрузки и получить пропорциональное числу нод ускорение.

evle
Ну так зукипер не про производительность и ситуаци...

Я и говорю, что зависит от целей, но чтение в зукипере распределяется, оно не требует согласование кластера. Раньше там точно был active/passive master. К сожалению, волшебства не существует :) Есть только крутой маркетинг (привет, монга)

evle
Ну так зукипер не про производительность и ситуаци...

Запись без шардирования, к сожалению, не отмасштабировать(

Напоминаю исходную мысль — деление на пулы подключения к бд для чтения и записи появилось потому, что делать реплику для записи значительно сложнее чем для чтения. Не было бы сложнее — был бы один пул для всего и не надо было бы париться.

evle
Напоминаю исходную мысль — деление на пулы подключ...

И я повторюсь - это не вопрос топологии репликации, а вопрос бизнес задач и реализации

asce
И я повторюсь - это не вопрос топологии репликации...

Ладно, меня не поняли, значит не поняли. Бывает.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
8
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта