惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
P
Palo Alto Networks Blog
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cisco Talos Blog
Cisco Talos Blog
L
Lohrmann on Cybersecurity
AWS News Blog
AWS News Blog
J
Java Code Geeks
博客园_首页
Scott Helme
Scott Helme
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Security Latest
Security Latest
V
Visual Studio Blog
Cloudbric
Cloudbric
Jina AI
Jina AI
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
A
Arctic Wolf
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
The Last Watchdog
The Last Watchdog
SecWiki News
SecWiki News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
W
WeLiveSecurity
K
Kaspersky official blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hacker News: Ask HN
Hacker News: Ask HN
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
量子位
Google Online Security Blog
Google Online Security Blog
博客园 - Franky
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 三生石上(FineUI控件)
Recent Commits to openclaw:main
Recent Commits to openclaw:main

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром T-TOPS: Как распутать гордиев узел проекта после выхода в прод (меч не понадобится) Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Адаптивное администрирование Sigla Vision
2026-04-16 · via Все публикации подряд на Хабре

Меня зовут Сергей Усов. В Газпромбанке я в составе небольшой команды занимаюсь развитием и сопровождением корпоративной BI-системы на базе решения Sigla Vision — российской корпоративной BI-платформы.

Мы хотим поделиться практическими наработками с сообществом пользователей Sigla Vision — сделать работу с системой удобнее и облегчить жизнь администраторам. При этом часть наших подходов может пригодиться и тем ИТ-специалистам (разработчикам, дата-инженерам, аналитикам), которые сопровождают работу технических систем, имеющих в своем составе БД с репозиториями метаданных. Описанные решения являются общеинженерными и могут быть применены не только к корпоративным аналитическим системам.

Это первая статья из цикла, посвященного нашему опыту администрирования Sigla Vision.

Идея и цели цикла статей

Администрирование Sigla Vision в целом похоже на администрирование любой другой BI-системы — со своими особенностями. Штатное администрирование во многом обеспечивается встроенными инструментами «из коробки». Но для нетиповых задач по сопровождению часто приходится создавать кастомные решения — чтобы получать нужную информацию проще и быстрее. Этот процесс адаптации системы к более удобному администрированию и дал название статье.

Мы убеждены: открыто поделиться наработками полезнее, чем держать их только внутри команды. Да, мы потратили немало сил на создание и отладку решения. Но взамен рассчитываем получить конкретные вещи:

от пользователей Sigla Vision, которые возьмут наши разработки себе:

  • результаты тестирования в других условиях (другие версии ПО, другие сценарии использования) — чтобы найти ошибки, которые мы не заметили у себя;

  • идеи по оптимизации и улучшению кода;

  • предложения по расширению функционала для объектов, с которыми мы пока не работали;

от вендоров Sigla Vision:

  • чтобы наша разработка стала практическим примером того, что реально нужно при администрировании BI-системы в крупной компании, и чтобы даже вендор рассмотрел возможность включить подобный функционал — частично или полностью — в базовую поставку.

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

Личный опыт и первые версии наработок

С системой FineBI я впервые столкнулся в мае 2023 года: тогда это была версия FineBI 5, а я работал в другой компании — сначала как разработчик, потом как администратор.

Подробнее про тот этап — выбор BI-системы на замену Tableau, миграцию отчетности и первые наработки по объектной модели FineBI — можно прочитать в этой статье.

Тогда мы проделали большой путь по изучению устройства FineDB и LogDB: разобрали основные сущности системы, установили связи между объектами, разработали прикладные отчеты о работе системы.

В конце 2024 года я перешел в Газпромбанк и продолжил развивать наработки по объектной модели — уже на базе Sigla Vision 1.0.20 (в составе Sigla Vision используются исходные коды решения FineBI).

Я также активный участник групп SiglaVisionChat и FineBIChat в Telegram — там можно найти часть моих изысканий по извлечению метаданных из FineDB.

Этот опыт и лег в основу того, о чем пойдет речь дальше.

Почему недостаточно функционала администрирования «из коробки»

Ограничения интерфейса и API

Когда мы говорим об использовании BI-решения, есть три ключевых составляющих:

  1. Пользователь  — как субъект всего процесса работы с BI.

  2. Дашборд  — как инструмент взаимодействия с данными.

  3. Датасет — данные для работы дашбордов.

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

Базовая схема взаимодействия пользователя BI-системы с контентом

Базовая схема взаимодействия пользователя BI-системы с контентом

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

Если бы у администратора «из коробки» была вся необходимая информация о состоянии Sigla Vision, вопрос кастомных доработок вообще бы не возник.

Однако данных в интерфейсе (UI) обо всех объектах системы часто не хватает, или они не собраны в одном месте. В UI информация о системе фрагментирована по разделам, и автоматически собрать все нужное через интерфейс нельзя.

