Comments 13
Это прекрааааааасно!
У нас программист базы данных. Создал структуру. А все что в нее не вписывалось, он делал строкой, разделял разные уровни разными видами разделителей и записывал эту мега строку в специальное поле.
Ну... Легаси обыкновенный ) Но текст написан хорошо :D
Куча ошибок перевода.
Water hole это не водопой (который обычно на реке), а колодец. Оно и естественно: чтобы река была грязной, надо было очень постараться, с колодцем это гораздо легче.
У шамана диск в RAID-конфигурации был, все-таки, не на столе, на в стационарном компьютере (desktop).
Код свой Гилфойл не "не проверял" (checked), а "не вносил в систему контроля версий (checked in).
Это я пока только до половины оригинал прочитал.
Добавлю пару историй:
куча почти одинаковых таблиц (30+) в PostgreSQL. Одна триггерная функция для всех этих таблиц, которая выполняет буквально одну строчку:
:new.is_update := 1;
куча почти одинаковых таблиц (30+) но теперь в Oracle DB. Версия СУБД старая и не поддерживает автоинкремент. Стандартным решением является создание вручную последовательностей для каждой таблицы и триггеров для вставки. Так вот история почти один-в-один с SequenceKey из статьи: для всех таблиц используется одна общая последовательность для генерации уникальных значений первичных ключей.
Ещё история из недавнего: огромная поисковая форма с десятками фильтров и сортировок (внутри ещё более монструозный sql-запрос). Каждый запрос к форме выполняется около 10 секунд. Внутренних клиентов это полностью устраивает.
Приходит жалоба, что форма перестала открываться и отваливается по таймауту (10 минут!). Проверяем, этот же запрос на СУБД вся так же стабильно отрабатывает за 10 секунд, но никак не висит более за 10 минут. Причину так и не нашли. Сделали временную таблицу и кнопку "Заполнить значения". После нажатия кнопки данные из sql-запроса копировались во временную таблицу и дальше работа с фильтрами и сортировками шла только с этой временной таблицей. Любые запросы стали выполняться мгновенно!
Даже когда я закончил среднюю школу, я полагал, что мир «профессиональной разработки» выглядит совсем иначе, чем код, который я писал в свободное время
Значит вам удалось попасть лишь в недалекую галеру с такими же маслятами у руля.
Нормальные кодовые базы может быть не всегда соответствуют всем идеалам, вроде соблюдения всех форм нормализации данных в бд или какой-нибудь Чистой Архитектуры, но уж точно лучше того, что вы описали на порядки
«У нас закончились столбцы» — лучшая худшая кодовая база