TGViewer
There will be no singularity There will be no singularity @nosingularity · 1.95K subscribers
Post #410 270
​Разговаривал недавно с одним товарищем. Он сейчас отвечает за обработку платежей в одном стартапе.
Стартапу 5 лет, несколько миллионов долларов инвестиций, много платящих клиентов.

Он готовил внутренний доклад на тему "зачем нужна нормализация базы данных".

В процессе разговора выяснилось, что данные у них не нормализованы.
У них нет никаких констрейнтов (внешних ключей, чеков), и главное - ни одного индекса.
И поэтому главная причина против нормализации была - джойны, сука, тормозят.

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

С базой работают несколько разработчиков, ни DBA, ни архитектора DB у них нет.

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

CEO и CTO из известных на рынке компаний.
50 сотрудников.

Возможно, даже ваша компания пользуется их сервисом :)

Если вас тоже заботит вопрос нормализации, то вот тут неплохо расписано в каких случаях можно себе позволить денормализовать данные:
https://m.habr.com/ru/company/sportmaster_lab/blog/497550/

Но запомните одно - если вы работаете с деньгами, то используйте нормализацию и настраивайте констрейнты.
И ладно, если вам не жалко своих пользователей и вы не боитесь потерять денег, счаржив их дважды или наоборот ни разу.
Но скорее всего все отчеты, которые делают ваши аналитики, содержат ошибки.

И бизнес принимает решения основываясь на невалидных данных.


Хотелось бы отдельно поднять вопрос "может ли стартап быть оправданием плохой инженерной культуры".
Но это длинный разговор, и мы к нему когда-нибудь вернемся :)

PS: если у вас есть проблемы с архитектурой базы, напишите мне в личку @antonrevyako и я постараюсь вам помочь бесплатно.
Чтоб не пришлось ставить 70-ядерный сервер под базу данных (привет, igooods :) )

Больше пользы от меня будет, если у вас Postgresql.
Но учтите, если весь ваш код на ORM (RoR, Django, Laravel, Hibernate и тд), то боюсь, что с архитектурой вам уже не поможет никто :)

Максимум, что можно будет сделать - написать отдельные запросы, которые вы потом сами будете интегрировать.
More from @nosingularity
  1. Sep 19, 2026fixupx.com/KaiLentit/status/2100629518784328013/video/1
  2. Sep 18, 2026fixupx.com/iam_zachi/status/2100679300756435135
  3. Aug 30, 2026photo post
  4. Aug 25, 2026fixupx.com/meganreyno/status/2091918430374957416
  5. Aug 3, 2026Вышла новость, что Andy Pavlo приняли на борт Clickhouse Inc. Энди довольно известная фигу…
  6. Jul 23, 2026fixupx.com/unclebobmartin/status/2080257779395154409
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 →