Nik
то есть при енуме - альтер на добавление каждого флага, при компресед поле - 1 альтер на добавление новых 63-64 флагов
а мускуль например умеет условия по битовым маскам? я теперь понял что имеется ввиду набор из 64 параллельных потенциальных флагов, но имхо не встречал такого решения еще не разу
Anton
но мы мускль для этого не используем, это флаги чисто информационные
Anton
ну там у пользователя набор флагов всякий, настройки может быть, ну кароче по тому что не надо фильтровать в mysql
Anton
А только там хранить и получать
Anton
Но в принципе и запросы сделать можно :)
Nik
так а если выборка/фильтреринг нужен по этим данным? я так понимаю оптимизаций под капотом никаких не будет и будет чистый перебор всего и вся?
Anton
так а если выборка/фильтреринг нужен по этим данным? я так понимаю оптимизаций под капотом никаких не будет и будет чистый перебор всего и вся?
Если нужен фильтеринг по этим данным, то это решение не подходит (ну мы же говорим по постоянную выборку/фильтеринг, а не раз в год по этим данным достать - если раз год, то и фулскан ок)
Nik
Я понял, это просто частный случай нормализации бд
Anton
Я бы даже сказал что это просто частный случай реализации хранения флагов
Anton
а не нормализации БД - тут никакой нормализации нет :)
Nik
Ну почему же, вместо хранения условной table_attributes с column_id, value
Anton
Это тоже реализация :)
Anton
Хотя пофигу
Anton
Кстати, у нас и второй метод хранения тоже реализован
Anton
так сказать оба два на проекте есть
Nik
А кто нибудь graphQL реализовывал поверх ларки?
Dmitry
Nik
Да, смотрю. Интересует практический опыт :)
Игорь
Привет. Я чёт туплю. Как хелпер в ларке называется. Который берет из ассоциативного масива по такому типу. $arr = [ 'a' => [ 'b' => [ 'c' => 'a' ] ] ] method($arr, 'a.b.c')
Alexander
Создал Request, прописал в него правила валидации, и когда запрос не проходит её - то вместо ошибки рендерится welcome.blade.php
Alexander
Что может быть? Всю голову сломал уже...
Oleh
вроде как можно нагулилть через EAV и SKU
Как я почитал, более целесообразно использовать flat table или вообще переехать на Mongo, может у вас есть какое-то мнение или опыт по этому поводу?
Dmitry
Как я почитал, более целесообразно использовать flat table или вообще переехать на Mongo, может у вас есть какое-то мнение или опыт по этому поводу?
то что ты делаешь товар а у него модификации, это путь в никуда. я так делал недавно не проекте, получилость просто жесть. Запросы были в экран
Dmitry
Как я почитал, более целесообразно использовать flat table или вообще переехать на Mongo, может у вас есть какое-то мнение или опыт по этому поводу?
создавай продукт, но продукт именно как модификация. т.е. товар Iphone 6 32 золотой. У него есть параметры, из общего набора, описание, тоже может быть из общего набора
Dmitry
но не так что Iphone -> 6 -> 32 памяти -> золотой
Oleh
монга вроде как там заходит, но я с ней опыта не имел (
Та я вот тоже как раз думаю, целесообразно ли учить/смотреть в сторону монги и читать по ней что-то или флетом делать
Dmitry
хотя под это дело наверное эластик можешь подключить
Nik
нужна, для других задач
единственный сценарий из своей практики - это пихать тонны неагрегированной неполной лапши, что-бы потом как-то ее нормализировать. но это же можно сделать и без монги
invariance
Монга очень много где используется оправданно
Dmitry
то что это единственный сценарий из твоей практики, не означает, что это единственный сценарий в принципе)
мне кажется более менее сложные выборки там делать сложно, + как избежать дублирования данных?
Nik
вот 2 хороших профита монги. но и это лечится :)
invariance
Дублирование везде есть
invariance
это фичи дополнительные
Dmitry
Какого именно дублирования?
в реляционных базах от него можно избавится нормализацией
Nik
да это не профит вовсе
тогда можно свою версию профита? я как ни крутил к своим проектам, профита не нашел
SiZE
пример?
скорость выборки
SiZE
когда тебе надо джойнить несколько таблиц
invariance
пример?
Не всегда нормализация нужна, как и исключение дублирования
invariance
иногда нормализация - избыточна
Dmitry
скорость выборки
а когда тебе надо что то изменить?
invariance
плодить сущности ради сущностей и абстракции ради абстракций - моветон
Dmitry
иногда нормализация - избыточна
да, но в большенстве случаев она норм работает
SiZE
а когда тебе надо что то изменить?
есть контроль на уровне БД, есть контроль на уровне кода.
invariance
иначе бы не было трехстраничных запросов в куче компаний
invariance
Я больше скажу - чаще можно увидеть денормализацию, нежели нормализацию
Dmitry
есть контроль на уровне БД, есть контроль на уровне кода.
допустим у нас есть товар с цветом синий, у нас этих товаров 15000, а теперь мы хотим цвет синий переименовать в синеватый
invariance
потому что, опять же, нормализация - избыточна зачастую
Dmitry
потому что, опять же, нормализация - избыточна зачастую
т.е. когда ты у юзера пишешь город, ты это не нормализуешь? все в одной таблице?
invariance
т.е. когда ты у юзера пишешь город, ты это не нормализуешь? все в одной таблице?
Это зависит от контекста задачи и кучи других факторов
SiZE
грубо говоря есть профиль profile: id, lastname, firstname а может быть id, lastnameId, firstnameId
Nik
начали за монгу, похоронили rdbms :D
Oleh
Лучше за постгрес почитать. Или джсончики в мускуле. Монганенужна (с)
Немного не понял с постгресом, вроде же тоже реаляционая СУБД или я где-то что-то упускаю?
Nik
Немного не понял с постгресом, вроде же тоже реаляционая СУБД или я где-то что-то упускаю?
она помощнее будет, и встроенные типы массив и джсон решат 75% твоих проблем
invariance
Как по мне, вообще глупо сравнивать реляционки и json-based нереляционки
Nik
так в чем профит вторых над первыми?
Nik
скейлинг - да, скейлить горизонтально реляционки - проблематично. а еще?
Dmitry
Как по мне, вообще глупо сравнивать реляционки и json-based нереляционки
просто как по мне, много минусов и костылей. Большенство схем ложется на реляционныю базу лучше
invariance
просто как по мне, много минусов и костылей. Большенство схем ложется на реляционныю базу лучше
Может и так (хотя я, например, не согласен насчет того, что реляционки - идеальны. Это вовсе не так), но есть кейсы применения и монги тоже 🤷‍♂️
Dmitry
Может и так (хотя я, например, не согласен насчет того, что реляционки - идеальны. Это вовсе не так), но есть кейсы применения и монги тоже 🤷‍♂️
не спорю. но хочется примеров. Все что я читал, начинается хорошо, но чем дельше в лес, тем больше костылей
invariance
Например для поискового движка какого-нибудь, где нужно кучу разных постоянно меняющихся параметров релевантности изменять и т.д.
Nik
да никто же не говорит что они идеальны, у них есть свои недостатки. вопрос - в целесообразности их не использовать