TGViewer
Анализ, коты, цветы и Катя Анализ, коты, цветы и Катя @analyticagain · 498 subscribers
Post #414 393
☠️Однажды мне пришлось проектировать и разрабатывать... Могильные камни.☠️

И нет, я не подрабатывала проектировщиком в похоронном бюро. Хотя...

В своей практике я сталкивалась с двумя видами «могильных камней». В обоих случаях дело касалось данных.

1️⃣ В первом случае, нужно было не удалять данные физически полностью, а сохранить возможность их восстановления. При этом данные должны были стать недоступны в системе для пользователей и не восстанавливаться при следующей репликации. Стандартных механизмов в нашей БД не было. С одной стороны, задача оказалась не слишком сложной, всё было решено с помощью «перемещения» данных в специальную область на заданное время. Но с другой, это начинало влиять на репликацию, особенно если пользователи каким-то образом добирались в эту особую область и начинали использовать её как корзину.

2️⃣ Во втором случае, уже в некоторых БД, преимущественно NoSQL, подобная фишка была встроена либо в саму БД, либо через плагины. Там данные действительно удалялись физически, но на узле сохранялась специальная метка о том, что данные были удалены. Уcловно key:{Ключ данных} deleted_at: <timestamp> Это помогало предотвратить их восстановление при репликации и сохраняло целостность системы.

К несчастью, я узнала о могильных камнях не в начале пути, а когда успела реализовать несколько решений, связанных с удалением. Жила себе в счастливом неведении, почему удаление одна из самых сложных CRUD операций. А потом столкнулась со вторым кейсом. Пользователи не могли удалить данные: на одной реплике данные удалялясь, но один из серверов игнорировал метки об удалении и восстанавливал их при репликации. В результате получалась прекрасная картина: данные есть, метка об их удалении тоже есть. Особое веселье начиналось при массовых операциях удаления. Всё это, конечно, привело к рассогласованию узлов и понижению моей самооценки🙈😂

С тех пор «могильные камни» в работе напоминание, что прошлое может внезапно вернуться…
Если не похоронено правильно.

А с какой "чернухой" приходилось столкнуться в работе вам?

#системныйанализ #базыданных #удалениеданных #репликация #itюмор
  • 😁 11
  • ❤ 2
  • 👍 2
More from @analyticagain
  1. Sep 24, 2026Посмотрите, какую картинку подготовил Андрей к занятию по OpenSpec. Милота неимоверная) Со…
  2. Sep 23, 2026Когда я вырасту создам свой брокер сообщений и назову его Упоротый кот. Причина инцидента?…
  3. Sep 22, 2026Без лишних слов: ко мне в команду ищут аналитика. Вакансия
  4. Sep 21, 2026OpenSpec: Понеслось От блога есть несомненный плюс он расширяет границы. Так, с подачи ком…
  5. Sep 18, 2026Обе стороны менторства Сегодня специально встала пораньше, чтобы подать заявку на программ…
  6. Aug 18, 2026Верните рутину Последнее время периодически ловлю уныние от работы: Много сложных, трудоём…
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 →