В Sigla Vision есть методы API, которые позволяют получить информацию о дашбордах, коллекции или датасетах. Но даже когда подходящий метод существует, данные приходят не в самом удобном виде (данных со свойствами объектов может быть меньше, чем фактически содержится в других источниках, например в БД системы FineDB, — их приходится дополнительно преобразовывать с помощью дополнительного ПО или плагинов).

Ключевые сущности и метрики, скрытые от администратора

Чтобы понимать состояние системы и особенности ее работы, важно как минимум знать:

  • количество основных сущностей: опубликованные дашборды, их компоненты, источники, подключения, обновления, рассылки;

  • распределение во времени и динамику изменений этих сущностей, а также связанных процессов — просмотры контента, его редактирование, экспорт отчетов, загрузки данных при обновлениях.

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

Еще одна причина: статистику по просмотрам контента запрашивают и бизнес-подразделения.

Отсутствие данных об изменениях

В FineDB, как правило, хранится только последнее (актуальное) состояние объектов. Для полноценного сопровождения системы этого мало, потому что регулярно нужно:

  • получать данные о состоянии системы на определенный момент в прошлом;

  • понимать, сколько изменений выполнили пользователи за период.

Теоретически часть этой информации можно вытащить из LogDB, но это сложно и далеко не все нужное там есть.

Предлагаемое решение

Мы предлагаем подход к администрированию Sigla Vision, который позволяет получать гораздо больше информации о различных объектах системы — с учетом их взаимосвязей и истории изменений.

Объектная модель системы

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

Для дальнейшего изложения приведем сопоставление некоторых терминов в Sigla Vision (русский) и FineBI (английский). В таблице не отражены случаи однозначного соответствия (например, «Пользователи» и «Users»).

Sigla Vision

FineBI

Коллекция

Directory

Песочница

My Analysis

Источники

Public Data

Рабочая книга

Analysis Subject

Читать схему проще в обратном порядке — от источников данных к блокам «Пользователь» и «Разработчик», которые работают с дашбордами.

Структурная схема объектной модели

Структурная схема объектной модели

Перечислим основные функциональные особенности Sigla Vision, которые влияют на построение объектной модели:

  1. Бизнес-пользователи (Viewers) в основном просматривают готовые отчеты — назовем это «Дашборд как публикация». Дополнительный сценарий — получение файлов рассылок («Дашборд как рассылка»).

  2. Разработчики (Designers) создают дашборды Sigla Vision и отчеты FineReport, публикуя их в «Коллекции». Их взаимодействие с контентом — «Дашборд как шаблон» в «Песочнице» разработчика.

  3. У каждого разработчика своя область «Песочницы». В ней он работает с «Рабочей книгой», которая содержит шаблоны дашбордов, компоненты, датасеты уровня рабочей книги (SSDS), вычисляемые меры (измерения и индикаторы) и параметры.

  4. Датасеты можно объединять с другими датасетами. При этом растет число зависимых датасетов и усложняется иерархия связей.

  5. В разделах «Коллекция», «Песочница», «Источники» есть своя иерархия каталогов и размещенных в них объектов.

  6. Действует ролевая система разграничения прав, в том числе через роли с учетом иерархий объектов.

  7. Для датасетов можно настроить различные обновления.

  8. Для дашбордов можно настроить различные рассылки.

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

  10. Отчеты FineReport не имеют подробного описания контента в FineDB, но могут использовать подключения Sigla Vision для получения данных. Они интегрируются в «Коллекцию».

  11. В системе активно используются группы различных сущностей — дашбордов, компонентов, датасетов, подключений и т. д.

  12. Объекты бывают самостоятельными сущностями (дашборд, датасет с набором индивидуальных свойств) и составными, объединяющими другие сущности по признакам. Например: «Коллекция» (совокупность точек публикации дашбордов на портале с иерархией), «Корзина» (место удаленных объектов) или «Песочница» разработчика (совокупность его «Рабочих книг»).

Функциональная модель Sigla Vision с ее сущностями и объектами устроена достаточно сложно. В следующих статьях мы приведем понятные примеры использования данных объектной модели в разных сценариях сопровождения.

Сущности, включенные в объектную модель:

  1. пользователи,

  2. роли,

  3. разрешения на объекты,

  4. рабочие книги,

  5. дашборды,

  6. компоненты дашбордов,

  7. датасеты,

  8. подключения,

  9. связи дашбордов, компонентов, датасетов, подключений,

  10. расписания обновлений,

  11. расписания рассылок,

  12. логи рассылок,

  13. логи обновлений,

  14. логи действий в системе,

  15. пространства «Коллекция», «Песочница», «Источники», «Корзина».

Версионирование таблиц FineDB

Чтобы решить проблему с отсутствием истории изменений, мы используем функциональные триггеры в FineDB. Для всех ключевых таблиц настраиваются триггеры, которые при изменении данных копируют состояние записи в отдельные таблице. Так на любой момент времени можно точно восстановить состояние состояние исходной таблицы по записям из таблицы изменений.

Дополнительный функционал

Извлечение данных из нужных таблиц FineDB — простое и эффективное решение, которое минимально влияет на штатный функционал Sigla Vision. Все происходит в пределах одного сервера БД: для работы с дополнительными данными мы создали удобные витрины, обновляемые через одноименные расчетные функции.

На базе этих таблиц и представлений мы также сделали ряд «системных дашбордов» — и для прикладных администраторов, и для некоторых пользовательских ролей.

Для отдельных задач мы дополнительно задействовали триггеры, которые позволяют влиять на пользовательский интерфейс — например, добавлять проверки вводимых значений или запрещать определенные действия.

Практическая ценность и применение

Чтобы показать реальную пользу объектной модели, рассмотрим два типичных примера.

Пример № 1. Выявление причин повышенной нагрузки на сервер

Утилизация процессора подскочила с 30% до 80% в определенные часы. Нужно понять, почему.

Обычный ход анализа примерно такой:

  1. Это вызвано Sigla Vision или другим софтом?

  2. Штатная работа ПО или сбой?

  3. Если штатная — что изменялось в последнее время?

  4. Ищем по логам контент, который повлиял на производительность.

  5. Анализируем сценарий взаимодействия с контентом.

  6. Проверяем гипотезы и устраняем проблемы.

Это рабочий вариант — найти по логам проблемные места и разобраться постфактум.

Но есть и другой путь — более оперативный и даже превентивный. Если отслеживать важные метрики и группы объектов, можно сравнивать их между собой и искать аномалии. Можно получить усредненную статистику работы системы по группам объектов.

Обнаружить причину аномальной работы гораздо проще, когда вы заранее понимаете закономерности и знаете, как система функционирует на уровне объектов.

В нашем случае мы выявили ситуацию: общее число дашбордов за наблюдаемый период выросло всего на 5%, но в новых отчетах количество компонентов оказалось на 50% выше среднестатистического. Именно это и вызвало скачок утилизации процессора. Дополнительно обнаружились частые обращения разных пользователей к этому контенту с многократным использованием DEF-функций. Так мы быстро нашли причины роста потребления ресурсов.

Без автоматизированного учета сущностей разобраться «в моменте» невозможно: непонятно, связаны ли проблемы с количественными изменениями (усложнение вычислений, одновременный доступ больших групп пользователей) или это качественные проблемы, которые нужно решать на уровне оптимизации — силами администраторов или представителей вендора.

Пример № 2. Планирование бюджета на сопровождение BI-системы

При планировании бюджета на следующий год нужно спрогнозировать рост нагрузки. Для этого необходимо точно знать текущее состояние системы и динамику основных метрик:

  1. Как росло количество дашбордов?

  2. Как часто пользователи с ними работают?

  3. Какие подразделения потребляют основную долю вычислительных мощностей?

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

С готовой объектной моделью аналитика для прогнозирования занимает значительно меньше времени и дает более точный результат.

Без нее прогнозирование может стать серьезной проблемой. Все ли данные валидны? Что было вчера, месяц назад, год назад? Отследить динамику объектов через UI невозможно — мониторинг количественных показателей показывает только текущее состояние. Автоматических контрольных срезов на определенные даты в системе нет. Если данные не были зафиксированы ранее, сравнивать текущее состояние просто не с чем. И качество прогнозов страдает.

Вместо заключения

Средствами PostgreSQL мы превратили разрозненные данные из FineDB и LogDB в цельную объектную модель Sigla Vision. Теперь администратор видит не отдельные фрагменты информации, разбросанные по интерфейсам, а единую связную картину: каждый объект — дашборд, компонент, датасет, подключение — со всеми свойствами и взаимосвязями в формате «одна строка — один объект». Плюс полная история изменений.

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

  • Объектная модель данных Sigla Vision — устройство модели и примеры ее применения для администрирования.

  • Версионирование данных в FineDB — реализация триггеров, которые сохраняют историю изменений и позволяют отразить состояние системы на любую дату.

  • Системные дашборды — мониторинг системы, процессов, анализ нагрузки, контроль действий пользователей.

  • Контроль и проверки на уровне БД — как с помощью триггеров внедрять дополнительные правила прямо в интерфейс системы: от валидации данных до ограничения операций.

  • Аллокация ресурсов и расчет стоимости владения — методика распределения затрат на сопровождение работы системы между подразделениями на основе данных о просмотрах и использовании дашбордов.

Мы не профессиональные разработчики, поэтому SQL-код (для PostgreSQL) публикуем AS IS — как рабочий прототип, открытый для улучшений. Главная ценность наших наработок — не в идеально выверенных скриптах, а в принципах и подходах, которые можно внедрить уже сейчас и доработать под свою специфику.

Все материалы — схемы, описания сущностей, примеры запросов и готовый код — будут сопровождать каждую статью и доступны в репозитории. Уже сейчас там можно найти актуальную схему объектной модели в формате drawio.

Этот цикл статей — приглашение к диалогу. Мы делимся опытом, чтобы вместе с сообществом сделать процесс администрирования Sigla Vision / FineBI более прозрачным и удобным.