Большая система таблиц с циклическими зависимостями и внутренней рекурсией, конфликты записи и долгие зависания при открытии, скролле, вводе данных.
Масштаб работы:
- более 150 файлов взаимосвязанных таблиц в Google Workspace.
- тяжелые таблицы 50 000+ строк и сотни тысяч формул в ячейках
- более 100 пользователей с различными ролями и уровнями доступа
Что сделано:
+ Исследовал и построил топологию связей и схемы передачи данных
+ Перестроил архитектуру данных, показал схему эволюции рефакторинга,
+ Спроектировал и реализовал автоматизированный ETL-pipeline на базе скриптов GAS:
* Разделил потоки данных по правилу одного направления
* Разделил таблицы на рабочие, архивные и отчетные, создал функциональные и статичные таблицы, с изоляцией актуальных сырых данных от статичных архивных и процессов обработки для отчетов.
* Создал централизованную библиотеку скриптов для обновления и синхронизации данных.
* Внедрил режимы плановых и ручных обновлений с оркестрацией нескольких стадий обновления, блокировками параллельных запусков и состояний "гонки", контролем состояния задач.
* Применил гибридные модели формул-по-таймеру + скрипты: IMPORTRANGE + snapshot / data freeze
Результат:
+ Огромные тяжелые таблицы стали органичной работоспособной системой, с обновлением, обработкой и агрегацией данных в фоновых, бесшовных или малозаметных процедурах, устранил зависания и ошибки.
Пример: обработка совокупного массива данных для отчетов (около 2 млн ячеек из 3х основных вводных таблиц) сократилось на порядок, до 1.0 -1.5 минут.
+ Вся работа по изменению структуры произведена в "горячем режиме" без остановки рабочих процессов и переноса пользователей в другие файлы, без потерь прав доступа и привычных
отработанных инструментов.