TGViewer
data будни data будни @data_days · 1.48K subscribers
Post #348 1.13K
🐘 Nimble Elephant — книга про паттерны моделирования данных

в этот раз потребовалось даже меньше двух лет, чтобы прочитать купленную книгу!

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

⌘

понравилась идея про дата паттерны: 50% ваших моделей — можно брать готовые из сборников; 30-40% — надо чуток подкрутить. А вот оставшиеся надо будет готовить с нуля — и вот на это уже уйдёт 80% от всего отведённого времени на проектирование.

автор подробно разобрал паттерн Party/Role на примере базы данных для школы. Есть ученики, учителя и родители. В теории вроде всё несложно. На практике вылазят интересные особенности, когда у ученика количество родителей != 2; или учитель является чьим-то родителем; или у учителя нет классов активных в данный момент, но были раньше.

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

⌘

осторожно! побочные эффекты — во время чтения невольно можно задуматься о том как спроектирована модель данных на текущем проекте. Возможно, что никак

⌘

и прикладной пример про проект, где применение паттернов помогло закончить в срок отстающий проект: автор пришёл на новый проект когда до дедлайна оставалось 8 месяцев, а уже понятно что они не укладываются.

проект готовы передавать в реализацию — начинать писать, собственно, код. Уже есть готовая модель данных, на которую потратили несколько месяцев. Она включает в себя 600 сущностей О_о

удалось убедить заказчиков поменять план: вместо немедленной реализации оставшиеся 8 месяцев поделили пополам. Первую половину времени переделывали модель данных, а вторую — на реализацию и внедрение.

за счёт использования паттернов удалось упростить модель с 600 до 120 сущностей. За оставшиеся 4 месяца команда из трёх синьёров (вдвоe меньше запланированной) реализовала проект по упрощённой модели. Где-то пришлось сущности генерализировать и повысить уровень абстракций, поэтому планка сложности стала выше.

простой пример силы предварительного и тщательного проектирования, а так же демонстрация сил матёрых синьёоров.

⌘

автор неоднократно упоминает, что его книга это как введение в тему паттернов. Он приводит в пример несколько из них и рассказывает несколько историй из своей консалтинговой практики о них, но отсылает как к словарю к книгам других авторов, где можно найти исчерпывающий список всех паттернов

____
несколько книг из того списка:

- The Data Model Resource Book, Vol. 3: Universal Patterns for Data Modeling by Len Silverston (Author)

- Analysis Patterns: Reusable Object Models by Martin Fowler

- Data Model Patterns: Conventions of Thought by David C. Hay

- Building the Agile Database: How to Build a Successful Application Using Agile Without Sacrificing Data Management by Larry Burns
Telegram data будни Data Modeling is Dead! Long Live Data Modeling! https://youtu.be/OCClTPOEe5s увидел у Семёна ссылку на рассылку про моделирование данных от Joe Reis, автора Fundamentals of Data Engineering — книги, которая вроде как пробилась в топы Амазона сразу по нескольким…
  • 🔥 11
  • ❤ 3
  • 👍 3
More from @data_days
  1. Sep 28, 2026🤩 delirious dhh итак, прослушал ~5ч одного небезызвестного программиста с сильными взгляд…
  2. Apr 21, 2026мне кажется последние два интервью отлично смотрятся вместе и дополняют друг друга >_> и о…
  3. Apr 21, 2026🥷 DHH об agent-first подходе DHH — известный ии-скептик и сторонник написания кода вручну…
  4. Apr 19, 2026🦄 руководитель Claude Code об AI в разработке послушал интервью Бориса Чёрного в подкасте…
  5. Feb 5, 2026📁 про культуру ведения тикетов продолжаю рассказывать про внутрянку нашей команды, привле…
  6. Feb 4, 2026🦀 Clawdbot / Moltbot / OpenClaw там похоже намечается очередной качественный скачок аи-ст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →