Size: a a a

Обсуждения техдирские

2019 November 07

DS

Dmitry Simonov in Обсуждения техдирские
Ведёт пока parent_id. Я однажды видел, как в такое дерево запихнули всю иерархию производства автомобилей. И выборки из серии "Производитель такой-то, год такой-то, модификация автомобиля такая-то" были очень интересными с точки зрения обращения к бд :)
источник

АС

Алёша Спокойник in Обсуждения техдирские
Зачем производителей и года хранить в дереве?
источник

DS

Dmitry Simonov in Обсуждения техдирские
Алёша Спокойник
Зачем производителей и года хранить в дереве?
С точки зрения ребят, которые это запилили, очень удобно работать с единой иерархией!
источник

S

Sergey in Обсуждения техдирские
Сергей Будников
максимализм. Если хочется посамоутверждаться и нет задачи найти спеца, то сколько угодно. А если челу нужно просто подтянуть конкретную специфику закручивания гаек на 12.3 с левосторонней резьбой, при наличии опыта ремонта техники, то отказывать ему глупо.
А потом приходит Хрыч (нет) и разгребает за ними индексы.
источник

ЯЛ

Ярослав Луговик in Обсуждения техдирские
Sergey
А потом приходит Хрыч (нет) и разгребает за ними индексы.
звучик как ругательство, Я твои индексы разгребал :)
источник

IM

Ivan Mashintsev in Обсуждения техдирские
для каких-то случаем можно и parent id и nested sets сразу применить. Если это очень нужно для бизнес задачи
источник

D

Dmitry in Обсуждения техдирские
В моей практике в одной АБСке использовались все три метода - и parent_id, и nested sets, и materialized paths
источник

D

Dmitry in Обсуждения техдирские
(на одном дереве)
источник

IM

Ivan Mashintsev in Обсуждения техдирские
Именно использовались? Или кочевали при миграции модели?
источник

D

Dmitry in Обсуждения техдирские
именно использовались
источник

D

Dmitry in Обсуждения техдирские
от запроса к запросу
источник

I

Ivan in Обсуждения техдирские
Dmitry Simonov
Сегодня был true сипипишник умеющий работать с микроконтроллерами, но опять же знаний sql
Так там и нет этих sql
источник

VK

Viacheslav Kaloshin in Обсуждения техдирские
Dmitry Simonov
Удивительно, но очень много кандидатов на позицию разработчика не могу составить sql-запрос на две таблицы с использованием left join. Причём первой проблемой оказывается сама агрегирующая функция (кандидаты уверенно себя чувствуют только, если сами нагуглят функцию count), а про left join и слыхом не слыхивали.

Причём кандидаты приходят с опытом в несколько лет работы во вполне себе системах.

SQL стал немодным? Его учить - теперь моветон?
Потому что все нынче системы требуют быстроты и еще раз быстроты. За любое условие кроме where бьют ногами и руками.
источник

СБ

Сергей Будников in Обсуждения техдирские
Dmitry Simonov
Ведёт пока parent_id. Я однажды видел, как в такое дерево запихнули всю иерархию производства автомобилей. И выборки из серии "Производитель такой-то, год такой-то, модификация автомобиля такая-то" были очень интересными с точки зрения обращения к бд :)
кэш на триггер повесить и по мере его генерации вводить в работу вместо предыдущего. Если данные действительно по авто, т.е. редко меняющиеся, это может совсем снять нагрузку с базы от постоянных распутываний деревьев. Сейчас везде кэши 🙂
источник

СБ

Сергей Будников in Обсуждения техдирские
А если работаем с окаменелостями, то спрятать реальную структуру под вьюхой. Технический долг, конечно, но не всегда это зло.
источник

PD

Phil Delgyado in Обсуждения техдирские
Сергей Будников
кэш на триггер повесить и по мере его генерации вводить в работу вместо предыдущего. Если данные действительно по авто, т.е. редко меняющиеся, это может совсем снять нагрузку с базы от постоянных распутываний деревьев. Сейчас везде кэши 🙂
БД по запчастям нужно в специализированную БД упаковывать, там слишком специфические запросы. Проще все в память грузить и там эффективно искать.
источник

PD

Phil Delgyado in Обсуждения техдирские
Dmitry Simonov
Удивительно, но очень много кандидатов на позицию разработчика не могу составить sql-запрос на две таблицы с использованием left join. Причём первой проблемой оказывается сама агрегирующая функция (кандидаты уверенно себя чувствуют только, если сами нагуглят функцию count), а про left join и слыхом не слыхивали.

Причём кандидаты приходят с опытом в несколько лет работы во вполне себе системах.

SQL стал немодным? Его учить - теперь моветон?
Я собирал (и не раз) команду, где знание SQL на начальном уровне (т.е. без аналитических функций и глубокого понимания транзакций) было базовым требованием. Но это финтех на java, да и мои миддлы зачастую были покруче сеньоров в абстрактном люксофте ( чем я их удерживал - отдельный вопрос).
Но искал долго и мучительно.
источник

PD

Phil Delgyado in Обсуждения техдирские
При этом собечедовал кучу сеньоров/техлидов из разных мелких платёжек - и почти всюду деньги клиента гарантированно терялись при небольшой нагрузке из-за непонимания работы транзакций в SQL.
источник

VK

Valentine K in Обсуждения техдирские
В опросе про деревья нет варианта - closure table.
Хороший вариант как по скорости доступа к данным, причём разной глубины. Также изменение дерева происходит крайне быстро.
Дополнительная таблица под хранение, но зато очень гибко.
Этот подход предложил Бил Карвин вроде, один из разработчиков MySQL.
Жаль его презентация на Slideshare не открывается сейчас.
источник

KR

Konstantin Rekunov in Обсуждения техдирские
Варианта микса не было
источник