Да, возможно странный вопрос, но интересна организация подобных работ в крупных компаниях. Я работаю в маленькой команде, и у нас категорически не хватает ресурсов на глубокое погружение в подобные кейсы :(
Начиная с 5.7 есть возможность реплицировать слейв в несколько потоков: dev.mysql.com/doc/refman/5.7/en/replication-implementation-details.html
Но в целом согласен, что в случае, если используемая производительность на мастере выше, чем максимальная производительность слейва, он будет отставать, и никакой параллелизм не спасет.
Спасибо за комментарий. В целом, считаю, что рассмотрение GTID уже выходит за рамки данной статьи, но все же это действительно очень удобная и полезная фича, потому добавил упоминание о ней.
Рад, что смог натолкнуть Вас на изучение более детальной информации. Как я и писал, тема репликации весьма обширна, и достойна отдельных книг, так что осветить в одной статье все моменты не представится возможным. Тем более в данном материале я хотел лишь дать базовое понимание для тех, кто, возможно, не сталкивался с репликацией вообще, либо имеет незначительный опыт.
В Doctrine есть два QueryBuilder — SQL и ORM (DQL). ResultSetMapping предназначен для работы с SQL-запросами, а метод createQueryBuilder EntityManager'a вернет Вам ORM QueryBuilder. В последнем случае я не вижу необходимости использовать ручной ResultSetMapping, т.к. запрос Вы составляете уже в терминах описанных сущностей, используя DQL. В первом же случае, при использовании SQL QueryBuilder, поля в выборке переименовываться не будут.
Да, возможно странный вопрос, но интересна организация подобных работ в крупных компаниях. Я работаю в маленькой команде, и у нас категорически не хватает ресурсов на глубокое погружение в подобные кейсы :(
Сколько времени заняло изучение этой проблемы? И работа производилась параллельно с другими задачами, или сфокусировались только на этой?
Но в целом согласен, что в случае, если используемая производительность на мастере выше, чем максимальная производительность слейва, он будет отставать, и никакой параллелизм не спасет.
www.doctrine-project.org/projects/doctrine-orm/en/2.7/reference/dql-doctrine-query-language.html#new-operator-syntax