Size: a a a

2020 August 01

VS

Vlad Sobenko in PHP
Sergey Milimko
Можно ещё по другому сказать. Использование орм для маппинга накладывает ограничения или на структуру агрегатов или на структуру база. На простых сущностях это не сказывается. А вот на слодных очень сильно. Придется идти на компромисы, которые в данном случе можно избежать не использовав просто орм.
Когда ты хочешь писать и читать тоже самое то да. Но так лучше не делать. Лучше наделать маленьких агрегатов для записи. А на чтение использовать оптимальные запросы.
источник

VS

Vlad Sobenko in PHP
Sergey Milimko
Нельзя. Кто вообще сказал что база реляционная должна быть. Да и в реляционных базах есть свои фишки. Не думаю что таже доктрин пощволяет сделать вообще какой угодно маппинг.
Начинай писать процедуры для бд для всех операций. Или ты уже?
источник

DE

Dmitry Eliseev in PHP
Sergey Milimko
Нельзя. Кто вообще сказал что база реляционная должна быть. Да и в реляционных базах есть свои фишки. Не думаю что таже доктрин пощволяет сделать вообще какой угодно маппинг.
Почему нельзя? Мама не разрешает?
источник

SM

Sergey Milimko in PHP
Dmitry Eliseev
Если сложные сущности не использовать, то и проблем не будет
Сущности могут быть простыми, а хранение сложное
источник

SM

Sergey Milimko in PHP
Может ли орм например замапить несколько записей в базе на одну сущность?
источник

DE

Dmitry Eliseev in PHP
Sergey Milimko
Сущности могут быть простыми, а хранение сложное
С какой целью хранение должно быть сложным?
источник

SM

Sergey Milimko in PHP
Я доктрин не очень помню
источник

SM

Sergey Milimko in PHP
С целью оптимального извлечения или хранения данных
источник

DE

Dmitry Eliseev in PHP
Sergey Milimko
С целью оптимального извлечения или хранения данных
Оптимальное хранение и извлечение в доменной модели спокойно и в один-в-один получается.
источник

VS

Vlad Sobenko in PHP
Sergey Milimko
С целью оптимального извлечения или хранения данных
Эффективнее читать из какого нибудь кэша. Чем с sql.
источник

DE

Dmitry Eliseev in PHP
Sergey Milimko
С целью оптимального извлечения или хранения данных
А извлекать оптимальнее готовые деревья из того же ElasticSearch за микросекунду одним запросом.
источник

SM

Sergey Milimko in PHP
Кэш же на то и кэш что протухает. Придётся потом из базы доставать всё равно.
источник

VS

Vlad Sobenko in PHP
Sergey Milimko
Кэш же на то и кэш что протухает. Придётся потом из базы доставать всё равно.
Короче такой подход существует, через тесную работу с бд и на запись. Но это не по мне.
источник

SM

Sergey Milimko in PHP
Dmitry Eliseev
Оптимальное хранение и извлечение в доменной модели спокойно и в один-в-один получается.
Под оптимальным хранением данных я имею в виду то, что нам удобно потом строить вмякие хитрые запросы к базе для извлечения данных имеющих и не имеющих отношения к разным сущностям. Мы же не обязаны подгонять структуру бд под возмодности конкретной орм
источник

DE

Dmitry Eliseev in PHP
Sergey Milimko
Кэш же на то и кэш что протухает. Придётся потом из базы доставать всё равно.
Если кэш синхронизировать событиями, то не протухает и в БД ходить не нужно.
источник

SM

Sergey Milimko in PHP
Vlad Sobenko
Короче такой подход существует, через тесную работу с бд и на запись. Но это не по мне.
Т.е. у вас данные исключительнл в кеше хранятся?
источник

VS

Vlad Sobenko in PHP
Sergey Milimko
Т.е. у вас данные исключительнл в кеше хранятся?
Не у нас Рид голыми запросами. Write через доктрину.
источник

VS

Vlad Sobenko in PHP
Но есть места где кеш на событиях.
источник

SM

Sergey Milimko in PHP
Dmitry Eliseev
Если кэш синхронизировать событиями, то не протухает и в БД ходить не нужно.
Это как? Вот создали сущность, записали в базу и в кэш на час. Через час кэш протух. Ещё через 5 минут пришёл запрос на восстановление состояния сущности.
источник

DE

Dmitry Eliseev in PHP
Sergey Milimko
Под оптимальным хранением данных я имею в виду то, что нам удобно потом строить вмякие хитрые запросы к базе для извлечения данных имеющих и не имеющих отношения к разным сущностям. Мы же не обязаны подгонять структуру бд под возмодности конкретной орм
Значит вместо подгонки БД под сущности в коде вы подгоняете БД под запросы с фронтенда
источник