<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Yuriy Gavrilov: posts tagged Data Governance</title>
<link>https://gavrilov.info/tags/data-governance/</link>
<description>Welcome to my personal place for love, peace and happiness 🤖 Yuiry Gavrilov</description>
<author></author>
<language>en</language>
<generator>Aegea 11.4 (v4171e)</generator>

<itunes:owner>
<itunes:name></itunes:name>
<itunes:email>yvgavrilov@gmail.com</itunes:email>
</itunes:owner>
<itunes:subtitle>Welcome to my personal place for love, peace and happiness 🤖 Yuiry Gavrilov</itunes:subtitle>
<itunes:image href="https://gavrilov.info/pictures/userpic/userpic-square@2x.jpg?1643451008" />
<itunes:explicit>no</itunes:explicit>

<item>
<title>Мир без Kafka: Почему Kafka не подходит для аналитики реального времени, что идет на смену)</title>
<guid isPermaLink="false">318</guid>
<link>https://gavrilov.info/all/mir-bez-kafka-pochemu-kafka-ne-podhodit-dlya-analitiki-realnogo/</link>
<pubDate>Thu, 12 Feb 2026 13:50:00 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/mir-bez-kafka-pochemu-kafka-ne-podhodit-dlya-analitiki-realnogo/</comments>
<description>
&lt;p&gt;Статья описывает переход от традиционных систем обмена сообщениями, таких как Apache Kafka, к специализированным решениям для потоковой аналитики, таким как &lt;b&gt;Apache Fluss&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Основные тезисы:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Проблема Kafka:&lt;/b&gt; Kafka — это система хранения на основе *записей* (record-based), не имеющая нативной поддержки схем и аналитических возможностей. Это приводит к избыточному чтению данных и перегрузке сети при аналитических запросах, когда нужны только конкретные колонки, а не всё сообщение целиком.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Эволюция требований:&lt;/b&gt; Рынок перешел от простого перемещения данных (ingestion) к сложной аналитике реального времени и AI, что требует более эффективного хранения и доступа к данным.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Решение (Apache Fluss):&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;Табличная структура:** Данные хранятся как таблицы (Log Tables для логов и PK Tables для изменяемых данных), что обеспечивает строгую типизацию.&lt;/li&gt;
  &lt;li&gt;Колоночное хранение:** Использование формата Apache Arrow позволяет читать только нужные колонки (projection pushdown) и эффективнее сжимать данные, что снижает нагрузку на диск и сеть.&lt;/li&gt;
  &lt;li&gt;Интеграция с Lakehouse:** Fluss нативно поддерживает многоуровневое хранение (горячие данные в Fluss, теплые/холодные в S3/Iceberg/Paimon) без лишнего копирования, обеспечивая прозрачный доступ к историческим и оперативным данным.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Вывод:&lt;/b&gt; Fluss в связке с Flink предлагает более дешевую, быструю и удобную архитектуру для современной аналитики реального времени, устраняя недостатки Kafka в этой области.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Ссылка на оригинал:&lt;/b&gt;&lt;br /&gt;
&lt;a href="https://www.ververica.com/blog/a-world-without-kafka"&gt;Why Kafka Falls Short for Real-Time Analytics (and What Comes Next&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;У Apache Kafka был замечательный период: она обеспечивала работу событийно-ориентированных архитектур более десяти лет. Но ландшафт изменился, обнажив явные &lt;b&gt;ограничения Kafka для аналитики в реальном времени&lt;/b&gt; по мере того, как сценарии использования современной &lt;b&gt;потоковой аналитики&lt;/b&gt; и принятия решений становятся всё более требовательными. Kafka все чаще пытаются заставить выполнять функции в &lt;b&gt;архитектуре аналитики реального времени&lt;/b&gt;, для поддержки которых она никогда не проектировалась. Чтобы решить сегодняшние проблемы конвейеров потоковой передачи данных и аналитические требования, необходимы новые возможности. Пришло время для «новичка на районе».&lt;/p&gt;
&lt;p&gt;Во время перехода от пакетной обработки к &lt;b&gt;потоковой передаче данных в реальном времени&lt;/b&gt; значительное внимание и импульс получил проект с открытым исходным кодом, разработанный внутри LinkedIn: &lt;b&gt;Apache Kafka&lt;/b&gt;. Цель состояла в том, чтобы упростить перемещение данных из точки А в точку Б масштабируемым и устойчивым способом, используя модель издатель/подписчик. Kafka позволила компаниям создавать ранние &lt;b&gt;конвейеры потоковой передачи данных&lt;/b&gt; и открыть новый класс событийно-ориентированных сценариев использования. Постоянно растущая экосистема коннекторов и интеграций ускорила внедрение и утвердила Kafka в качестве предпочтительного &lt;b&gt;слоя потокового хранения&lt;/b&gt;. Однако, по мере того как &lt;b&gt;архитектуры аналитики реального времени&lt;/b&gt; эволюционировали за пределы простого приема данных (ingestion), ограничения Kafka для аналитических нагрузок становились всё более очевидными.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-233.png" width="1200" height="674" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;С архитектурной точки зрения Kafka — это не аналитический движок. Это устойчивая и масштабируемая &lt;b&gt;система хранения на основе записей (record-based storage system)&lt;/b&gt; для свежих данных в реальном времени — часто называемая «горячим слоем». Следовательно, аналитические нагрузки должны выполняться за пределами кластера Kafka, постоянно перемещая данные между системами хранения и обработки, что увеличивает сетевой трафик и накладные операционные расходы. Кроме того, Kafka нативно не обеспечивает соблюдение схем для данных, публикуемых в топиках.&lt;/p&gt;
&lt;p&gt;Хотя эта гибкость была приемлема для ранних сценариев использования потоковой передачи, современные &lt;b&gt;платформы аналитики реального времени&lt;/b&gt; требуют схем для обеспечения согласованности, управления и качества данных. В качестве компенсации появились реестры схем (Schema Registries) для обеспечения контрактов между издателями и подписчиками, добавляя сложности аналитическим архитектурам на основе Kafka.&lt;/p&gt;
&lt;p&gt;И последнее, но не менее важное (и, возможно, самый важный аспект): Kafka — это система хранения на основе записей. Это хорошо подходит для использования в качестве очереди сообщений, например, для приема данных в реальном времени или событийно-ориентированных архитектур, но имеет значительные ограничения при решении текущих и будущих задач проектов реального времени. Движки обработки, такие как Spark и Flink, должны потреблять все данные топика, даже если требуется только часть данных события (столбцы). Результатом является ненужный сетевой трафик, снижение производительности обработки и чрезмерные требования к хранилищу.&lt;/p&gt;
&lt;p&gt;Компоненты потокового хранения на основе записей по-прежнему будут занимать свое место в архитектуре данных. Такие решения, как Kafka и Pulsar, хорошо подходят для случаев, требующих чтения полных записей. Архитектурные паттерны, основанные на микросервисах, могут использовать вышеуказанные решения для обмена данными, отделяя функции от транспортировки сообщений для повышения производительности, надежности и масштабируемости. Чтение полных записей также полезно для конвейеров приема данных (ingestion pipelines), в которых данные будут храниться в системах долгосрочного хранения, таких как объектное хранилище (Object Storage), для исторических и архивных целей. Узкие места и ограничения возникают, когда они используются для аналитических нагрузок, требующих возможностей, выходящих за рамки простого слоя транспорта данных.&lt;/p&gt;
&lt;h3&gt;Эволюция потоковых данных&lt;/h3&gt;
&lt;p&gt;Сегодняшний разговор движим единственным аспектом: Эволюция. Другими словами, новые потребности требуют новых подходов к управлению данными. Kafka удовлетворила первоначальные потребности в потоковой передаче данных. В этой первой волне в основном доминировали конвейеры приема данных в реальном времени и дискретная (SEP, Simple Event Processing) аналитика. По сути, способность перемещать данные из точки А в точку Б и, в некоторых случаях, выполнять простую подготовку и обработку данных между ними. Kafka, в сочетании со Spark Streaming или специальными коннекторами, справлялась с этими ранними сценариями использования.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-234.png" width="1200" height="674" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Перенесемся вперед: вторая волна привнесла сложность в потоковый конвейер. Помимо дискретной подготовки данных, сценарии использования на этом этапе требовали расширенных аналитических функций, таких как агрегация, обогащение и сложная обработка событий (CEP). Микро-батчинг (micro-batching) оказался недостаточным. Требуется новый архитектурный подход, основанный на колоночном хранении с эффективным проталкиванием проекций (projection pushdown) и прозрачным многоуровневым хранением данных (data tiering), в сочетании с движками обработки с задержкой менее секунды. `Apache Fluss` и `Apache Flink` могут выполнить это обещание и вместе составляют будущее и третью волну по шкале зрелости.&lt;/p&gt;
&lt;p&gt;Каждая техническая статья сегодня упоминает AI/ML. Эта эволюция «третьей волны» позволяет компаниям создавать AI-конвейеры реального времени, которые внедряют передовые аналитические методы (такие как Generative AI) в потоковые данные. Это увеличивает потребность в современных системах хранения данных в реальном времени с расширенными функциями, которые распределяют данные как по быстрым потоковым, так и по историческим слоям, обеспечивая интегрированный, унифицированный доступ к бизнес-данным.&lt;/p&gt;
&lt;h3&gt;Новичок на районе&lt;/h3&gt;
&lt;p&gt;`Apache Fluss` — это современная система хранения потоковых данных в реальном времени для аналитики. Она консолидирует многолетний опыт и уроки, извлеченные из предшественников, отвечая текущим и будущим потребностям организаций. Fluss родился в эпоху, когда для питания моделей машинного обучения требуется больше данных, Лейкхаусы (Lakehouses) являются частью корпоративной экосистемы, а облачная инфраструктура является предпочтительной стратегией для компаний.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/Snimok-ekrana-2026-02-15-v-13.48.31.png" width="696" height="382" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Но хранение данных — это лишь часть архитектурной головоломки. `Apache Flink` предоставляет возможности и устойчивость для обработки огромных объемов данных в реальном времени с задержкой менее секунды, обеспечивая скорость, необходимую для будущих потоковых приложений. Не ограничиваясь Flink, дополнительные движки обработки и библиотеки разрабатывают интеграции с Fluss, тем самым укрепляя экосистему.&lt;/p&gt;
&lt;p&gt;Ниже приведены основные функции современной аналитики реального времени.&lt;/p&gt;
&lt;h4&gt;Поток как таблица (Stream as Table)&lt;/h4&gt;
&lt;p&gt;Fluss хранит данные как схематизированные таблицы. Этот подход подходит для большинства сценариев использования в реальном времени, включая те, которые опираются как на структурированные, так и на полуструктурированные данные. Структурируя потоковые данные, компании могут улучшить управление, повысить качество данных и гарантировать, что издатели и потребители используют общий язык. Fluss определяет два типа таблиц:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log Tables (Лог-таблицы)** работают только на добавление (append-only), аналогично топикам Kafka. Такие сценарии использования, как мониторинг логов, кликстримы (clickstreams), показания датчиков, журналы транзакций и другие, являются хорошими примерами данных только для добавления. События неизменяемы и не должны изменяться или обновляться.&lt;/li&gt;
&lt;li&gt;Primary Key (PK) Tables (Таблицы с первичным ключом)** — это изменяемые таблицы, определенные ключом. Записи сначала вставляются, а затем обновляются или удаляются с течением времени в соответствии с журналом изменений (changelog), который они представляют. Таблица PK хранит последние изменения всей таблицы, обеспечивая паттерн доступа «поиск записи» (record lookup). Сценарии использования журнала изменений, такие как балансы счетов, корзина покупок и управление запасами, могут извлечь выгоду из этого подхода. Kafka не может выполнять такое поведение, требуя внешних баз данных типа «ключ-значение» или NoSQL для отслеживания текущего статуса записи, что приводит к сложным и трудным в обслуживании решениям.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-235.png" width="1200" height="556" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Вкратце, PK Tables обеспечивают уникальность записей на основе первичного ключа, операций `INSERT`, `UPDATE` и `DELETE`, а также предоставляют широкие возможности изменения записей. С другой стороны, Log Tables работают только на добавление; обновления записей не требуются.&lt;/p&gt;
&lt;h4&gt;Колоночное хранение (Columnar Storage)&lt;/h4&gt;
&lt;p&gt;То, как Fluss хранит данные на диске, возможно, является наиболее фундаментальным архитектурным сдвигом по сравнению с другими решениями. В отличие от Kafka, Fluss использует формат `Apache Arrow` для хранения данных в колоночном формате, что дает следующие преимущества:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенное использование хранилища**, так как хранение данных в колоночном формате требует меньше дискового пространства. Степень сжатия зависит от множества характеристик данных, но первоначальные тесты показывают многообещающее улучшение в 5 раз при использовании Apache Arrow в качестве базового формата хранения. Меньше хранилища = меньше затрат. Kafka предоставляет лишь несколько вариантов сжатия данных, которые не сравнимы с теми, что доступны в Apache Arrow «из коробки».&lt;/li&gt;
&lt;li&gt;Эффективные запросы с использованием обрезки столбцов (column pruning).** В общем случае запрашивается или доступно менее половины атрибутов данного бизнес-события, т.е. только те имена столбцов, которые вы добавляете в ваше выражение `SELECT FROM`. Проталкивание проекции (projection pushdown) — это метод, который удаляет ненужные атрибуты (также известный как column pruning) при извлечении данных из системы хранения. Kafka работает по принципу «все или ничего» из-за своего формата хранения на основе записей.&lt;/li&gt;
&lt;li&gt;И колоночное сжатие, и проталкивание проекции улучшат сетевой трафик — перемещение меньшего количества данных приведет к тому, что сетевые администраторы станут счастливее. С Kafka компании постоянно сталкиваются с перегрузкой сети и потенциально высокими расходами на исходящий трафик (egress costs).&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-236.png" width="1200" height="674" alt="" /&gt;
&lt;/div&gt;
&lt;h4&gt;Унификация с Lakehouse&lt;/h4&gt;
&lt;p&gt;Kafka была создана в эпоху Data Lake (Озер данных). С самого начала проектирования Fluss создавался для Lakehouse. Это создает большую разницу. Компании поняли, что Озера данных (или во многих случаях «Болота данных» — Data Swamps) трудно поддерживать в рабочем состоянии и окупать инвестиции в лицензии, оборудование и персонал для создания решений больших данных. К счастью, Лейкхаусы преодолевают эти проблемы. Лейкхаусы утверждают, что данные должны быть широко и легко доступны независимо от их возраста. Пакетные события и события реального времени перекрываются, и движки обработки должны иметь возможность прозрачно обращаться к обоим слоям.&lt;/p&gt;
&lt;p&gt;Вот возможности тиринга данных (распределения по уровням) и унифицированного просмотра, которые может предоставить Fluss, в дополнение к слою горячих/свежих данных:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Теплый слой (Warm layer):** для данных возрастом от минут до часов, в основном хранящихся в решениях объектного хранения (Object Storage).&lt;/li&gt;
&lt;li&gt;Холодный слой (Cold layer):** для данных возрастом от дней до лет. Решения Lakehouse, такие как `Apache Paimon` и `Iceberg`, являются предпочтительными платформами для этих исторических данных, питающих модели ML, ретроспективную аналитику и комплаенс.&lt;/li&gt;
&lt;li&gt;Zero-copy data tiering (Тиринг данных без копирования):** старение данных из горячего слоя (таблицы Fluss) в теплые/холодные слои (Object Storage и Lakehouse). Это означает, что доступна единственная копия единицы данных, либо в слое реального времени, либо в историческом слое. Fluss управляет переключением между слоями, облегчая запросы и доступ. Подход Kafka опирается на дублирование данных с помощью задания потребителя/издателя, что приводит к увеличению затрат на хранение и необходимости конвертировать топики Kafka в табличный формат Lakehouse.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-237.png" width="1200" height="674" alt="" /&gt;
&lt;/div&gt;
&lt;h3&gt;Светлое будущее впереди&lt;/h3&gt;
&lt;p&gt;Аналитика данных в реальном времени становится краеугольным камнем современных компаний. Цифровые бизнес-модели должны обеспечивать лучший пользовательский опыт и своевременные ответы на взаимодействия с клиентами, что заставляет компании создавать системы для использования и управления данными в реальном времени, создавая увлекательный и впечатляющий («wow») опыт. Действовать сейчас — это не просто вопрос технической осуществимости; для большинства предприятий это становится уникальным преимуществом для выживания в высококонкурентной глобальной рыночной среде.&lt;/p&gt;
&lt;p&gt;Fluss помогает компаниям преодолеть разрыв между мирами реального времени и аналитики, предлагая унифицированный доступ как к свежим данным в реальном времени, так и к историческим, холодным данным. Вкратце, Fluss обеспечивает беспрепятственный доступ к данным независимо от возраста набора данных и упрощает сложные архитектуры аналитики данных, которые тянулись годами, в основном из-за отсутствия наиболее подходящих компонентов и фреймворков.&lt;/p&gt;
&lt;p&gt;В то время как Fluss служит слоем хранения в реальном времени для аналитики, Лейкхаусу предоставляется управление, простота и масштабируемость, которые защищают современные архитектуры в будущем.&lt;/p&gt;
&lt;p&gt;С операционной стороны он предлагает значительные преимущества за счет снижения сложности управления, хранения и обслуживания как данных реального времени, так и пакетных данных. Эта эффективность трансформируется в прямую экономию средств, достигаемую в первую очередь за счет оптимизированного формата таблиц Fluss, двухуровневой системы хранения, основанной на температуре данных, и, наконец, минимизации общего использования ЦП конвейера с помощью проталкивания предикатов (predicate pushdown) и обрезки столбцов. В совокупности эти архитектурные элементы снижают накладные операционные расходы, связанные с обслуживанием платформы, ускоряют внедрение новых сценариев использования и облегчают бесшовную интеграцию с существующей ИТ-инфраструктурой предприятия.&lt;/p&gt;
</description>
</item>

<item>
<title>Data Contracts — соглашение между производителями и потребителями данных</title>
<guid isPermaLink="false">316</guid>
<link>https://gavrilov.info/all/data-contracts-soglashenie-mezhdu-proizvoditelyami-i-potrebitely/</link>
<pubDate>Sun, 08 Feb 2026 00:29:11 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/data-contracts-soglashenie-mezhdu-proizvoditelyami-i-potrebitely/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/Snimok-ekrana-2026-02-08-v-00.24.54.png" width="912" height="504" alt="" /&gt;
&lt;/div&gt;
&lt;h4&gt;&lt;b&gt; о книге «Data Contracts»&lt;/b&gt; или как договориться о данных в эпоху хаоса и вернуть им ценность&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Введение: Кризис доверия в мире данных&lt;/b&gt;&lt;br /&gt;
Книга Чада Сандерсона и Марка Фримена «Data Contracts» выходит в момент глубокого кризиса в индустрии данных. Несмотря на триллионы долларов инвестиций в Modern Data Stack, облака и ИИ, компании всё чаще сталкиваются с парадоксом: данных больше, чем когда-либо, а извлекаемая ценность — под вопросом. Дашборды врут, модели ML ошибаются, а инженеры данных погребены под лавиной инцидентов. Авторы дают диагноз этой болезни: &lt;b&gt;«данные долг» (data debt)&lt;/b&gt;, и предлагают радикальное лечение: &lt;b&gt;«данные контракты» (data contracts)&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Часть 1: Диагноз — Эпидемия данных долга&lt;/b&gt;&lt;br /&gt;
Авторы проводят читателя через историческую эволюцию, объясняя, как мы пришли к текущему хаосу.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Золотой век и падение Хранилищ Данных:&lt;/b&gt; Раньше централизованные хранилища данных, созданные архитекторами, обеспечивали «единый источник истины». Это было медленно, дорого, но надежно.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Agile, микросервисы и «дамп данных»:&lt;/b&gt; Софтверные компании, движимые скоростью, убили роль архитектора данных. Данные перестали проектировать — их начали «сливать» в data lakes. Разрыв между командами, создающими данные (продуктовые разработчики, OLTP) и использующими их (аналитики, дата-сайентисты, OLAP), стал пропастью.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Иллюзия Modern Data Stack:&lt;/b&gt; Такие инструменты как Snowflake, Fivetran и dbt решили проблему «как» работать с данными, но усугубили проблему «что» и «почему». Они упростили перемещение и трансформацию беспорядочных данных, легализовав отсутствие дисциплины. Результат — взрывные затраты, непонятные SQL-запросы-монстры и полная потеря доверия.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Ключевой вывод:&lt;/b&gt; &lt;b&gt;Данные долг&lt;/b&gt; — это не техническая проблема, а организационная и коммуникационная. Он накапливается, когда команды, меняющие данные, не знают, кто и как их использует, а потребители данных не могут доверять их стабильности.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Часть 2: Новый императив — Data-Centric AI&lt;/b&gt;&lt;br /&gt;
Авторы блестяще связывают кризис данных с новой парадигмой в машинном обучении. Эндрю Нг провозгласил сдвиг от &lt;b&gt;model-centric AI&lt;/b&gt; (бесконечная настройка алгоритмов) к &lt;b&gt;data-centric AI&lt;/b&gt; (систематическое улучшение качества данных для обучения).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Почему это важно?&lt;/b&gt; Модели, особенно с появлением больших языковых моделей (LLM), становятся товаром. Любой может вызвать мощнейшую модель через API. Конкурентное преимущество теперь создается не алгоритмом, а &lt;b&gt;качественными, уникальными данными&lt;/b&gt;, на которых он обучается и работает.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Парадокс:&lt;/b&gt; В момент, когда бизнесу как никогда нужны чистые, надежные данные для ИИ, его инфраструктура данных наименее к этому готова. Data-Centric AI требует фундамента, которого нет — управляемого, контрактного подхода к данным.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Часть 3: Лечение — Data Contracts как API для доверия&lt;/b&gt;&lt;br /&gt;
Data Contracts — это ядро предлагаемого решения. Это не юридические документы, а &lt;b&gt;машиночитаемые соглашения&lt;/b&gt;, оформленные как код.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Что это такое?&lt;/b&gt; Контракт между &lt;b&gt;производителем данных&lt;/b&gt; (например, сервис, который генерирует события о покупках) и &lt;b&gt;потребителем данных&lt;/b&gt; (например, команда аналитики, строящая отчет по выручке).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Что в него входит?&lt;/b&gt; Схема данных (типы, имена полей), семантика (что означает каждое поле, бизнес-правила), соглашения об уровне обслуживания (SLAs — частота обновления, задержка), правила обработки конфиденциальных данных (PII).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Как работает?&lt;/b&gt; Контракт устанавливается через API. При попытке изменить источник данных (удалить поле, изменить тип) система проверяет все зависимые контракты и либо блокирует изменение, либо требует скоординированной миграции. Это автоматизирует коммуникацию и создает «защитные ограждения».&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Часть 4: Практика — Качество данных как измеримый процесс&lt;/b&gt;&lt;br /&gt;
Авторы уходят от утопии «идеальных данных» к прагматичному управлению качеством. Они предлагают измерять его через:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Опережающие индикаторы:&lt;/b&gt; Наличие владельцев у источников данных, уровень &lt;b&gt;доверия&lt;/b&gt; команд к данным (измеряется через опросы), объем данных долга (сложность запросов, количество backfill-задач).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Запаздывающие индикаторы:&lt;/b&gt; &lt;b&gt;Время простоя данных&lt;/b&gt; (data downtime), количество инцидентов с реальным бизнес-влиянием (например, ошибочный отзыв товара).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Главная мысль: нужно говорить с бизнесом не о «качестве», а о &lt;b&gt;рисках и потерях денег&lt;/b&gt; из-за его отсутствия.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Заключение: Возвращение к дисциплине через инновации&lt;/b&gt;&lt;br /&gt;
«Data Contracts» — это манифест за возвращение инженерной дисциплины в мир данных, но на новом уровне. Это не призыв вернуться к медленным централизованным хранилищам. Это предложение создать &lt;b&gt;децентрализованную, но управляемую экосистему данных&lt;/b&gt;, где скорость микросервисов сочетается с надежностью контрактов.&lt;/p&gt;
&lt;p&gt;Книга является обязательным чтением для:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Руководителей данных (CDO, Head of Data)&lt;/b&gt;, чтобы понять стратегический ответ на вызовы data debt и Data-Centric AI.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Инженеров данных и архитекторов&lt;/b&gt;, ищущих практические методы наведения порядка.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Продуктовых менеджеров и разработчиков&lt;/b&gt;, которые должны осознать, что их данные — это продукт для внутренних клиентов.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Дата-сайентистов и аналитиков&lt;/b&gt;, уставших от нестабильных данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Data Contracts — это больше, чем технология. Это философия сотрудничества, которая превращает данные из источника постоянных проблем в настоящий актив, способный обеспечить конкурентное преимущество в эпоху ИИ.&lt;/p&gt;
&lt;h3&gt;Приложение пример полей и контракта данных&lt;/h3&gt;
&lt;p&gt;Атрибуты контракта (обязательные и опциональные)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td&gt;Атрибут&lt;/td&gt;
&lt;td&gt;Тип&lt;/td&gt;
&lt;td&gt;Обязательный&lt;/td&gt;
&lt;td&gt;Описание&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;domain&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Да&lt;/td&gt;
&lt;td&gt;Домен Data Mesh&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;data_product&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Да&lt;/td&gt;
&lt;td&gt;Название дата-продукта&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;owner&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Да&lt;/td&gt;
&lt;td&gt;Контакт команды-владельца&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;schema&lt;/td&gt;
&lt;td&gt;object&lt;/td&gt;
&lt;td&gt;Да&lt;/td&gt;
&lt;td&gt;Схема данных (Avro/JSON/Parquet)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;slas&lt;/td&gt;
&lt;td&gt;object&lt;/td&gt;
&lt;td&gt;Да&lt;/td&gt;
&lt;td&gt;Требования к свежести, доступности&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;security&lt;/td&gt;
&lt;td&gt;object&lt;/td&gt;
&lt;td&gt;Нет&lt;/td&gt;
&lt;td&gt;Поля ПДн, политики доступа&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;quality_checks&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;Нет&lt;/td&gt;
&lt;td&gt;Список проверок качества&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;consumers&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;Нет&lt;/td&gt;
&lt;td&gt;Список команд-потребителей&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;lifecycle&lt;/td&gt;
&lt;td&gt;object&lt;/td&gt;
&lt;td&gt;Нет&lt;/td&gt;
&lt;td&gt;Правила хранения, архивации&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;version: 1.0
domain: sales
owner: team-sales@company.com
data_product: customer_events
schema:
  type: avro/json
  definition: { ... }
slas:
  freshness: &amp;quot;5m&amp;quot;
  completeness: &amp;quot;99.9%&amp;quot;
security:
  pii_fields: [&amp;quot;email&amp;quot;, &amp;quot;phone&amp;quot;]
  masking: dynamic
quality_checks:
  - type: null_check
    columns: [&amp;quot;user_id&amp;quot;]
  - type: range_check
    column: &amp;quot;amount&amp;quot;
    min: 0
consumers:
  - analytics_team
  - ml_team
lifecycle:
  retention_days: 365
  archive_after: 90&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Еще один дата каталожик – Marmot</title>
<guid isPermaLink="false">315</guid>
<link>https://gavrilov.info/all/esche-odin-data-katalozhik-marmot/</link>
<pubDate>Sun, 08 Feb 2026 00:06:32 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/esche-odin-data-katalozhik-marmot/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/Snimok-ekrana-2026-02-08-v-00.05.35.png" width="434" height="364" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/marmotdata/marmot"&gt;https://github.com/marmotdata/marmot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Marmot is an open-source data catalog designed for teams who want powerful data discovery without enterprise complexity. Built with a focus on simplicity and speed, Marmot helps you catalog assets across your entire data stack – from databases and APIs to message queues and data pipelines.&lt;/p&gt;
&lt;p&gt;Unlike traditional catalogs that require extensive infrastructure and configuration, Marmot ships as a single binary with an intuitive UI, making it easy to deploy and start cataloging in minutes.&lt;/p&gt;
&lt;p&gt;Built for Modern Data Teams&lt;/p&gt;
&lt;p&gt;Deploy in Minutes: Single binary, Docker, or Kubernetes – no complex setup required&lt;br /&gt;
Powerful Search: Powerful query language with full-text, metadata, and boolean operators&lt;br /&gt;
Track Lineage: Interactive dependency graphs to understand data flows and impact&lt;br /&gt;
Flexible Integrations: CLI, REST API, Terraform, and Pulumi – catalog assets your way&lt;br /&gt;
Lightweight: PostgreSQL-backed with minimal resource requirements&lt;/p&gt;
</description>
</item>

<item>
<title>От «зоопарка» технологий к Lakehouse: Итоги разговора с Вадимом Беловым</title>
<guid isPermaLink="false">290</guid>
<link>https://gavrilov.info/all/ot-zooparka-tehnologiy-k-lakehouse-itogi-razgovora-s-vadimom-bel/</link>
<pubDate>Sat, 01 Nov 2025 00:02:16 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/ot-zooparka-tehnologiy-k-lakehouse-itogi-razgovora-s-vadimom-bel/</comments>
<description>
&lt;p&gt;Летом в рамках стрима «Разговоры на Архитекторском» состоялась беседа с Вадимом Беловым, руководителем системной разработки больших данных в X5. Основной темой стали эволюция платформ данных, переход от классических архитектур к концепции `Lakehouse` и практические аспекты такой миграции. Ниже представлен синтез ключевых идей и выводов этой встречи.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://t.me/analyticsfromzero/201"&gt;https://t.me/analyticsfromzero/201&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;1. Предел «классической» архитектуры&lt;/h3&gt;
&lt;p&gt;В начале пути многие компании, включая X5, строили свои платформы на стеке проверенных, но разрозненных технологий: `Hadoop` для хранения больших объемов данных, `Greenplum` как мощная MPP-база для аналитики и `ClickHouse` для быстрых витрин. Такая архитектура работала, но со временем достигла своего предела.&lt;/p&gt;
&lt;p&gt;По словам Вадима, точка невозврата наступает не столько из-за роста объема данных, сколько из-за &lt;b&gt;роста разнообразия нагрузок и требований бизнеса&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Основные болевые точки «классического зоопарка»:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Сложность и дублирование:&lt;/b&gt; Данные приходилось постоянно перемещать между системами. Например, выгрузить данные в `Hadoop`, оттуда переложить в `Greenplum` для расчетов, а затем, возможно, вернуть обратно для ML-моделей на `Spark`. Каждое такое перемещение создает `staging`-слои и дубликаты данных.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Высокий TCO (Total Cost of Ownership):&lt;/b&gt; Поддержка нескольких разнородных систем с разными компетенциями, процессами релиза и типами оборудования обходится дорого.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Узкие горлышки:&lt;/b&gt; Централизованные команды и системы не успевают отвечать на растущие запросы бизнеса, требующего большей скорости и гибкости (`time-to-market`).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Технологические ограничения:&lt;/b&gt; Каждая система хороша для своей ниши, но имеет ограничения. Например, `Greenplum` — мощная реляционная СУБД, но из неё сложно отдавать данные для нереляционных задач, связанных с машинным обучением.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. Lakehouse как эволюционное решение&lt;/h3&gt;
&lt;p&gt;Переход к `Lakehouse` — это не революция, а эволюция, попытка объединить лучшие черты двух миров:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;`Data Lake`&lt;/b&gt;: Дешевое хранение огромных объемов данных любого формата.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;`Data Warehouse`&lt;/b&gt;: Структурированность, надежность, транзакционность (`ACID`) и гарантия консистентности данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ключевым моментом, сделавшим эту концепцию возможной, стало появление &lt;b&gt;открытых транзакционных форматов таблиц&lt;/b&gt;, таких как `Apache Iceberg` и `Delta Lake`. Именно они позволили реализовать `ACID`-транзакции поверх файловых хранилищ вроде `S3`.&lt;/p&gt;
&lt;p&gt;Центральная архитектурная идея `Lakehouse` — &lt;b&gt;разделение хранения (`storage`) и вычислений (`compute`)&lt;/b&gt;. Это дает модульность и гибкость: можно независимо масштабировать хранилище и вычислительные ресурсы, а также подменять компоненты стека без кардинальной перестройки всей системы.&lt;/p&gt;
&lt;h3&gt;3. Преимущества и новые возможности&lt;/h3&gt;
&lt;p&gt;Архитектура `Lakehouse` открывает ряд значительных преимуществ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Унификация и сокращение дублирования:&lt;/b&gt; Данные хранятся в одном месте в открытом формате, а различные движки (`Trino`, `Spark` и др.) могут работать с ними напрямую, без необходимости копирования. Это снижает затраты на хранение и упрощает пайплайны.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Упрощение разработки:&lt;/b&gt; Благодаря поддержке `ACID` и возможности выполнять `UPDATE`/`DELETE`/`MERGE` операции, дата-инженеры могут работать с `Lakehouse` как с обычной реляционной базой данных, что снижает порог входа и упрощает поддержку.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Гибкость и снижение рисков:&lt;/b&gt; Модульная архитектура позволяет легко заменять компоненты. Если вычислительный движок перестал устраивать, его можно поменять, не затрагивая данные. Это снижает зависимость от одного вендора или технологии.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Новые бизнес-сценарии:&lt;/b&gt; Появляется возможность строить аналитические контуры, близкие к реальному времени. Используя технологии `CDC` (Change Data Capture), например, с помощью `Debezium`, можно с секундной задержкой реплицировать изменения из операционных баз прямо в `Lakehouse` и немедленно делать их доступными для аналитики.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;4. Практика реализации и вызовы&lt;/h3&gt;
&lt;p&gt;В X5 в качестве основного SQL-движка для `Lakehouse` выбрали `Trino`, а для сложных обработок — `Spark`. Форматом хранения стал `Apache Iceberg`. Вадим отметил, что перенос логики с `Greenplum` на `Trino` оказался относительно простым, так как оба решения являются MPP-системами. Продвинутые возможности современных движков, такие как &lt;b&gt;динамические фильтры&lt;/b&gt; в `Trino`, позволяют значительно ускорять запросы за счет сокращения объема данных, читаемых из хранилища &lt;a href="https://www.cedrusdata.ru/blog/trino-dynamic-filtering"&gt;cedrusdata.ru&lt;/a&gt;,  &lt;a href="https://habr.com/ru/companies/cedrusdata/articles/740274/"&gt;habr.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Однако переход не лишен сложностей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data Governance:** Как управлять правами доступа, когда к одним и тем же данным могут подключаться разные движки (`Trino`, `Spark`)? Классические инструменты, вроде `Ranger`, не всегда подходят. Решением видится развитие «умных» каталогов данных (например, `Gravitino`), которые станут единой точкой для управления политиками безопасности и метаданными. (пс: хватит уже откапывать этот Ranger \ ставьте сразу OPAL :) )&lt;/li&gt;
&lt;li&gt;Производительность:** Критически важными становятся производительность сети между `storage` и `compute`, а также возможности самого объектного хранилища (`S3-compatible`) выдерживать высокую нагрузку на чтение метаданных и мелких файлов.&lt;/li&gt;
&lt;li&gt;Зрелость Open Source:** Многие компоненты активно развиваются, что означает частые обновления, новые возможности, но и потенциальные баги. Это требует выстраивания собственных процессов R&amp;D и тщательного тестирования.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;5. Советы для бизнеса и архитекторов&lt;/h5&gt;
&lt;p&gt;Для тех, кто рассматривает переход на `Lakehouse`, Вадим Белов дал несколько ключевых советов:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Проводите R&amp;D:&lt;/b&gt; Не принимайте решение на основе маркетинговых материалов. Проведите исследование на собственных данных и задачах.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Начинайте с пилота:&lt;/b&gt; Используйте облачные платформы для быстрого развертывания пилотного проекта. Это позволит оценить технологию, посчитать экономику и выключить кластер, когда он не нужен, сэкономив деньги.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Не трогайте `business-critical`:&lt;/b&gt; Не начинайте миграцию с самых критичных систем. Выберите область, где есть право на ошибку, чтобы команда могла адаптироваться к новым технологиям.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Обосновывайте деньгами:&lt;/b&gt; Для бизнеса главным аргументом будет экономическая эффективность: снижение TCO за счет унификации стека, отсутствия дублирования данных и более быстрого `time-to-market` для новых продуктов.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Итог встречи&lt;/h3&gt;
&lt;p&gt;Концепция `Lakehouse` — это не просто очередная модная технология, а логичный эволюционный шаг в развитии платформ данных. Она отвечает на главные вызовы современных DWH: разнообразие нагрузок, требование к скорости и высокую стоимость поддержки разрозненных систем.&lt;/p&gt;
&lt;p&gt;Переход на `Lakehouse` позволяет создать более гибкую, масштабируемую и экономически эффективную архитектуру за счет разделения хранения и вычислений, а также использования открытых форматов. Однако этот путь требует зрелого подхода, инвестиций в R&amp;D и решения новых вызовов, в первую очередь в области `Data Governance`.&lt;/p&gt;
&lt;p&gt;Взгляд в будущее направлен на `Streaming Lakehouse`, где граница между batch- и stream-обработкой стирается, и на развитие «умных» каталогов данных, которые станут мозгом всей платформы, управляя не только метаданными, но и безопасностью, качеством и контрактами данных.&lt;/p&gt;
&lt;p&gt;О некоторых Streaming Хаусах я уже писал ранее.&lt;/p&gt;
&lt;p&gt;Скоро будет еще встреча&lt;/p&gt;
&lt;p&gt;13 ноября проведут вторую серию «Разговоров на архитекторском» и в этот раз коснемся индустриальных ML платформ.&lt;/p&gt;
&lt;p&gt;Эксперт – руководитель разработки и ML OPS в крупной технологичной компании, которую вы все знаете.&lt;/p&gt;
&lt;p&gt;Темы:&lt;/p&gt;
&lt;p&gt;1️⃣Платформа инференса в 2025 году. Как построить и как грамотно утилизировать большой парк современных GPU&lt;br /&gt;
2️⃣Классический ML и трансформерный ИИ. Может ли существовать одно без другого.&lt;br /&gt;
3️⃣Если ты стажер или джун и хочешь в ML, на что тебе стоит обратить внимание и что изучить&lt;/p&gt;
&lt;p&gt;@analyticsfromzero&lt;/p&gt;
</description>
</item>

<item>
<title>Построение надежных ML-систем и технический долг</title>
<guid isPermaLink="false">287</guid>
<link>https://gavrilov.info/all/postroenie-nadezhnyh-ml-sistem-i-tehnicheskiy-dolg/</link>
<pubDate>Thu, 16 Oct 2025 00:27:47 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/postroenie-nadezhnyh-ml-sistem-i-tehnicheskiy-dolg/</comments>
<description>
&lt;p&gt;Машинное обучение (ML) превратилось из чисто исследовательской дисциплины в мощный инструмент для создания сложных и полезных продуктов. Сегодня ML-системы принимают критически важные решения в медицине, финансах и автономном транспорте &lt;a href="https://medium.com/@hybrid.minds/building-robust-ml-systems-a-guide-to-fault-tolerant-machine-learning-f4765d23a51d"&gt;medium.com&lt;/a&gt;. Однако быстрая разработка и развертывание — лишь верхушка айсберга. Основные трудности и затраты возникают при их долгосрочной поддержке. Неожиданные сбои моделей являются одним из главных барьеров для внедрения технологий ИИ &lt;a href="https://arxiv.org/abs/2503.00563"&gt;arxiv.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;В этой статье мы разберем полный жизненный цикл ML-проекта, проанализируем концепцию «скрытого технического долга» и объединим эти знания в единую методику для создания надежных и развиваемых систем.&lt;/p&gt;
&lt;h3&gt;Часть 1. Карта жизненного цикла ML-проекта&lt;/h3&gt;
&lt;p&gt;Любой ML-проект — это не просто обучение модели, а сложный, итеративный процесс. Рассмотрим его типичный жизненный цикл, разделив на две основные фазы: &lt;b&gt;Исследования&lt;/b&gt; и &lt;b&gt;Эксплуатация&lt;/b&gt;.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/ML.jpg" width="1170" height="1202" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Из книги масштабируемые данные&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;Фаза 1: Исследования (Research)&lt;/h3&gt;
&lt;p&gt;Это итеративный этап проверки гипотез. Главная цель — доказать (или опровергнуть), что с помощью ML можно решить поставленную бизнес-задачу с приемлемым качеством.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Запуск проекта:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;Задачи:** Четкое определение бизнес-проблемы и формулировка ML-гипотезы («Сможем ли мы предсказывать Y с помощью данных X с точностью N?»). На этом этапе важно задать фундаментальный вопрос: а нужно ли здесь вообще машинное обучение? Создается техническая инфраструктура: репозиторий в Git, проект в системе CI/CD (например, Jenkins, GitLab CI).&lt;/li&gt;
  &lt;li&gt;Участники:** Бизнес-заказчики, продуктовые менеджеры, аналитики, специалисты по Data Science.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Проектирование данных:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;Задачи:** Поиск, сбор и интеграция данных из различных источников в единое хранилище («озеро данных»). Затем данные исследуются на предмет полноты, аномалий и качества, после чего происходит их очистка, трансформация и регистрация в качестве «очищенных» наборов данных.&lt;/li&gt;
  &lt;li&gt;Участники:** Инженеры данных (Data Engineers), команда DWH, специалисты по Data Science.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Экспериментирование:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;Задачи:** Это сердце работы Data Scientist. Здесь происходит генерация признаков (`feature engineering`), подбор архитектуры модели, ее обучение, валидация и оценка. Критически важными шагами являются версионирование данных и кода, а также фиксация всех результатов и метрик для обеспечения воспроизводимости.&lt;/li&gt;
  &lt;li&gt;Участники:** Специалисты по Data Science (ML/DS).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Эта фаза завершается решением: если эксперименты успешны, проект переходит в фазу эксплуатации. Если нет — он либо отправляется на новый виток исследований, либо закрывается.&lt;/p&gt;
&lt;h3&gt;Фаза 2: Эксплуатация (Operations / MLOps)&lt;/h3&gt;
&lt;p&gt;Цель этой фазы — превратить успешный прототип в надежный, масштабируемый и автоматически работающий продукт, а также поддерживать его работоспособность во времени.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Ввод в эксплуатацию:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Задачи:&lt;/b&gt; Код, написанный для экспериментов, часто требует серьезного рефакторинга и оптимизации для производственной среды. Строится автоматизированный конвейер (pipeline), который выполняет все шаги: от получения свежих данных до выгрузки предсказаний. Этот процесс должен быть не только автоматизированным, но и устойчивым к сбоям, что является ключевым принципом как MLOps, так и классической инженерии надежности Reliability Engineering &lt;a href="https://arxiv.org/abs/2411.08981"&gt;arxiv.org&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Участники:&lt;/b&gt; ML-инженеры, DevOps-инженеры, инженеры данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Мониторинг:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Задачи:&lt;/b&gt; После развертывания работа не заканчивается. Необходимо постоянно отслеживать как технические, так и качественные показатели модели: стабильность входных данных, качество предсказаний (точность, полнота), а также бизнес-метрики. Для оценки реального влияния на продукт проводятся А/В-тесты.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Участники:&lt;/b&gt; ML-инженеры, SRE (Site Reliability Engineers), аналитики, продуктовые менеджеры.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Этот цикл непрерывен. Данные мониторинга могут выявить деградацию модели, что повлечет за собой запуск нового витка исследований для ее улучшения.&lt;/p&gt;
&lt;h3&gt;Часть 2. «Скрытый технический долг в системах машинного обучения»&lt;/h3&gt;
&lt;p&gt;В 2015 году исследователи из Google опубликовали знаковую работу «Hidden Technical Debt in Machine Learning Systems». Они показали, что в ML-системах технический долг накапливается быстрее и опаснее, чем в традиционном ПО.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Основная идея:&lt;/b&gt; Легко построить прототип ML-системы, но чрезвычайно сложно и дорого поддерживать его в рабочем состоянии. Причина — множество скрытых проблем системного уровня, которые не являются багами в коде, но со временем делают систему хрупкой и непредсказуемой.&lt;/p&gt;
&lt;h3&gt;Ключевые источники технического долга в ML:&lt;/h3&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Эрозия границ и связанность (Entanglement):&lt;/b&gt; В ML практически невозможно изолировать компоненты из-за принципа CACE («Changing Anything Changes Everything» — «Изменение чего угодно меняет всё»).
&lt;ul&gt;
  &lt;li&gt;Изменение одного признака влияет на важность всех остальных.&lt;/li&gt;
  &lt;li&gt;Добавление нового признака `x_n+1` может полностью изменить веса старых `x_1...x_n`.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Зависимости от данных (Data Dependencies):&lt;/b&gt; Эти зависимости коварнее зависимостей от кода, так как их сложнее отследить статически.
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Нестабильные данные:&lt;/b&gt; Использование данных из другой ML-системы, которая может обновляться без вашего ведома — это бомба замедленного действия. «Улучшение» в той системе может сломать вашу.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Недоиспользуемые данные:&lt;/b&gt; Со временем признаки могут становиться ненужными (Legacy Features), добавляться «пачкой» ради мнимого прироста метрик (Bundled Features) или дублировать друг друга (Correlated Features). Они не приносят пользы, но увеличивают сложность и уязвимость системы.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Антипаттерны проектирования:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Код-клей (Glue Code):&lt;/b&gt; Огромное количество кода пишется для «склеивания» данных с универсальной ML-библиотекой (например, `scikit-learn`, `TensorFlow`). Авторы утверждают, что в зрелой системе ML-код может составлять всего 5%, а остальное — «клей».&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Джунгли конвейеров (Pipeline Jungles):&lt;/b&gt; Системы подготовки данных часто разрастаются органически, превращаясь в запутанные «джунгли» из скриптов, которые невозможно тестировать, отлаживать и развивать.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Мертвые пути экспериментов:&lt;/b&gt; В коде остаются ветки `if/else` от прошлых экспериментов, которые усложняют тестирование и создают риск неожиданного поведения.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;b&gt;Петли обратной связи (Feedback Loops):&lt;/b&gt; Модель в реальном мире влияет на среду, из которой она же и получает данные для будущего обучения. Это может привести к сужению разнообразия и деградации модели, когда она начинает усиливать свои собственные прошлые решения.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="5"&gt;
&lt;li&gt;&lt;b&gt;Долг конфигурации (Configuration Debt):&lt;/b&gt; Конфигурация ML-систем (какие признаки использовать, параметры алгоритма, пороги) часто занимает больше строк, чем сам код. Ею сложно управлять, ее редко тестируют, а ошибки в ней могут приводить к катастрофическим последствиям.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Часть 3. Практические выводы&lt;/h3&gt;
&lt;p&gt;Схема жизненного цикла из Части 1 показывает, &lt;b&gt;ЧТО&lt;/b&gt; и &lt;b&gt;КОГДА&lt;/b&gt; нужно делать. Статья о техническом долге из Части 2 объясняет, &lt;b&gt;ПОЧЕМУ и КАК&lt;/b&gt; это нужно делать правильно, чтобы система не развалилась через полгода.&lt;/p&gt;
&lt;p&gt;Взаимосвязь очевидна: почти каждый источник технического долга зарождается на &lt;b&gt;фазе исследований&lt;/b&gt; и проявляется во всей красе на &lt;b&gt;фазе эксплуатации&lt;/b&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Блок &lt;b&gt;Экспериментирование&lt;/b&gt; — это фабрика по производству `кода-клея` и `недоиспользуемых признаков`. Погоня за сотыми долями процента в метрике качества часто приводит к огромному усложнению системы.&lt;/li&gt;
&lt;li&gt;Блок &lt;b&gt;Ввод в эксплуатацию&lt;/b&gt; без рефакторинга и целостного проектирования порождает `джунгли конвейеров`.&lt;/li&gt;
&lt;li&gt;Блок &lt;b&gt;Мониторинг&lt;/b&gt; — главный инструмент для обнаружения последствий технического долга: смещения данных (Data Drift) и деградации модели (Model Drift).&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Рекомендации по созданию надежных ML-систем&lt;/h5&gt;
&lt;p&gt;Чтобы построить устойчивую ML-систему, необходимо с самого начала применять инженерную дисциплину.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Целостный подход к надежности.&lt;/b&gt; ML-система — это не только модель. Это данные, признаки, код, конвейеры и мониторинг. Цель — не просто высокая точность, а построение надежной и заслуживающей доверия системы &lt;a href="https://ieeexplore.ieee.org/iel8/11127213/11127132/11127251.pdf"&gt;ieeexplore.ieee.org&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Версионирование всего.&lt;/b&gt; Для борьбы с хаосом необходимо версионировать всё: данные, код, параметры экспериментов и итоговые модели. Это единственный способ обеспечить воспроизводимость и возможность отката.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Автоматизация (MLOps).&lt;/b&gt; Ручные шаги — источник ошибок. Все процессы, от сборки данных до развертывания модели, должны быть автоматизированы. Тестирование должно включать не только код, но и данные (проверки на соответствие схеме, распределению), а также качество самой модели.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;b&gt;Проактивный мониторинг.&lt;/b&gt; Настройте алерты на аномалии во входных данных (data drift), падение качества предсказаний (model drift) и нарушение ключевых бизнес-метрик. Это ваш радар для обнаружения скрытого технического долга в реальном времени.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="5"&gt;
&lt;li&gt;&lt;b&gt;Проектирование с учетом отказоустойчивости.&lt;/b&gt; Система должна быть спроектирована так, чтобы изящно справляться с частичными сбоями: например, иметь логику-запасной вариант (fallback), если источник данных недоступен, или временно отключать модель, если ее предсказания становятся неадекватными &lt;a href="https://medium.com/@hybrid.minds/building-robust-ml-systems-a-guide-to-fault-tolerant-machine-learning-f4765d23a51d"&gt;medium.com&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="6"&gt;
&lt;li&gt;&lt;b&gt;Кросс-функциональные команды и культура.&lt;/b&gt; Жесткое разделение ролей «исследователь» (Data Scientist) и «инженер» (ML Engineer) — корень многих проблем. Наиболее успешные команды — это гибридные группы, где инженеры и исследователи работают вместе. Такая культура ценит не только прирост точности, но и упрощение системы, удаление лишних признаков и снижение общей сложности.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Заключение&lt;/h3&gt;
&lt;p&gt;В конечном счете, успех ML-проекта определяется не тем, как быстро была создана первая версия, а тем, как долго и эффективно она может приносить пользу, адаптируясь к меняющемуся миру. Игнорирование технического долга — это взятие кредита под высокий процент, который неизбежно придется выплачивать временем, деньгами и репутационными потерями.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Ниже представлен перевод и краткий пересказ ключевых идей научной статьи «Скрытый технический долг в системах машинного обучения» от D. Sculley и других исследователей из Google. Пояснения к терминам и концепциям добавлены в формате `&lt;?&gt;`.&lt;/p&gt;
&lt;p&gt;Оригинал тут: &lt;a href="http://a.gavrilov.info/data/posts/ml-Paper.pdf"&gt;http://a.gavrilov.info/data/posts/ml-Paper.pdf&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h4&gt;Скрытый технический долг в системах машинного обучения&lt;/h4&gt;
&lt;h5&gt;Аннотация&lt;/h5&gt;
&lt;p&gt;Машинное обучение (МО) предлагает мощный инструментарий для быстрого создания сложных систем прогнозирования. Однако эта статья утверждает, что опасно считать такие быстрые успехи бесплатными. Используя концепцию технического долга из инженерии программного обеспечения, мы показываем, что в реальных МО-системах часто возникают огромные постоянные затраты на их поддержку. Мы исследуем несколько специфичных для МО факторов риска, которые необходимо учитывать при проектировании: размывание границ, связанность, скрытые петли обратной связи, необъявленные потребители, зависимости от данных, проблемы конфигурации, изменения во внешнем мире и различные антипаттерны на уровне системы.&lt;/p&gt;
&lt;h3&gt;1. Введение&lt;/h3&gt;
&lt;p&gt;По мере того как сообщество машинного обучения накапливает опыт работы с реальными системами, проявляется неприятная тенденция: разработка и развертывание МО-систем выполняются относительно быстро и дёшево, но их поддержка со временем становится сложной и дорогой.&lt;/p&gt;
&lt;p&gt;Эту дихотомию можно понять через призму &lt;b&gt;технического долга&lt;/b&gt; &lt;?&gt;. Как и в случае с финансовым долгом, иногда существуют веские стратегические причины для его накопления. Не весь долг плох, но весь долг нужно обслуживать. «Выплата» технического долга может включать рефакторинг кода, улучшение тестов, удаление мёртвого кода, сокращение зависимостей и улучшение документации. Откладывание этих выплат приводит к накоплению затрат, подобно процентам по кредиту.&lt;/p&gt;
&lt;p&gt;&lt;?Технический долг (technical debt) — это метафора в разработке ПО, обозначающая накопленные в системе проблемы, которые возникают из-за выбора быстрых и простых решений вместо более качественных, но долгих. Как и финансовый долг, он требует «выплаты» в будущем в виде рефакторинга и исправления архитектуры, иначе «проценты» (затраты на поддержку и внесение изменений) будут расти.?&gt;&lt;/p&gt;
&lt;p&gt;Мы утверждаем, что МО-системы особенно склонны к накоплению технического долга, поскольку они наследуют все проблемы поддержки традиционного кода и добавляют к ним свой набор специфичных для МО проблем. Этот долг трудно обнаружить, так как он существует на уровне системы, а не на уровне кода. Данные влияют на поведение МО-системы, что может незаметно нарушать традиционные абстракции и границы.&lt;/p&gt;
&lt;p&gt;На уровне системы МО-модель может незаметно размывать границы абстракций. Повторное использование входных сигналов может непреднамеренно связать в остальном изолированные системы. Пакеты МО могут рассматриваться как «чёрные ящики», что приводит к появлению большого количества «кода-клея». Изменения во внешнем мире могут непредвиденным образом повлиять на поведение системы. Даже мониторинг поведения МО-системы может оказаться сложной задачей без продуманного дизайна.&lt;/p&gt;
&lt;h3&gt;2. Размывание границ из-за сложности моделей&lt;/h3&gt;
&lt;p&gt;Сильные абстракции и модульность помогают создавать поддерживаемый код. К сожалению, в МО-системах трудно обеспечить строгие границы абстракции, поскольку желаемое поведение часто нельзя выразить в виде логики без зависимости от внешних данных.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Связанность (Entanglement).&lt;/b&gt; МО-системы смешивают сигналы, делая изоляцию улучшений невозможной. Это &lt;b&gt;принцип CACE (Changing Anything Changes Everything — «Изменение чего угодно меняет всё»)&lt;/b&gt;. Изменение распределения одного признака (x₁) может изменить важность или веса всех остальных признаков. Добавление или удаление признаков имеет тот же эффект. Улучшение одной модели в ансамбле может ухудшить общую точность системы, если ошибки станут более коррелированными.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Каскады исправлений (Correction Cascades).&lt;/b&gt; Часто возникает соблазн исправить проблему A’, которая немного отличается от уже решенной проблемы A, создав новую модель `m’` поверх существующей модели `mA`. Эта новая модель `m’` учится вносить небольшую поправку. Однако это создаёт новую зависимость от `mA`, что делает будущий анализ улучшений `mA` значительно дороже. Каскады таких исправлений могут привести к тупиковой ситуации, когда улучшение любого отдельного компонента ухудшает общую производительность системы.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Необъявленные потребители (Undeclared Consumers).&lt;/b&gt; Часто предсказания МО-модели становятся общедоступными (например, через логи). Другие системы могут начать тайно использовать эти данные в качестве входных. В классической инженерии это называют &lt;b&gt;долгом видимости&lt;/b&gt; &lt;?&gt;. Такие необъявленные потребители создают скрытую жёсткую связь. Любые изменения в исходной модели, даже улучшения, могут негативно и непредсказуемо повлиять на эти системы-потребители.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;?Долг видимости (visibility debt) — это тип технического долга, возникающий, когда зависимости между частями системы неочевидны или не задокументированы, что затрудняет анализ последствий изменений.?&gt;&lt;/p&gt;
&lt;h3&gt;3. Зависимости от данных стоят дороже зависимостей от кода&lt;/h3&gt;
&lt;p&gt;Зависимости от данных в МО-системах могут накапливать долг так же, как и зависимости кода, но их гораздо труднее обнаружить. Зависимости кода можно выявить статическим анализом, а для зависимостей от данных таких инструментов мало.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Нестабильные зависимости от данных.&lt;/b&gt; Удобно использовать в качестве признаков данные из других систем. Однако если эти входные сигналы нестабильны (например, сами являются выходом другой МО-модели, которая со временем обновляется), они могут меняться. Даже «улучшения» входного сигнала могут иметь разрушительные последствия для потребляющей его системы. Распространённая стратегия смягчения — создание версионных, «замороженных» копий таких данных.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Недостаточно используемые зависимости от данных.&lt;/b&gt; Это входные сигналы, которые дают очень небольшой прирост производительности, но делают систему излишне уязвимой к изменениям. Они могут появиться несколькими путями:
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Устаревшие признаки (Legacy Features):&lt;/b&gt; Признак добавляется на ранней стадии, со временем новые признаки делают его избыточным, но его не удаляют.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Пакетные признаки (Bundled Features):&lt;/b&gt; Группа признаков добавляется вместе, потому что «в пакете» они показали пользу, хотя некоторые из них по отдельности бесполезны.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;ε-признаки &lt;?&gt;:&lt;/b&gt; Признаки, которые добавляют ради крошечного прироста точности, но при этом значительно усложняют систему.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Коррелированные признаки (Correlated Features):&lt;/b&gt; Когда два признака сильно коррелируют, модель может ошибочно отдать предпочтение не причинно-следственному, а зависимому, что делает систему хрупкой, если в будущем эта корреляция изменится.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;?Эпсилон-признаки (ε-Features) — это признаки, которые дают очень незначительное (на величину эпсилон) улучшение точности модели, но при этом могут существенно усложнять систему, увеличивая затраты на ее поддержку.?&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/ML-2025-10-16-v-00.42.29.png" width="1038" height="360" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;&lt;b&gt;Рисунок 1:&lt;/b&gt; Лишь малая часть реальных МО-систем состоит из кода МО (маленький чёрный квадрат в центре).&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Необходимая окружающая инфраструктура огромна и сложна.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;`ML Code` — Код МО&lt;/li&gt;
&lt;li&gt;`Configuration` — Конфигурация&lt;/li&gt;
&lt;li&gt;`Data Collection` — Сбор данных&lt;/li&gt;
&lt;li&gt;`Feature Extraction` — Извлечение признаков&lt;/li&gt;
&lt;li&gt;`Data Verification` — Верификация данных&lt;/li&gt;
&lt;li&gt;`Machine Resource Management` — Управление ресурсами&lt;/li&gt;
&lt;li&gt;`Analysis Tools` — Инструменты анализа&lt;/li&gt;
&lt;li&gt;`Process Management Tools` — Инструменты управления процессами&lt;/li&gt;
&lt;li&gt;`Serving Infrastructure` — Инфраструктура для развёртывания&lt;/li&gt;
&lt;li&gt;`Monitoring` — Мониторинг&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;4. Петли обратной связи&lt;/h3&gt;
&lt;p&gt;Ключевая особенность работающих МО-систем — они часто начинают влиять на собственное поведение.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Прямые петли обратной связи.&lt;/b&gt; Модель напрямую влияет на выбор данных для своего будущего обучения. Например, система рекомендаций показывает пользователю определённые товары; если пользователь кликает на них, эти клики используются для дообучения модели, что закрепляет её текущее поведение.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Скрытые петли обратной связи.&lt;/b&gt; Две отдельные системы косвенно влияют друг на друга через реальный мир. Пример: одна система выбирает товары для показа на веб-странице, а другая — связанные с ними отзывы. Улучшение одной системы (например, показ более релевантных товаров) приведёт к изменению поведения пользователей (больше кликов), что, в свою очередь, повлияет на вторую систему (какие отзывы показывать).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5. Антипаттерны МО-систем&lt;/h3&gt;
&lt;p&gt;Для академического сообщества может быть удивительно, что в реальных МО-системах лишь малая часть кода (см. Рисунок 1) отвечает непосредственно за обучение или предсказание. Остальное — это инфраструктурная «обвязка».&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;«Код-клей» (Glue Code) &lt;?&gt;.&lt;/b&gt; Системный дизайн, при котором пишется огромное количество вспомогательного кода для передачи данных в универсальные МО-пакеты и из них. Этот код «приклеивает» систему к особенностям конкретного пакета, делая переход на альтернативы крайне дорогим. Иногда дешевле создать чистое нативное решение, чем использовать универсальный пакет, если 95% системы — это «код-клей».&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;?«Код-клей» — это код, который не реализует основную бизнес-логику, а служит только для «склеивания» различных, часто несовместимых между собой, программных компонентов или библиотек. Его большое количество — признак плохой архитектуры.?&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;«Джунгли конвейеров» (Pipeline Jungles).&lt;/b&gt; Особый случай «кода-клея», часто возникающий при подготовке данных. Системы превращаются в «джунгли» из скриптов для парсинга, объединения данных и сэмплирования, которыми сложно управлять и тестировать.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Мёртвые ветки экспериментального кода (Dead Experimental Codepaths).&lt;/b&gt; Часто для экспериментов в основной код добавляются временные условные ветки. Со временем они накапливаются, усложняя поддержку обратной совместимости и тестирование. Знаменитый пример — &lt;a href="https://habr.com/ru/articles/198766/"&gt;система Knight Capital, потерявшая $465 млн за 45 минут&lt;/a&gt; из-за непредвиденного поведения устаревшего экспериментального кода.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Долг абстракции (Abstraction Debt).&lt;/b&gt; В МО не хватает сильных, общепринятых абстракций, подобных реляционной базе данных в мире СУБД. Это размывает границы между компонентами системы.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Распространённые «запахи» кода в МО &lt;?&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;«Запах» простых типов данных (Plain-Old-Data Type Smell):&lt;/b&gt; Использование обычных `float` или `int` вместо более насыщенных типов. Например, параметр модели должен «знать», является он порогом принятия решения или множителем.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;«Запах» многоязычности (Multiple-Language Smell):&lt;/b&gt; Использование нескольких языков программирования в одной системе усложняет тестирование и передачу ответственности.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;«Запах» прототипа (Prototype Smell):&lt;/b&gt; Постоянное использование отдельной среды для прототипирования может указывать на то, что основная система слишком неповоротлива и сложна для изменений. Существует опасность, что под давлением сроков прототип будет запущен в продакшен.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;?«Запах» кода (Code Smells) — это термин, обозначающий признак в коде, который указывает на более глубокую проблему в архитектуре или дизайне системы. Это не ошибка, но повод для рефакторинга.?&gt;&lt;/p&gt;
&lt;h3&gt;6. Долг конфигурации&lt;/h3&gt;
&lt;p&gt;Конфигурация МО-систем — ещё одна область накопления долга. Любая крупная система имеет огромное количество настраиваемых опций. В зрелой системе количество строк конфигурации может значительно превышать количество строк кода. Ошибки в конфигурации могут приводить к потере времени, вычислительных ресурсов и проблемам в продакшене.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Принципы хорошей системы конфигурации:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Легко задавать новую конфигурацию как небольшое изменение предыдущей.&lt;/li&gt;
&lt;li&gt;Трудно допустить ошибку вручную.&lt;/li&gt;
&lt;li&gt;Легко визуально сравнить две конфигурации.&lt;/li&gt;
&lt;li&gt;Легко автоматически проверять базовые факты (количество признаков, зависимости).&lt;/li&gt;
&lt;li&gt;Возможность обнаруживать неиспользуемые или избыточные настройки.&lt;/li&gt;
&lt;li&gt;Конфигурации должны проходить ревью кода и храниться в репозитории.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;7. Работа с изменениями во внешнем мире&lt;/h3&gt;
&lt;p&gt;МО-системы увлекательны тем, что они напрямую взаимодействуют с внешним миром. Но внешний мир редко бывает стабилен, что создаёт постоянные затраты на поддержку.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Фиксированные пороги в динамических системах.&lt;/b&gt; Часто порог принятия решения (например, для классификации письма как спама) устанавливается вручную. Если модель обновляется на новых данных, этот старый порог может стать недействительным.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Мониторинг и тестирование.&lt;/b&gt; Необходимо в реальном времени отслеживать поведение системы. Ключевые метрики для мониторинга:
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Смещение предсказаний (Prediction Bias):&lt;/b&gt; Распределение предсказанных меток должно соответствовать распределению реальных меток. Отклонение этого показателя часто указывает на проблемы.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Ограничения на действия (Action Limits):&lt;/b&gt; В системах, которые выполняют действия в реальном мире (например, делают ставки на аукционе), полезно устанавливать «разумные» лимиты. Срабатывание такого лимита должно вызывать тревогу и требовать ручного вмешательства.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Поставщики данных (Up-Stream Producers):&lt;/b&gt; Системы, поставляющие данные для МО-модели, должны тщательно отслеживаться и тестироваться. Любые сбои в них должны немедленно передаваться в МО-систему.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;8. Другие области долга, связанного с МО&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Долг тестирования данных (Data Testing Debt).&lt;/b&gt; Если данные заменяют код, то данные, как и код, должны тестироваться.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Долг воспроизводимости (Reproducibility Debt).&lt;/b&gt; Воспроизводить эксперименты в реальных системах сложно из-за рандомизации, недетерминизма параллельных вычислений и взаимодействия с внешним миром.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Долг управления процессами (Process Management Debt).&lt;/b&gt; В зрелых системах могут работать сотни моделей одновременно. Это порождает проблемы с массовым обновлением конфигураций, управлением ресурсами и т.д.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Культурный долг (Cultural Debt).&lt;/b&gt; Жёсткая граница между «исследователями МО» и «инженерами» контрпродуктивна. Важно создавать культуру, в которой удаление признаков, снижение сложности и улучшение стабильности ценятся так же высоко, как и повышение точности.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;9. Выводы: Измерение и выплата долга&lt;/h3&gt;
&lt;p&gt;Технический долг — полезная метафора, но без строгой метрики. Как его измерить? Быстрое продвижение команды вперёд не является доказательством низкого долга, поскольку его полная стоимость становится очевидной только со временем.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Полезные вопросы для оценки долга:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Насколько легко протестировать совершенно новый алгоритмический подход в полном масштабе?&lt;/li&gt;
&lt;li&gt;Каково транзитивное замыкание всех зависимостей от данных?&lt;/li&gt;
&lt;li&gt;Насколько точно можно измерить влияние нового изменения на систему?&lt;/li&gt;
&lt;li&gt;Ухудшает ли улучшение одной модели или сигнала работу других?&lt;/li&gt;
&lt;li&gt;Как быстро новые члены команды могут войти в курс дела?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Выплата технического долга, связанного с МО, требует осознанного решения, которое часто может быть достигнуто только через изменение культуры команды. Признание, приоритизация и вознаграждение этих усилий важны для долгосрочного здоровья и успеха МО-команд.&lt;/p&gt;
</description>
</item>

<item>
<title>Сводная статья: Основы проектирования современного хранилища данных</title>
<guid isPermaLink="false">280</guid>
<link>https://gavrilov.info/all/svodnaya-statya-osnovy-proektirovaniya-sovremennogo-hranilischa/</link>
<pubDate>Tue, 16 Sep 2025 23:51:51 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/svodnaya-statya-osnovy-proektirovaniya-sovremennogo-hranilischa/</comments>
<description>
&lt;p&gt;Эта статья объединяет два материала из блога Apache SeaTunnel, посвященных фундаментальным принципам построения современных аналитических платформ. Мы рассмотрим перевод оригинальных текстов и затем погрузимся в детальный разбор упомянутой методологии.&lt;/p&gt;
&lt;p&gt;Источник: Apache SeaTunnel’s Substack&lt;br /&gt;
Даты: 5 сентября 2025 г. и 14 сентября 2025 г.&lt;/p&gt;
&lt;hr /&gt;
&lt;h5&gt;&lt;b&gt;Часть 1: Сводный перевод статей&lt;/b&gt;&lt;/h5&gt;
&lt;h6&gt;&lt;b&gt;(I) Принципы архитектуры модели данных: Четыре уровня и семь этапов, «краеугольный камень» моделирования Data Lake и хранилищ данных&lt;/b&gt;&lt;/h6&gt;
&lt;blockquote&gt;
&lt;p&gt;Руководство по проектированию и практическому применению Data Lake и хранилищ данных (2025) состоит из четырех последовательных частей. Следуя основной линии «архитектура модели – общие спецификации – спецификации наслоения – спецификации именования», оно позволяет системно построить современное озеро данных (data lake) и хранилище, которое может развиваться, управляться и использоваться совместно.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://substack.com/home/post/p-172756839"&gt;https://substack.com/home/post/p-172756839&lt;/a&gt;&lt;/p&gt;
&lt;h6&gt;&lt;b&gt;(II) Полное руководство по основным стандартам проектирования хранилищ данных: от уровней и типов до жизненного цикла&lt;/b&gt;&lt;/h6&gt;
&lt;blockquote&gt;
&lt;p&gt;Руководство по проектированию и практическому применению Data Lakehouse: стандарты моделирования и именования для Data Lakehouse (2025)» состоит из четырех прогрессивных руководств, структурированных по основной линии: Архитектура модели — Общие стандарты — Стандарты наслоения — Стандарты именования. Вместе они позволяют системно построить развиваемое, управляемое и совместно используемое современное data lakehouse.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://substack.com/home/post/p-173419940"&gt;https://substack.com/home/post/p-173419940&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h5&gt;&lt;b&gt;Часть 2: Разбор методологии — от уровней до жизненного цикла&lt;/b&gt;&lt;/h5&gt;
&lt;p&gt;Статьи описывают структурированный подход к созданию современных аналитических систем. Эта методология основана на нескольких ключевых концепциях, которые мы разберем подробно.&lt;/p&gt;
&lt;p&gt;Основная цель — создать «развиваемое, управляемое и совместно используемое» хранилище. Это означает, что система должна быть:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Развиваемой:&lt;/b&gt; Легко адаптируемой к новым источникам данных и бизнес-требованиям без необходимости полной перестройки.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Управляемой:&lt;/b&gt; Иметь четкие правила качества данных, безопасности и контроля доступа.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Совместно используемой:&lt;/b&gt; Данные должны быть понятны и доступны для разных команд и отделов компании.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Основой для этого служит подход, который статьи называют &lt;b&gt;«основной линией»&lt;/b&gt;:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Архитектура модели:&lt;/b&gt; Общий план строения хранилища.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Общие спецификации:&lt;/b&gt; Единые правила для всей системы (например, форматы дат, стандарты кодирования).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Спецификации наслоения:&lt;/b&gt; Правила и состав данных для каждого архитектурного уровня.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Спецификации именования:&lt;/b&gt; Единые правила наименования таблиц, полей и других объектов для их легкой идентификации (например, `fct_` для таблиц фактов, `dim_` для измерений, `mart_` для витрин).&lt;/li&gt;
&lt;/ol&gt;
&lt;h6&gt;Четыре архитектурных уровня&lt;/h6&gt;
&lt;p&gt;Это — костяк всей системы, по которому данные движутся и преобразуются от “сырых” до готовых к анализу.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. `ODS` (Operational Data Store — Оперативное хранилище данных)&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Назначение:&lt;/b&gt; Первый слой для приема данных из различных систем-источников (базы данных сайта, CRM, ERP, мобильные приложения).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Состояние данных:&lt;/b&gt; «Сырые» или минимально обработанные данные. Их структура максимально приближена к оригиналу. Этот слой служит буфером и архивом.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Пример:&lt;/b&gt; Каждый час система автоматически копирует новые записи о заказах из базы данных интернет-магазина и данные о клиентах из CRM в отдельные таблицы в слое `ODS`. Данные хранятся “как есть”.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;2. `DW` (Data Warehouse — Хранилище данных)&lt;/b&gt;&lt;br /&gt;
Это центральный и самый сложный слой, где происходит основная магия: очистка, интеграция и моделирование данных. Он делится на три подслоя:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;`DWD` (Data Warehouse Detail — Детальный слой)&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Назначение:&lt;/b&gt; Создание «единого источника правды». Данные из `ODS` очищаются, унифицируются (например, все статусы “Доставлен”, “delivered”, “Complete” приводятся к единому формату `delivered`) и связываются между собой.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Состояние данных:&lt;/b&gt; Очищенные, детализированные, исторически полные данные. Здесь хранятся все транзакции и события в их самой гранулярной форме.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Пример:&lt;/b&gt; На основе сырых данных о заказах из `ODS` создается таблица `dwd_orders`, где у каждого заказа есть уникальный идентификатор, ссылка на клиента, очищенный статус и стандартизированная дата.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;`DWM` (Data Warehouse Middle — Промежуточный слой / Слой моделей)&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Назначение:&lt;/b&gt; Агрегация и трансформация данных для бизнес-аналитики. Здесь детальные данные из `DWD` преобразуются в модели «звезда» или «снежинка», состоящие из фактов (события, транзакции) и измерений (справочники).&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Состояние данных:&lt;/b&gt; Структурированные, готовые для анализа данные.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Пример:&lt;/b&gt; На основе `dwd_orders` создается таблица фактов `fct_sales` (содержащая количество, сумму, скидку) и связанные с ней таблицы-измерения: `dim_customers` (клиенты), `dim_products` (товары), `dim_calendar` (календарь).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;`DWS` (Data Warehouse Service/Summary — Слой витрин данных)&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Назначение:&lt;/b&gt; Предоставление данных конечным пользователям. Витрина — это набор данных, подготовленный для конкретного отдела или задачи.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Состояние данных:&lt;/b&gt; Предварительно агрегированные, узкоспециализированные данные.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Пример:&lt;/b&gt; Для отдела маркетинга создается витрина `mart_marketing_performance`, где продажи агрегированы по дням, рекламным кампаниям и регионам. Это позволяет маркетологам быстро оценивать эффективность своих действий, не обращаясь к сложным моделям слоя `DWM`.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;3. `APP` (Application — Слой приложений)&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Назначение:&lt;/b&gt; Слой визуализации и потребления данных. С ним работают конечные бизнес-пользователи.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Пример:&lt;/b&gt; BI-системы (Power BI, Tableau, Looker), которые подключаются к витринам данных в `DWS` и строят на их основе интерактивные дашборды, графики и отчеты.&lt;/li&gt;
&lt;/ul&gt;
&lt;h6&gt;Семь этапов жизненного цикла данных&lt;/h6&gt;
&lt;p&gt;Хотя в статьях этапы не расшифровываются, они логически вытекают из описанной архитектуры и представляют собой полный путь данных от источника до пользователя.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Сбор (Source):&lt;/b&gt; Определение и доступ к источникам данных (БД, API, файлы).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Загрузка (Ingestion):&lt;/b&gt; Перемещение данных из источников в слой `ODS`.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Хранение (Storage):&lt;/b&gt; Размещение сырых данных в операционном хранилище (`ODS`).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Очистка и Интеграция (Cleansing &amp; Integration):&lt;/b&gt; Преобразование данных и создание детального слоя (`DWD`).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Моделирование (Modeling):&lt;/b&gt; Построение аналитических моделей (таблиц фактов и измерений) в слое `DWM`.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Агрегация (Aggregation/Serving):&lt;/b&gt; Создание витрин данных для конкретных нужд в слое `DWS`.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Визуализация и Анализ (Visualization &amp; Analysis):&lt;/b&gt; Потребление данных через BI-инструменты в слое `APP`.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h5&gt;&lt;b&gt;Итог: Создание современного хранилища данных&lt;/b&gt;&lt;/h5&gt;
&lt;p&gt;Представленная методология — это не просто техническая инструкция, а фундаментальная философия управления данными. В мире, где данные часто хаотичны и разрозненны, такой структурированный подход позволяет навести порядок.&lt;/p&gt;
&lt;p&gt;Разделение на слои решает несколько ключевых проблем:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Изоляция изменений:&lt;/b&gt; Изменение в системе-источнике повлияет только на слой `ODS`, а не на всё хранилище.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Надежность:&lt;/b&gt; Данные проходят последовательную проверку и обогащение, что повышает доверие к ним.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Производительность:&lt;/b&gt; Пользователи работают с быстрыми, предварительно агрегированными витринами данных (`DWS`), а не с огромными детализированными таблицами.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Таким образом, следование принципам &lt;b&gt;четырех уровней и семи этапов&lt;/b&gt; позволяет построить не просто базу данных, а надежную, масштабируемую и понятную аналитическую платформу, которая становится настоящим «краеугольным камнем» для принятия решений на основе данных в любой современной компании.&lt;/p&gt;
</description>
</item>

<item>
<title>Описание патерна Slowly Changing Dimensions (SCD)</title>
<guid isPermaLink="false">267</guid>
<link>https://gavrilov.info/all/opisanie-paterna-slowly-changing-dimensions-scd/</link>
<pubDate>Sat, 16 Aug 2025 23:24:59 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/opisanie-paterna-slowly-changing-dimensions-scd/</comments>
<description>
&lt;p&gt;&lt;b&gt;Slowly Changing Dimensions (SCD)&lt;/b&gt;, или &lt;b&gt;Медленно меняющиеся измерения&lt;/b&gt;, — это концепция и набор методов из области хранилищ данных (Data Warehousing), которые используются для управления изменениями в атрибутах измерений с течением времени. Измерения — это справочные таблицы, которые описывают бизнес-сущности, такие как клиенты, продукты, сотрудники, географические регионы.&lt;/p&gt;
&lt;p&gt;Атрибуты этих сущностей (например, адрес клиента или категория продукта) меняются, но обычно не очень часто — отсюда и название “медленно меняющиеся”. Основная задача SCD — решить, как хранить эти изменения, чтобы обеспечить точность исторических отчетов &lt;a href="https://www.datacamp.com/tutorial/mastering-slowly-changing-dimensions-scd"&gt;www.datacamp.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Например, если вы просто перезапишете адрес клиента, вы потеряете информацию о том, где он жил раньше. Это может исказить анализ продаж по регионам за прошлые периоды. Патерны SCD предлагают различные стратегии для решения этой проблемы.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/opisanie-paterna-slowly-changing-dimensions-scd.png" width="1060" height="720" alt="" /&gt;
&lt;/div&gt;
&lt;h4&gt;Основные типы SCD&lt;/h4&gt;
&lt;p&gt;Существует несколько типов SCD, но самыми распространенными и фундаментальными являются Типы 1, 2 и 3.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h5&gt;Тип 1: Перезапись атрибута (Overwrite)&lt;/h5&gt;
&lt;p&gt;Это самый простой подход. При изменении атрибута старое значение просто перезаписывается новым.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как работает:** Находится существующая запись в таблице измерения и значение в нужном столбце обновляется.&lt;/li&gt;
&lt;li&gt;Когда использовать:** Когда нет необходимости хранить историю изменений. Например, для исправления опечатки в имени клиента.&lt;/li&gt;
&lt;li&gt;Преимущества:** Простота реализации, не требует увеличения объема хранилища.&lt;/li&gt;
&lt;li&gt;Недостатки:&lt;b&gt; **История изменений полностью теряется.&lt;/b&gt; Анализ, основанный на исторических значениях атрибута, становится невозможным.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
У нас есть клиент Анна Петрова, которая живет в Москве.&lt;/p&gt;
&lt;p&gt;*Таблица `DimCustomer` до изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;CustomerKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Анна переезжает в Санкт-Петербург. При использовании &lt;b&gt;SCD Тип 1&lt;/b&gt; таблица будет обновлена:&lt;/p&gt;
&lt;p&gt;*Таблица `DimCustomer` после изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;CustomerKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: right"&gt;Санкт-Петербург&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Теперь невозможно узнать, что раньше Анна жила в Москве.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h5&gt;Тип 2: Добавление новой строки (Add New Row)&lt;/h5&gt;
&lt;p&gt;Это самый распространенный и мощный тип SCD, так как он позволяет сохранять полную историю изменений.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как работает:** Вместо перезаписи существующей записи, создается новая запись для той же сущности (например, того же клиента). Старая запись помечается как неактуальная (истекшая), а новая — как актуальная. Для этого в таблицу измерения обычно добавляют несколько служебных столбцов &lt;a href="https://learn.microsoft.com/en-us/fabric/data-factory/slowly-changing-dimension-type-two"&gt;learn.microsoft.com&lt;/a&gt;:
&lt;ul&gt;
  &lt;li&gt;`StartDate` / `EffectiveDate` — дата, с которой запись стала актуальной.&lt;/li&gt;
  &lt;li&gt;`EndDate` — дата, когда запись перестала быть актуальной.&lt;/li&gt;
  &lt;li&gt;`IsCurrent` / `CurrentFlag` — флаг (например, ‘Yes’/’No’ или 1/0), показывающий, является ли эта запись текущей.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Когда использовать:** Когда сохранение истории критически важно для анализа. Это стандартный выбор для большинства атрибутов в хранилищах данных.&lt;/li&gt;
&lt;li&gt;Преимущества:** Сохраняется полная, точная история. Позволяет проводить корректный point-in-time анализ (анализ на определенный момент времени).&lt;/li&gt;
&lt;li&gt;Недостатки:** Увеличивается объем таблицы, так как для одного клиента может быть несколько записей. Запросы могут стать сложнее (нужно фильтровать по флагу `IsCurrent` или по диапазону дат) &lt;a href="https://hevodata.com/learn/slowly-changing-dimensions/"&gt;hevodata.com&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
Снова используем пример с Анной Петровой.&lt;/p&gt;
&lt;p&gt;*Таблица `DimCustomer` до изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;SurrogateKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;td style="text-align: center"&gt;StartDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;EndDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;IsCurrent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: right"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;td style="text-align: center"&gt;2020-01-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;NULL&lt;/td&gt;
&lt;td style="text-align: center"&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Анна переезжает 16 августа 2024 года. При использовании &lt;b&gt;SCD Тип 2&lt;/b&gt; таблица изменится так:&lt;/p&gt;
&lt;p&gt;*Таблица `DimCustomer` после изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;SurrogateKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;td style="text-align: center"&gt;StartDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;EndDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;IsCurrent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: right"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;td style="text-align: center"&gt;2020-01-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;2024-08-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;2&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: right"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: right"&gt;Санкт-Петербург&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;2024-08-16&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;NULL&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Yes&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Теперь мы сохранили всю историю перемещений Анны.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h5&gt;Тип 3: Добавление нового атрибута (Add New Attribute)&lt;/h5&gt;
&lt;p&gt;Этот тип сохраняет ограниченную историю, добавляя в таблицу отдельный столбец для предыдущего значения атрибута.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как работает:** Создается новый столбец, например, `PreviousCity`. Когда атрибут `City` меняется, его старое значение копируется в `PreviousCity`, а новое записывается в `City`.&lt;/li&gt;
&lt;li&gt;Когда использовать:** Когда важно отслеживать только предыдущее состояние для сравнения, а более глубокая история не нужна.&lt;/li&gt;
&lt;li&gt;Преимущества:** Простота реализации, не увеличивает количество строк, легко запрашивать текущее и предыдущее значения.&lt;/li&gt;
&lt;li&gt;Недостатки:** Сохраняет историю только на один шаг назад. Не масштабируется, если нужно хранить более двух-трех последних значений.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
Анна переезжает из Москвы в Санкт-Петербург.&lt;/p&gt;
&lt;p&gt;*Таблица `DimCustomer` до изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;CustomerKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;CurrentCity&lt;/td&gt;
&lt;td style="text-align: center"&gt;PreviousCity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;td style="text-align: center"&gt;NULL&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;*Таблица `DimCustomer` после изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;CustomerKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;CurrentCity&lt;/td&gt;
&lt;td style="text-align: center"&gt;PreviousCity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Санкт-Петербург&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Москва&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Если Анна переедет снова, значение “Москва” будет потеряно.&lt;/p&gt;
&lt;h4&gt;Другие типы SCD&lt;/h4&gt;
&lt;p&gt;Существуют и более сложные гибридные типы:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Тип 4 (History Table):** Основная таблица измерения хранит только текущие данные (как Тип 1), а вся история изменений выносится в отдельную таблицу. Это полезно, когда изменения происходят часто в очень больших таблицах измерений &lt;a href="https://medium.com/@zivilevalutytesilveira/slowly-changing-dimensions-in-data-warehousing-9479699bf40f"&gt;medium.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Тип 6 (Hybrid):** Комбинирует подходы Типов 1, 2 и 3. Например, в таблице хранятся поля для полной истории (SCD2) и одновременно поле для текущего значения (SCD1 для быстрого доступа) и предыдущего значения (SCD3 для сравнения).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Тип 4: Добавление исторической таблицы (History Table / Audit Table)&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Идея:&lt;/b&gt; Разделить текущие данные и исторические данные в разные таблицы для оптимизации производительности.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как работает:** Создаются две таблицы:
&lt;ol start="1"&gt;
  &lt;li&gt;&lt;b&gt;Таблица измерения (Dimension Table):&lt;/b&gt; Хранит *только* текущие, самые последние данные. Эта таблица по своей сути работает как &lt;b&gt;SCD Тип 1&lt;/b&gt; (данные просто перезаписываются). Она маленькая, быстрая и идеально подходит для большинства запросов, где история не нужна.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Историческая таблица (History Table):&lt;/b&gt; Хранит всю историю изменений. Каждый раз, когда в основной таблице происходит изменение, старая версия строки (до обновления) добавляется в историческую таблицу. Эта таблица часто содержит служебные поля, как в SCD Тип 2 (`StartDate`, `EndDate`, `Version`), для отслеживания временного периода.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Когда использовать:** Когда у вас есть очень большая таблица измерений (например, десятки миллионов клиентов), и большинство аналитических запросов относится только к текущим данным. Разделение таблиц позволяет сделать эти частые запросы очень быстрыми, не жертвуя при этом возможностью проводить глубокий исторический анализ при необходимости.&lt;/li&gt;
&lt;li&gt;Преимущества:**
&lt;ul&gt;
  &lt;li&gt;Высокая производительность для запросов к текущим данным.&lt;/li&gt;
  &lt;li&gt;Логическое разделение данных: актуальные и исторические.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Недостатки:**
&lt;ul&gt;
  &lt;li&gt;Усложнение ETL/ELT процесса, так как нужно управлять двумя таблицами.&lt;/li&gt;
  &lt;li&gt;Анализ, требующий одновременного доступа к историческим и текущим данным, усложняется, так как требует `JOIN` или `UNION` между двумя таблицами.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
Клиент Анна Петрова переезжает из Москвы в Санкт-Петербург.&lt;/p&gt;
&lt;p&gt;*Таблицы &lt;b&gt;до&lt;/b&gt; изменений:*&lt;/p&gt;
&lt;p&gt;`DimCustomer` (основная таблица)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: right"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;`HistoryCustomer` (историческая таблица) – *пустая*&lt;/p&gt;
&lt;p&gt;*Процесс изменения:*&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Перед&lt;/b&gt; обновлением основной таблицы, текущая строка (Анна в Москве) копируется в `HistoryCustomer`.&lt;/li&gt;
&lt;li&gt;Затем основная таблица `DimCustomer` обновляется новым значением.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;*Таблицы &lt;b&gt;после&lt;/b&gt; изменений:*&lt;/p&gt;
&lt;p&gt;`DimCustomer` (всегда хранит только актуальные данные)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: right"&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Санкт-Петербург&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;`HistoryCustomer` (накапливает историю)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;HistoryID&lt;/td&gt;
&lt;td style="text-align: right"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;td style="text-align: center"&gt;StartDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;EndDate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td&gt;Анна Петрова&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Москва&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;2020-01-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;2024-08-15&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;h4&gt;Тип 5: Гибридный подход (Mini-Dimension + Type 1 Outrigger)&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Идея:&lt;/b&gt; Вынести часто меняющиеся атрибуты из большой таблицы измерений в отдельную “мини-таблицу”, чтобы избежать “раздувания” основной таблицы.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как работает:**
&lt;ol start="1"&gt;
  &lt;li&gt;Из основной таблицы измерения (например, `DimCustomer`) выделяется группа атрибутов, которые часто меняются вместе (например, “Тарифный план”, “Статус подписки”).&lt;/li&gt;
  &lt;li&gt;Создается отдельная таблица — “мини-измерение” (например, `DimSubscriptionProfile`) — только для этих атрибутов. Эта мини-таблица управляется по &lt;b&gt;SCD Тип 2&lt;/b&gt; (добавление новой строки для каждого уникального набора значений).&lt;/li&gt;
  &lt;li&gt;В основной таблице `DimCustomer` эти атрибуты удаляются, и вместо них добавляется один внешний ключ (например, `SubscriptionProfileKey`), который ссылается на мини-измерение.&lt;/li&gt;
  &lt;li&gt;Этот ключ в основной таблице `DimCustomer` обновляется по принципу &lt;b&gt;SCD Тип 1&lt;/b&gt; (просто перезаписывается), указывая на *актуальную* запись в мини-измерении.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Когда использовать:** В очень больших (широких и/или с большим количеством строк) таблицах измерений, где лишь небольшая группа атрибутов меняется относительно часто. Это позволяет отслеживать историю этих атрибутов, не создавая новую многомиллионную запись в основной таблице при каждом изменении.&lt;/li&gt;
&lt;li&gt;Преимущества:**
&lt;ul&gt;
  &lt;li&gt;Экономия места и контроль над ростом основной таблицы измерения.&lt;/li&gt;
  &lt;li&gt;Позволяет вести детальную историю для подгруппы атрибутов.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Недостатки:**
&lt;ul&gt;
  &lt;li&gt;Более сложная модель данных, требующая дополнительных `JOIN`.&lt;/li&gt;
  &lt;li&gt;Может быть сложнее для понимания конечными пользователями.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
Клиент Иван меняет свой тарифный план.&lt;/p&gt;
&lt;p&gt;*Таблицы &lt;b&gt;до&lt;/b&gt; изменений:*&lt;/p&gt;
&lt;p&gt;`DimCustomer`&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: right"&gt;CustomerKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;SubscriptionProfileKey&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;202&lt;/td&gt;
&lt;td style="text-align: center"&gt;Иван Иванов&lt;/td&gt;
&lt;td style="text-align: center"&gt;55&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;`DimSubscriptionProfile` (мини-измерение, управляется по SCD2)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;ProfileKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;Plan&lt;/td&gt;
&lt;td style="text-align: center"&gt;Status&lt;/td&gt;
&lt;td style="text-align: center"&gt;IsCurrent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;55&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;Basic&lt;/td&gt;
&lt;td style="text-align: center"&gt;Active&lt;/td&gt;
&lt;td style="text-align: center"&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;*Процесс изменения:* Иван переходит на план “Premium”.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;В `DimSubscriptionProfile` добавляется новая строка для “Premium”, а старая помечается как неактуальная.&lt;/li&gt;
&lt;li&gt;В `DimCustomer` у Ивана обновляется ключ `SubscriptionProfileKey`.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;*Таблицы &lt;b&gt;после&lt;/b&gt; изменений:*&lt;/p&gt;
&lt;p&gt;`DimCustomer` (здесь изменился только ключ)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: right"&gt;CustomerKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;FullName&lt;/td&gt;
&lt;td style="text-align: center"&gt;SubscriptionProfileKey&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;202&lt;/td&gt;
&lt;td style="text-align: center"&gt;Иван Иванов&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;56&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;`DimSubscriptionProfile` (здесь хранится вся история)&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;ProfileKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;Plan&lt;/td&gt;
&lt;td style="text-align: center"&gt;Status&lt;/td&gt;
&lt;td style="text-align: center"&gt;IsCurrent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;55&lt;/td&gt;
&lt;td style="text-align: center"&gt;Basic&lt;/td&gt;
&lt;td style="text-align: center"&gt;Active&lt;/td&gt;
&lt;td style="text-align: center"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;56&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Premium&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Active&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Yes&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;h4&gt;Тип 6: Гибридный (Комбинация Типа 1, 2 и 3)&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Идея:&lt;/b&gt; Обеспечить максимальную гибкость для анализа, объединив сильные стороны трех основных типов в одной таблице.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Как работает:&lt;b&gt; Этот тип строится на основе **SCD Тип 2&lt;/b&gt; (добавление новой строки для истории), но с добавлением атрибутов из &lt;b&gt;SCD Тип 1&lt;/b&gt; (перезапись) для упрощения некоторых запросов.
&lt;ul&gt;
  &lt;li&gt;Основная структура — это SCD Тип 2: есть строки для каждой исторической версии с полями `StartDate`, `EndDate` и `IsCurrent`. Поле атрибута (например, `City`) хранит значение, актуальное на тот исторический период.&lt;/li&gt;
  &lt;li&gt;Дополнительно в таблицу добавляется столбец `CurrentCity`. Этот столбец для *всех* записей одного клиента (и исторических, и текущей) всегда хранит &lt;b&gt;актуальное на данный момент&lt;/b&gt; значение (поведение SCD Тип 1).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Когда использовать:** Когда аналитикам часто нужно отвечать на два типа вопросов:
&lt;ol start="1"&gt;
  &lt;li&gt;“Каким был город клиента на момент продажи?” (Используется историческое поле `City`).&lt;/li&gt;
  &lt;li&gt;“Каковы продажи всем клиентам, которые *сейчас* живут в Москве, за всю историю?” (Используется поле `CurrentCity` для фильтрации).&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Преимущества:**
&lt;ul&gt;
  &lt;li&gt;Невероятная гибкость анализа без сложных `JOIN` или подзапросов для определения текущего состояния.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Недостатки:**
&lt;ul&gt;
  &lt;li&gt;Усложнение ETL/ELT. При изменении адреса нужно не только создать новую строку и закрыть старую, но и обновить поле `CurrentCity` во &lt;b&gt;всех&lt;/b&gt; предыдущих строках для этого клиента. Это может быть ресурсозатратно.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
Снова Анна, переезжающая из Москвы в Санкт-Петербург.&lt;/p&gt;
&lt;p&gt;*Таблица `DimCustomer` &lt;b&gt;до&lt;/b&gt; изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;SurrogateKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;td style="text-align: center"&gt;CurrentCity&lt;/td&gt;
&lt;td style="text-align: center"&gt;StartDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;EndDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;IsCurrent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;td style="text-align: center"&gt;Москва&lt;/td&gt;
&lt;td style="text-align: center"&gt;2020-01-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;NULL&lt;/td&gt;
&lt;td style="text-align: center"&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;*Процесс изменения:*&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Старая строка “закрывается” (обновляется `EndDate`, `IsCurrent` = ‘No’).&lt;/li&gt;
&lt;li&gt;Создается новая актуальная строка.&lt;/li&gt;
&lt;li&gt;Во &lt;b&gt;всех строках&lt;/b&gt; для CustomerID=101 поле `CurrentCity` обновляется до “Санкт-Петербург”.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;*Таблица `DimCustomer` &lt;b&gt;после&lt;/b&gt; изменений:*&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;SurrogateKey&lt;/td&gt;
&lt;td style="text-align: center"&gt;CustomerID&lt;/td&gt;
&lt;td style="text-align: center"&gt;City&lt;/td&gt;
&lt;td style="text-align: center"&gt;CurrentCity&lt;/td&gt;
&lt;td style="text-align: center"&gt;StartDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;EndDate&lt;/td&gt;
&lt;td style="text-align: center"&gt;IsCurrent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;td style="text-align: left"&gt;:---&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;1&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Москва&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Санкт-Петербург&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;2020-01-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;2024-08-15&lt;/td&gt;
&lt;td style="text-align: center"&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;2&lt;/td&gt;
&lt;td style="text-align: center"&gt;101&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Санкт-Петербург&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;b&gt;Санкт-Петербург&lt;/b&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;2024-08-16&lt;/td&gt;
&lt;td style="text-align: center"&gt;NULL&lt;/td&gt;
&lt;td style="text-align: center"&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Теперь можно легко отфильтровать по `City` для исторического анализа или по `CurrentCity` для анализа в разрезе текущего состояния.&lt;/p&gt;
&lt;h4&gt;Ссылки для дальнейшего изучения&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft Fabric:** Slowly changing dimension type 2 &lt;a href="https://learn.microsoft.com/en-us/fabric/data-factory/slowly-changing-dimension-type-two"&gt;https://learn.microsoft.com/en-us/fabric/data-factory/slowly-changing-dimension-type-two&lt;/a&gt; — Хорошее описание и пример реализации SCD Тип 2.&lt;/li&gt;
&lt;li&gt;DataCamp:** Mastering Slowly Changing Dimensions (SCD) &lt;a href="https://www.datacamp.com/tutorial/mastering-slowly-changing-dimensions-scd"&gt;https://www.datacamp.com/tutorial/mastering-slowly-changing-dimensions-scd&lt;/a&gt; — Комплексный учебник по основным типам SCD.&lt;/li&gt;
&lt;li&gt;HevoData:** Slowly Changing Dimensions(SCD): Types with Examples &lt;a href="https://hevodata.com/learn/slowly-changing-dimensions/"&gt;https://hevodata.com/learn/slowly-changing-dimensions/&lt;/a&gt; — Детальное объяснение всех основных типов с примерами.&lt;/li&gt;
&lt;li&gt;ThoughtSpot:** Slowly Changing Dimensions (SCD): 4 Types &amp; How to ...&lt;a href="https://www.thoughtspot.com/data-trends/data-modeling/slowly-changing-dimensions-in-data-warehouse"&gt;https://www.thoughtspot.com/data-trends/data-modeling/slowly-changing-dimensions-in-data-warehouse&lt;/a&gt; — Еще один ресурс с обзором и сравнением типов SCD.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Идея: Концептуальная архитектура: SCD на стеке Lakehouse + Data Mesh + dbt&lt;/p&gt;
&lt;p&gt;Основная идея заключается в создании надежных, версионируемых и децентрализованных “продуктов данных”, одним из которых является таблица измерений с полной историей (SCD). (Автоматическая)&lt;/p&gt;
&lt;p&gt;Вот как компоненты взаимодействуют друг с другом:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Lakehouse (Основа):&lt;/b&gt; Это наша физическая среда. Мы используем открытое озеро данных (например, S3, ADLS) для хранения, а поверх него — табличный формат &lt;b&gt;Apache Iceberg&lt;/b&gt;. Iceberg предоставляет нам ACID-транзакции, эволюцию схемы и, что самое важное для SCD, атомарные и эффективные операции `MERGE` (`UPDATE`/`INSERT`/`DELETE`) на уровне строк прямо в озере данных.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Data Mesh (Философия организации):&lt;/b&gt; Вместо централизованной команды данных, мы принимаем философию Data Mesh. A “Команда домена Клиенты” несет полную ответственность за все данные, связанные с клиентами. Их задача — предоставить остальной компании высококачественный продукт данных под названием `dim_customers`. Этот продукт должен включать полную историю изменений (SCD Type 2).&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;ETL/ELT (Процесс):&lt;/b&gt; Это конвейер, по которому данные текут от источника к потребителю.
&lt;ul&gt;
  &lt;li&gt;Extract &amp; Load:&lt;b&gt; Исходные данные (например, изменения в базе данных клиентов) захватываются с помощью CDC (Change Data Capture) инструментов типа Debezium и попадают в **Kafka&lt;/b&gt;. Оттуда они загружаются (Load) в “бронзовый” слой нашего Lakehouse (в сыром виде, в таблицы Iceberg).&lt;/li&gt;
  &lt;li&gt;Transform:&lt;b&gt; Здесь в игру вступает **dbt&lt;/b&gt;. Команда домена использует `dbt` для преобразования сырых данных из бронзового слоя в готовую к использованию модель в “серебряном” слое — нашу таблицу `dim_customers`.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;b&gt;dbt (Инструмент автоматизации SCD):&lt;/b&gt; `dbt` является сердцем автоматизации. Он не просто выполняет SQL-скрипты. У него есть встроенный функционал для реализации SCD Type 2, который называется &lt;b&gt;`Snapshots`&lt;/b&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h4&gt;Сценарий 1: Автоматическое формирование SCD с помощью `dbt snapshots`&lt;/h4&gt;
&lt;p&gt;Это наиболее распространенный, надежный и идиоматический способ реализации идеи.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Как это работает:&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Источник:&lt;/b&gt; У нас есть “бронзовая” таблица `bronze_customers`, которая содержит текущее состояние всех клиентов. Эта таблица обновляется периодически (например, раз в час) новыми данными из Kafka.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;dbt Snapshot:&lt;/b&gt; В проекте `dbt` команда домена создает файл “снэпшота” (`snapshot/customers_snapshot.sql`). Внутри него описывается, как `dbt` должен отслеживать изменения.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;{% snapshot customers_snapshot %}

    {{
        config(
          target_schema='silver',
          unique_key='customer_id',
          strategy='check',
          check_cols=['address', 'email', 'phone_number'],
          updated_at='last_modified_at',
        )
    }}

    select * from {{ source('bronze', 'customers') }}

    {% endsnapshot %}&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Автоматизация:&lt;/b&gt; Оркестратор (например, Airflow) запускает команду `dbt snapshot` по расписанию.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Что делает dbt “под капотом”:&lt;/b&gt;
&lt;ul&gt;
  &lt;li&gt;Он сравнивает записи из исходной таблицы (`bronze_customers`) с текущими записями в целевой таблице (`silver.customers_snapshot`).&lt;/li&gt;
  &lt;li&gt;Используя `unique_key` (`customer_id`), он находит совпадающие записи.&lt;/li&gt;
  &lt;li&gt;С помощью стратегии `check` он проверяет, изменилось ли значение в любом из столбцов, перечисленных в `check_cols`.&lt;/li&gt;
  &lt;li&gt;Если изменение обнаружено:
&lt;ul&gt;
    &lt;li&gt;Он обновляет старую запись в целевой таблице, проставляя ей дату окончания актуальности (`dbt_valid_to`).&lt;/li&gt;
    &lt;li&gt;Он вставляет новую строку с обновленными данными и датой начала актуальности (`dbt_valid_from`).&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt;
  &lt;li&gt;`dbt` генерирует одну атомарную операцию `MERGE` для таблицы Iceberg, которая эффективно выполняет все эти обновления и вставки за одну транзакцию.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Результат:&lt;/b&gt; В `silver.customers_snapshot` мы получаем идеальную таблицу SCD Type 2, которая обновляется автоматически и надежно, без написания сложной логики `MERGE` вручную.&lt;/p&gt;
</description>
</item>

<item>
<title>Описание патерна Write-Audit-Publish</title>
<guid isPermaLink="false">266</guid>
<link>https://gavrilov.info/all/opisanie-paterna-write-audit-publish/</link>
<pubDate>Sat, 16 Aug 2025 22:46:33 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/opisanie-paterna-write-audit-publish/</comments>
<description>
&lt;p&gt;Кстати, хорошо ложится на git-like подход работы с данными.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-208.png" width="800" height="971" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Ссылка: &lt;a href="https://habr.com/ru/articles/93773"&gt;https://habr.com/ru/articles/93773&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Write-Audit-Publish (WAP)&lt;/b&gt; — это патерн проектирования в инженерии данных, предназначенный для повышения надежности и качества данных перед тем, как они станут доступны конечным потребителям (аналитикам, дашбордам, другим системам).&lt;/p&gt;
&lt;p&gt;Основная цель WAP — предотвратить попадание некорректных, неполных или ошибочных данных в “production” среду. Вместо того чтобы записывать данные напрямую в целевую таблицу, процесс разделяется на три изолированных этапа &lt;a href="https://lakefs.io/blog/what-is-write-audit-publish"&gt;lakefs.io&lt;/a&gt;.&lt;/p&gt;
&lt;h5&gt;Как это работает?&lt;/h5&gt;
&lt;p&gt;Процесс WAP состоит из трех логических шагов:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Write (Запись)&lt;/b&gt;  &lt;br /&gt;
На этом этапе данные (новые или обновленные) записываются в промежуточную, изолированную область. Это может быть отдельная таблица, временный каталог в озере данных или, что более современно, отдельная ветка (branch) в табличном формате, таком как Apache Iceberg. Ключевой момент — эти данные &lt;b&gt;не видны&lt;/b&gt; конечным потребителям.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Audit (Аудит/Проверка)&lt;/b&gt;  &lt;br /&gt;
После записи данные в изолированной области подвергаются всесторонней проверке. Этот этап — сердце патерна. Проверки могут включать:&lt;/li&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Технические проверки:&lt;/b&gt; соответствие схеме данных, отсутствие `NULL` в ключевых полях, уникальность идентификаторов.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Бизнес-логика:&lt;/b&gt; проверка на соответствие бизнес-правилам (например, сумма заказа не может быть отрицательной).&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Статистические проверки:&lt;/b&gt; выявление аномалий и выбросов.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Сравнительные проверки:&lt;/b&gt; сверка с данными из других таблиц или систем.  &lt;br /&gt;
Если аудит не пройден, данные остаются в изоляции для анализа и исправления, не затрагивая при этом рабочую среду.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Publish (Публикация)&lt;/b&gt;  &lt;br /&gt;
Только если этап аудита успешно пройден, данные публикуются, то есть становятся видимыми для конечных пользователей. Этот процесс, как правило, является &lt;b&gt;атомарной операцией&lt;/b&gt;. Это означает, что все изменения применяются одновременно, как единая транзакция. Потребители видят либо старое состояние данных, либо полностью обновленное и проверенное, без промежуточных, грязных состояний.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Примеры использования и реализации&lt;/h4&gt;
&lt;p&gt;Патерн WAP не привязан к конкретной технологии, но некоторые современные инструменты делают его реализацию особенно удобной.&lt;/p&gt;
&lt;h5&gt;1. Apache Iceberg&lt;/h5&gt;
&lt;p&gt;Apache Iceberg, открытый табличный формат для озер данных, идеально подходит для реализации WAP благодаря своей поддержке ветвления (branching) и тегирования (tagging), похожей на Git.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Write:&lt;/b&gt; Новые данные записываются не в основную ветку `main`, а в отдельную ветку, например `ingestion_updates_20240816`.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Audit:&lt;/b&gt; Запросы на проверку качества данных выполняются исключительно к данным в этой новой ветке.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Publish:&lt;/b&gt; Если проверки прошли успешно, основная ветка `main` “перематывается” (fast-forward) на состояние ветки `ingestion_updates_20240816`. Эта операция метаданных происходит мгновенно и атомарно. Если проверки не пройдены, ветка просто удаляется &lt;a href="https://www.tabular.io/apache-iceberg-cookbook/data-engineering-write-audit-publish"&gt;www.tabular.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Этот подход также позволяет координировать обновления для нескольких таблиц, используя общее имя ветки, проводить перекрестные проверки, а затем публиковать все изменения одновременно для обеспечения консистентности &lt;a href="https://www.tabular.io/apache-iceberg-cookbook/data-engineering-write-audit-publish"&gt;www.tabular.io&lt;/a&gt;.&lt;/p&gt;
&lt;h5&gt;2. Snowflake&lt;/h5&gt;
&lt;p&gt;В облачном хранилище данных Snowflake патерн WAP также может быть эффективно реализован.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Write:&lt;/b&gt; Данные загружаются во временную или “staging” таблицу.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Audit:&lt;/b&gt; С помощью SQL-запросов и инструментов, таких как `Snowflake Tasks`, выполняются проверки данных в этой staging-таблице.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Publish:&lt;/b&gt; Если данные корректны, они атомарно переносятся в основную, “production” таблицу с помощью команды `MERGE`, которая позволяет эффективно вставлять, обновлять и удалять строки за одну операцию &lt;a href="https://www.getorchestra.io/guides/data-engineering-patterns-write-audit-publish-wap---snowflake"&gt;www.getorchestra.io&lt;/a&gt;. Для отслеживания изменений в исходных таблицах часто используются `Snowflake Streams`.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Ключевые преимущества WAP&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Повышение доверия к данным:&lt;/b&gt; Пользователи могут быть уверены, что данные, которые они видят, прошли строгую проверку качества.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Надежность конвейеров данных (pipelines):&lt;/b&gt; Сбои в процессе трансформации или загрузки не нарушают целостность данных в основной системе.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Изоляция и атомарность:&lt;/b&gt; Изменения либо применяются целиком, либо не применяются вовсе, что исключает “грязное чтение”.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Улучшенная отладка:&lt;/b&gt; Если данные не прошли аудит, они остаются в изолированной среде, где инженеры могут легко их проанализировать и исправить ошибку.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В итоге, WAP позволяет перейти от оркестрации, основанной на “успешности выполнения задачи”, к оркестрации, основанной на “готовности и качестве данных” &lt;a href="https://www.tabular.io/apache-iceberg-cookbook/data-engineering-write-audit-publish/"&gt;www.tabular.io&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Ссылки&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Общее описание и важность патерна:&lt;/b&gt; What Is Write-Audit-Publish and Why Should You Care? &lt;a href="https://lakefs.io/blog/what-is-write-audit-publish"&gt;lakefs.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Реализация с Apache Iceberg:&lt;/b&gt; Write – Audit- Publish (WAP) Pattern – Tabular &lt;a href="https://www.tabular.io/apache-iceberg-cookbook/data-engineering-write-audit-publish"&gt;www.tabular.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Пример реализации на AWS с Apache Iceberg:&lt;/b&gt; Write-Audit-Publish Pattern with Apache Iceberg on AWS &lt;a href="https://www.guptaakashdeep.com/wap-via-apache-iceberg-on-aws-using-wapid/"&gt;www.guptaakashdeep.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Реализация в Snowflake:&lt;/b&gt; Data Engineering Patterns: Write-Audit-Publish (WAP) – Snowflake &lt;a href="https://www.getorchestra.io/guides/data-engineering-patterns-write-audit-publish-wap---snowflake"&gt;www.getorchestra.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
</item>

<item>
<title>Масштабируемые данные. 2-е изд. (Data Management at Scale)</title>
<guid isPermaLink="false">245</guid>
<link>https://gavrilov.info/all/masshtabiruemye-dannye-2-e-izd-data-management-at-scale/</link>
<pubDate>Fri, 20 Jun 2025 21:28:47 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/masshtabiruemye-dannye-2-e-izd-data-management-at-scale/</comments>
<description>
&lt;p&gt;Свежак, начал читать 📚 &lt;a href="https://www.piter.com/product/masshtabiruemye-dannye-vysokonagruzhennye-arhitektury-data-mesh-i-data-fabric-2-e-izd"&gt;Около 700 рублей стоит цифровая версия тут &lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/telegram-cloud-photo-size-2-5350736567813140293-y.jpg" width="792" height="1280" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Вот обзор и рецензия на книгу «Масштабируемые данные от Gemini 2.5 Pro. Высоконагруженные архитектуры, Data Mesh и Data Fabric. 2-е изд.», основанные на информации об ее оригинальном издании “Data Management at Scale” за авторством Питхайна Стренгхолта.&lt;/p&gt;
&lt;h4&gt;Обзор и рецензия на книгу «Масштабируемые данные. 2-е изд.» Питхайна Стренгхолта&lt;/h4&gt;
&lt;p&gt;Эта книга является русским изданием работы Питхайна Стренгхолта “Data Management at Scale” и посвящена современным подходам к управлению данными в крупных организациях. Она фокусируется на архитектурных концепциях, таких как &lt;b&gt;Data Mesh&lt;/b&gt; и &lt;b&gt;Data Fabric&lt;/b&gt;, которые призваны решить проблемы традиционных монолитных систем, вроде централизованных озер и хранилищ данных.&lt;/p&gt;
&lt;h5&gt;О чем эта книга?&lt;/h5&gt;
&lt;p&gt;Основная идея, которую продвигает автор, заключается в переходе от централизованной модели управления данными к децентрализованной. Вместо того чтобы одна команда инженеров отвечала за все данные компании, Стренгхолт предлагает распределить ответственность между доменными командами (например, команда маркетинга, продаж, логистики).&lt;/p&gt;
&lt;p&gt;Ключевые концепции, разбираемые в книге:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Децентрализация и Data Mesh: Книга подробно описывает архитектуру Data Mesh, впервые предложенную Жэмаком Дегани и популяризированную Мартином Фаулером. Этот подход рассматривает данные как продукт и передает владение ими командам, которые эти данные создают и лучше всего понимают &lt;a href="https://medium.com/it-architecture/review-data-management-at-scale-fc52fda45e0b"&gt;https://medium.com/it-architecture/review-data-management-at-scale-fc52fda45e0b&lt;/a&gt;. При этом метаданные остаются централизованными, что позволяет другим командам легко находить, понимать и использовать нужные им данные.&lt;/li&gt;
&lt;li&gt;Данные как продукт (Data as a Product): Это фундаментальный сдвиг в мышлении. Данные перестают быть побочным эффектом работы приложений и становятся полноценным продуктом со своим жизненным циклом, владельцем, стандартами качества и SLA. Доступ к таким продуктам данных обычно предоставляется через стандартизированные API &lt;a href="https://www.linkedin.com/pulse/data-mesh-book-review-beyond-antti-pikkusaari"&gt;https://www.linkedin.com/pulse/data-mesh-book-review-beyond-antti-pikkusaari&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Архитектурные паттерны: Автор рассматривает различные шаблоны проектирования для создания продуктов данных и организации их взаимодействия в рамках компании &lt;a href="https://www.oreilly.com/library/view/data-management-at/9781098138851/"&gt;https://www.oreilly.com/library/view/data-management-at/9781098138851/&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Сильные стороны&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Стратегический взгляд: Книга дает отличное высокоуровневое представление о том, как переосмыслить управление данными в масштабах всей организации. Она идеально подходит для архитекторов и руководителей, которым нужно понять «почему» и «что», а не «как» в деталях.&lt;/li&gt;
&lt;li&gt;Актуальность: Концепции Data Mesh и Data Fabric находятся на пике популярности. Книга помогает систематизировать знания по этим темам и понять их философские основы.&lt;/li&gt;
&lt;li&gt;Четкая аргументация: Автор убедительно доказывает, почему традиционные подходы к данным перестают работать при росте компании и увеличении сложности, и почему децентрализация ответственности является логичным шагом эволюции.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Критика и слабые стороны&lt;/h5&gt;
&lt;p&gt;Основная претензия, которую можно встретить в отзывах на оригинальное издание, — это высокий уровень абстракции и недостаток практических деталей реализации.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Нехватка технических деталей: Книга отлично объясняет принципы, но не углубляется в конкретные технологии и инструменты. Например, она говорит о необходимости API для доступа к данным, но не предлагает детальных руководств по их созданию или выбору технологий &lt;a href="https://www.linkedin.com/pulse/data-mesh-book-review-beyond-antti-pikkusaari"&gt;https://www.linkedin.com/pulse/data-mesh-book-review-beyond-antti-pikkusaari&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Полет в облаках: Один из рецензентов на Goodreads метко подмечает, что книга «предпочитает витать в облаках», не опускаясь на более низкий уровень для разъяснения тонкостей. Например, остается не до конца ясным, где проходит грань между данными, метаданными и кодом в рамках одного «продукта данных» &lt;a href="https://www.goodreads.com/book/show/123858053-data-management-at-scale"&gt;data-management-at-scale&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Инженеру, который ищет пошаговое руководство по построению Data Mesh, эта книга может показаться слишком теоретической.&lt;/p&gt;
&lt;h5&gt;Кому стоит читать эту книгу?&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Дата-архитекторам, CDO (Chief Data Officer) и руководителям отделов данных: Для них это мастрид. Книга поможет сформировать стратегическое видение и защитить новые подходы перед бизнесом.&lt;/li&gt;
&lt;li&gt;Продукт-менеджерам и тимлидам: Поможет понять, как выстраивать процессы вокруг «данных как продукта» и эффективно взаимодействовать с другими командами.&lt;/li&gt;
&lt;li&gt;Дата-инженерам и аналитикам: Будет полезна для понимания общей картины и современных трендов, но ее нужно будет дополнять более техническими статьями и докладами для практической реализации.&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Заключение&lt;/h5&gt;
&lt;p&gt;«Масштабируемые данные» Питхайна Стренгхолта — это важный и своевременный труд, который предлагает стратегический взгляд на решение проблем управления данными в больших компаниях. Это не техническое руководство, а скорее манифест и философское обоснование для перехода к децентрализованным, продуктово-ориентированным архитектурам, таким как Data Mesh.&lt;/p&gt;
&lt;p&gt;Книга блестяще отвечает на вопрос «Зачем?», но оставляет читателю самому искать ответ на вопрос «Как?». Если вы архитектор или менеджер, отвечающий за стратегию данных, эта книга станет для вас ценным источником идей. Если вы инженер, ищущий готовые рецепты, — будьте готовы к тому, что это лишь отправная точка для дальнейших исследований.&lt;/p&gt;
&lt;p&gt;Кабанчик отдыхает :) начинаем разводить рептилий 🐊&lt;/p&gt;
&lt;p&gt;&lt;video controls style="width: 100%; max-width: 740px; height: auto;"&gt;&lt;br /&gt;
&lt;source src="http://a.gavrilov.info/data/posts/IMG_7101.MP4" type="video/mp4"&gt;&lt;br /&gt;
Ваш браузер не поддерживает видео.&lt;br /&gt;
&lt;/video&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/kaban.webp" width="512" height="512" alt="" /&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Как навести порядок в хаосе данных: стратегия для бизнеса</title>
<guid isPermaLink="false">230</guid>
<link>https://gavrilov.info/all/kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa/</link>
<pubDate>Tue, 15 Apr 2025 21:13:12 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa/</comments>
<description>
&lt;p&gt;Любопытная статья про порядок и знания. Раньше к этому стремились большие компании, может даже инвестиционные, а сегодня это под силу даже мелким.&lt;/p&gt;
&lt;p&gt;Основное это RAG, втаскивание смысловых значение и аккумулирование всего в виде FAQ.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://telegra.ph/Kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa-03-31"&gt;https://telegra.ph/Kak-navesti-poryadok-v-haose-dannyh-strategiya-dlya-biznesa-03-31&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Мой фреймворк управления данными (Статья)</title>
<guid isPermaLink="false">219</guid>
<link>https://gavrilov.info/all/moy-freymvork-upravleniya-dannymi-statya/</link>
<pubDate>Sun, 30 Mar 2025 22:15:27 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/moy-freymvork-upravleniya-dannymi-statya/</comments>
<description>
&lt;p&gt;Оригинал: &lt;a href="https://medium.com/zs-associates/my-data-governance-framework-c1879486bc09"&gt;https://medium.com/zs-associates/my-data-governance-framework-c1879486bc09&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;За последние 10+ лет у меня была возможность быть автором или внести вклад в более чем 100 стратегий и фреймворков управления данными в различных отраслях. Хотя у каждой организации есть свои уникальные вызовы, я обнаружил, что определенный общий фреймворк неизменно служил эффективной отправной точкой для внедрения управления данными.&lt;/p&gt;
&lt;p&gt;Установление четкого фреймворка на раннем этапе имеет решающее значение. Оно проясняет, что такое управление данными и чем оно не является, помогая избежать путаницы, задать ожидания и стимулировать внедрение. Хорошо структурированный фреймворк предоставляет простое, повторяемое визуальное представление, которое вы можете использовать снова и снова, чтобы объяснить управление данными и то, как вы планируете внедрить его во всей организации.&lt;/p&gt;
&lt;p&gt;В этой статье я разберу пять основных компонентов моего личного фреймворка, предоставив практический подход, который может работать для любой организации, в любом секторе.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5220.WEBP" width="786" height="478" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5221.WEBP" width="350" height="142" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Стратегия&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Четко определенная стратегия является основой любой успешной инициативы по управлению данными. Она устанавливает цель, направление и приоритеты усилий по управлению, обеспечивая соответствие бизнес-целям. Без четкой стратегии усилия по управлению данными станут фрагментированными и реактивными.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Миссия, видение и общая стратегия.** Этот подкомпонент определяет, почему необходимо управление данными, чего оно стремится достичь и как оно будет реализовано. Миссия формулирует основную цель управления, такую ​​как обеспечение целостности данных, соответствие требованиям и создание ценности. Видение обеспечивает долгосрочную перспективу, описывая желаемое состояние управления данными внутри организации. Общая стратегия определяет подход и руководящие принципы для внедрения управления в бизнес-операции.&lt;/li&gt;
&lt;li&gt;Задачи и цели.** Чтобы добиться значимых результатов, управление данными должно быть связано с измеримыми целями. Это включает в себя установление конкретных, количественно определяемых целей, таких как улучшение показателей качества данных на определенный процент, снижение рисков соответствия требованиям или увеличение внедрения метаданных. Четкие цели обеспечивают подотчетность и позволяют организациям отслеживать прогресс, демонстрировать ценность и постоянно совершенствовать свои усилия по управлению.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5222.WEBP" width="328" height="130" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Области компетенции&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Для эффективного внедрения управления данными организации должны разработать набор основных областей компетенции, которые касаются политик, процессов и структур, необходимых для управления данными. Эти области компетенции служат строительными блоками управления, обеспечивая охват всех критических аспектов – от качества данных до безопасности. Четко определенный набор компетенций гарантирует, что усилия по управлению являются взаимоисключающими и коллективно исчерпывающими (MECE), избегая пробелов или избыточности.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Политики, стандарты и соответствие требованиям.** Управление начинается с четко определенных политик и стандартов, которые устанавливают правила, руководящие принципы и требования соответствия для управления данными во всей организации. Политики определяют, что необходимо сделать, устанавливая ожидания в отношении таких тем, как доступ к данным, качество и защита, а стандарты определяют, как эти ожидания реализуются с помощью конкретных процедур или пороговых значений. Важно отметить, что управление должно также включать возможность подтверждения соответствия этим политикам и стандартам посредством механизмов мониторинга, отчетности и аудита, обеспечивая подотчетность и соответствие нормативным требованиям.&lt;/li&gt;
&lt;li&gt;Управление данными.** Может показаться немного странным иметь «управление данными» в качестве компетенции в рамках управления данными, но оно служит уникальной и основополагающей цели. Эта компетенция определяет и реализует роли, обязанности и подотчетность во всей модели управления. Она обеспечивает организационную основу, которая поддерживает все другие компетенции, разъясняя, кто отвечает за принятие каких решений и деятельность, как назначается право собственности и как координируется деятельность по управлению между бизнесом и ИТ. Это включает в себя определение владельцев данных, распорядителей, руководителей доменов, путей эскалации и форумов по управлению.&lt;/li&gt;
&lt;li&gt;Метаданные и каталогизация.** Метаданные – данные о данных – необходимы для понимания, организации и управления информационными активами. Эта компетенция сочетает в себе управление метаданными с инструментами каталогизации и обнаружения данных для предоставления централизованного инвентаря активов данных, включая бизнес-определения, технические метаданные и происхождение данных. Управление метаданными также включает в себя определение минимальных стандартов метаданных, установление того, какие метаданные необходимо собирать и поддерживать, и где. Каталог данных строится на этой основе, делая метаданные доступными для поиска и доступными, позволяя пользователям находить, понимать и доверять данным, с которыми они работают. Это способствует прозрачности и демократизации данных, позволяя большему количеству пользователей в организации получать доступ к необходимым им данным.&lt;/li&gt;
&lt;li&gt;Архитектура данных.** Эта статья посвящена фреймворку управления данными, а не архитектуре предприятия или фреймворку архитектуры решений. Таким образом, роль архитектуры данных здесь конкретно ограничена теми аспектами, которые пересекаются с управлением данными. Сюда входит обеспечение того, чтобы посредством программ изменений, процессов проектирования решений и механизмов архитектурного управления правильные средства контроля и соображения по управлению данными были встроены на раннем этапе жизненного цикла новых систем, потоков данных и процессов. Это соответствие имеет решающее значение, поскольку отдача от инвестиций в управление данными значительно выше, когда оно внедряется на этапе проектирования, а не когда средства контроля управления ретроспективно устанавливаются после создания и развертывания систем. Таким образом, архитектура данных становится фактором, способствующим устойчивому управлению данными в масштабах предприятия в соответствии с политикой.&lt;/li&gt;
&lt;li&gt;Управление качеством данных.** Высококачественные данные являются основой надежной аналитики, искусственного интеллекта, нормативной отчетности и повседневных бизнес-операций. Эта компетенция охватывает ряд действий, которые обеспечивают соответствие данных цели, и ее обычно можно разбить на несколько различных областей. Во-первых, она начинается с понимания данных и формулирования четких бизнес-требований – какие данные необходимы, на каком уровне точности, своевременности или полноты и для какой цели. После установления этих требований организации могут обеспечить, чтобы правильные средства контроля качества данных были встроены в операционные процессы для предотвращения проблем в источнике (например, правила проверки в формах или автоматические проверки в каналах данных). Отдельная, но тесно связанная компетенция фокусируется на измерении самого качества данных, используя определенные метрики и методы профилирования для оценки данных по отношению к бизнес-требованиям. Кроме того, компетенция качества данных может включать в себя управление проблемами: структурированный процесс для выявления, документирования, отслеживания и устранения проблем с данными. Это позволяет организациям не только реагировать на проблемы с данными, но и анализировать основные причины и внедрять долгосрочные улучшения, обеспечивая надежность данных с течением времени.&lt;/li&gt;
&lt;li&gt;Мастер-данные и справочные данные.** Управление мастер-данными и справочными данными управляет основными бизнес-сущностями данных (например, клиентами, продуктами, поставщиками), чтобы устранить дублирование, повысить согласованность и обеспечить единый источник истины. Во многих организациях эта компетенция поддерживается платформой управления мастер-данными (MDM). Платформа MDM обеспечивает централизованные рабочие процессы, создание золотой записи, сопоставление данных и синхронизацию между системами. Она играет решающую роль в обеспечении согласованности, целостности и точности данных, особенно для общекорпоративной отчетности и обработки транзакций.&lt;/li&gt;
&lt;li&gt;Безопасность данных.** Безопасность данных обеспечивает защиту конфиденциальных, критически важных и регулируемых данных от несанкционированного доступа, неправильного использования или раскрытия в соответствии с политиками управления и схемами классификации данных. Это включает в себя внедрение и мониторинг контроля доступа на основе ролей, шифрование, токенизацию, маскирование, протоколы безопасной передачи данных и разделение обязанностей. Эффективное управление безопасностью данных также гарантирует, что меры безопасности соответствуют утвержденным политикам использования данных и регулярно тестируются и подтверждаются посредством проверок соответствия требованиям и оценок рисков.&lt;/li&gt;
&lt;li&gt;Этика и конфиденциальность.** Технически, эту область можно интерпретировать как подпадающую под действие “Политики, стандарты и соответствие требованиям”, поскольку многие этические требования и требования конфиденциальности в конечном итоге регулируются посредством формальной политики. Однако часто стоит выделять их отдельно из-за их растущей актуальности и заметности – особенно с ростом искусственного интеллекта, алгоритмического принятия решений и усилением нормативного контроля. Эта компетенция фокусируется на обеспечении ответственного, справедливого и прозрачного использования данных путем определения этических принципов, практик конфиденциальности, процессов управления согласием и стратегий защиты персональных данных. Учитывая, насколько централизованными стали доверие и подотчетность в организациях, движимых данными, рассмотрение этики и конфиденциальности как отдельных компетенций помогает обеспечить, чтобы она получала необходимую видимость, право собственности и ресурсы.&lt;/li&gt;
&lt;li&gt;Грамотность в области данных и культура.** Управление – это не только контроль, или не должно быть. Речь также идет о том, чтобы предоставить людям возможность эффективно и ответственно использовать данные. Эта компетенция способствует повышению грамотности в области данных, снабжая бизнес-пользователей и технических пользователей обучением, знаниями и инструментами, необходимыми им для интерпретации, доверия и действий на основе данных. Она включает в себя информационные кампании, образовательные ресурсы, передовые методы и поддержку самообслуживания для развития культуры, основанной на данных, во всей организации.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Адаптация фреймворка&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Области компетенции, описанные выше, оказались хорошей отправной точкой в каждом проекте, в котором я участвовал. Но у каждой организации есть свой собственный контекст, операционная модель, приоритеты и история, и в результате я часто трачу значительное время с клиентскими организациями на доработку этого списка, чтобы он наилучшим образом соответствовал их уникальной ситуации. Ниже приведены некоторые из наиболее распространенных аспектов, по которым адаптируется модель компетенции:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Безопасность данных и архитектура данных** иногда явно не выделяются как часть фреймворка компетенции управления данными. Во многих организациях они рассматриваются как ответственность ИТ-функции или функции технологий, и предполагается, что соображения управления встроены в более широкие процессы архитектурного управления и управления безопасностью.&lt;/li&gt;
&lt;li&gt;Грамотность в области данных** иногда переименовывается или перефразируется, называя ее управлением изменениями, расширением возможностей данных, пропагандой данных или продвижением данных. Во всех случаях основная цель, которая заключается в расширении возможностей пользователей и развитии культуры, основанной на данных, остается очень похожей.&lt;/li&gt;
&lt;li&gt;Этика и конфиденциальность** иногда полностью встроены в более широкую компетенцию “Политики, стандарты и соответствие требованиям”, особенно когда этические принципы и принципы конфиденциальности уже формально кодифицированы посредством политических инструментов. В этих случаях основное внимание уделяется пониманию соответствующих нормативных требований (например, GDPR, HIPAA или законов, связанных с искусственным интеллектом), преобразованию их в действенные политики и стандарты, а затем обеспечению соответствия посредством структур управления, обучения и механизмов надзора.&lt;/li&gt;
&lt;li&gt;Некоторые организации проявляют интерес к выделению &lt;b&gt;возможности искусственного интеллекта или аналитики&lt;/b&gt; в качестве отдельной компетенции или управлению ими (“Управление искусственным интеллектом”). Лично я считаю, что большая часть того, что требуется для обеспечения надежной аналитики и искусственного интеллекта, может и должна обрабатываться с помощью существующих компетенций. Тем не менее, небольшое число организаций, с которыми я работал, предпочли рассматривать это как отдельную компетенцию, особенно когда управление моделями искусственного интеллекта/машинного обучения является текущим приоритетом.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5223.WEBP" width="323" height="130" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Реализация (внедрение и исполнение)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В то время как стратегия и области компетенции управления данными в основном универсальны, реализация управления может значительно варьироваться между организациями, отраслями и нормативной средой. Этот компонент фокусируется на том, как управление структурировано, встроено и введено в действие в организации. Речь идет о том, как вы “делаете” управление – как вы стимулируете исполнение на местах.&lt;/p&gt;
&lt;p&gt;Эта часть фреймворка в некоторой степени уникальна для моего личного взгляда на управление данными. В то время как большинство организаций определяют управление через список компетенций или столпов, они не доходят до интеграции того, как управление фактически реализуется. Я намеренно включаю его как часть основного фреймворка, потому что я считаю, что без четкого пути к исполнению и внедрению управление рискует остаться теоретическим. Встраивание реализации непосредственно во фреймворк усиливает то, что управление должно быть действенным, прожитым и встроенным в повседневные операции, а не просто набором добрых намерений.&lt;/p&gt;
&lt;p&gt;То, как вы думаете о реализации, может варьироваться, но я обычно выделяю два основных компонента: &lt;b&gt;роли и домены&lt;/b&gt;. Определение ролей (таких как владельцы данных или распорядители) помогает прояснить, кто за что несет ответственность, и обеспечивает согласованность во всей организации. Определение доменов (таких как данные о клиентах, продуктах или финансах) помогает структурировать управление вокруг логических бизнес-группировок. Вместе эти компоненты обеспечивают подход к управлению данными, ориентированный на домен, а это означает встраивание обязанностей по управлению в бизнес-области, которые лучше всего знают данные, и выполнение управления в контексте, а не изолированно.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Основные роли и обязанности**&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Право собственности и подотчетность могут быть разъяснены с помощью определенного набора ролей. Хотя в управлении данными участвует много ролей, приведенные ниже представляют собой некоторые из наиболее важных ролей, которые обычно повторяются в разных доменах данных:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Владельцы доменов.** Несут ответственность за надзор за управлением в пределах определенного бизнес-домена, такого как данные о клиентах, финансы или продукты. Они помогают расставлять приоритеты в усилиях, обеспечивают соответствие бизнес-целям и несут ответственность за успех управления в своем домене.&lt;/li&gt;
&lt;li&gt;Владельцы данных.** Несут ответственность за качество, безопасность и жизненный цикл конкретных данных (или наборов данных). Они принимают решения об использовании данных, доступе к ним и критических требованиях к управлению.&lt;/li&gt;
&lt;li&gt;Распорядители данных.** Обычно работают от имени владельцев данных или доменов, выполняя большую часть повседневной работы, связанной с управлением данными. Это включает в себя обеспечение соблюдения стандартов, ведение метаданных, поддержку инициатив по качеству данных и координацию решения проблем.&lt;/li&gt;
&lt;li&gt;Владельцы систем.** Несут ответственность за технические системы и платформы, где данные хранятся, обрабатываются или передаются. Они обеспечивают, чтобы требования к управлению были встроены в архитектуру, средства контроля и уровни доступа этих систем.&lt;/li&gt;
&lt;li&gt;Владельцы бизнес-процессов.** Обеспечивают интеграцию политик управления и стандартов данных в бизнес-процессы, которые собирают, создают или изменяют данные. Они помогают встроить управление в операционные рабочие процессы и проектирование процессов.&lt;/li&gt;
&lt;li&gt;Домены данных**&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Управление может применяться в значимых бизнес-контекстах, известных как домены данных. Эти домены определяют логические группировки данных на основе того, как они используются в организации. Хотя конкретные домены будут различаться в зависимости от отрасли (следовательно, эта часть фреймворка обязательно является пользовательской), следующие примеры иллюстрируют, как розничная компания может структурировать свои домены данных:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Клиент** – Информация о физических или юридических лицах, которые покупают или используют ваши продукты или услуги.&lt;/li&gt;
&lt;li&gt;Продукт** – Информация о предлагаемых товарах или услугах, в том числе структура, цены и описания.&lt;/li&gt;
&lt;li&gt;Поставщик** – Информация о поставщиках, их контрактах и результатах их деятельности.&lt;/li&gt;
&lt;li&gt;Финансовый** – Записи о доходах, расходах, бюджетах и других финансовых транзакциях.&lt;/li&gt;
&lt;li&gt;Сотрудник** – Информация о персонале, в том числе роли, вознаграждение и история отдела кадров.&lt;/li&gt;
&lt;li&gt;Продажи** – Данные о покупках, транзакциях и деятельности, приносящей доход.&lt;/li&gt;
&lt;li&gt;Запасы и цепочка поставок** – Отслеживает уровни запасов, перемещение товаров и процессы доставки.&lt;/li&gt;
&lt;li&gt;Маркетинг и кампании** – Захватывает кампании, расходы на рекламу и стратегии таргетинга.&lt;/li&gt;
&lt;li&gt;Соответствие требованиям и нормативным требованиям** – Данные, используемые для выполнения юридических, аудиторских и нормативных обязательств.&lt;/li&gt;
&lt;li&gt;Цифровая и веб-аналитика** – Измеряет, как пользователи взаимодействуют с цифровыми платформами и веб-сайтами.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5224.WEBP" width="331" height="142" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Технологическое обеспечение&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Технологии играют решающую роль в том, чтобы сделать управление данными практичным и масштабируемым. Хотя эти технологии соответствуют ключевым областям компетенции управления данными, они не сопоставляются 1:1, поскольку многие компетенции поддерживаются более широкими технологическими стеками или интегрированными решениями. Кроме того, то, как организации структурируют и развертывают эти технологии, может значительно варьироваться в зависимости от их размера, отрасли и зрелости данных.&lt;/p&gt;
&lt;p&gt;Тем не менее, в большинстве случаев технологии, связанные с управлением данными, можно сгруппировать по следующим ключевым категориям.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Платформа управления данными.** Эти платформы позволяют организациям определять и управлять правом собственности на данные, обязанностями по управлению, рабочими процессами и утверждениями, а также облегчают операции управления, такие как ведение журналов проблем, запросы на изменение данных и подтверждение. Все чаще они также поддерживают управление проблемами на основе рабочих процессов, позволяя организациям назначать, отслеживать и решать проблемы управления данными между командами. Эти инструменты служат основой для того, чтобы сделать управление действенным и видимым в разных доменах.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Примеры: Collibra, Informatica Axon, Alation Stewardship Workbench&lt;/li&gt;
&lt;li&gt;Качество данных.** Обеспечение высокого качества данных требует специализированных инструментов мониторинга, профилирования, очистки и исправления. Эти решения выявляют несоответствия, отсутствующие значения и ошибки, позволяя командам исправлять проблемы с данными в режиме реального времени и обеспечивать соблюдение стандартов качества данных в разных системах.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Примеры: Informatica Data Quality, Talend, Ataccama ONE&lt;/li&gt;
&lt;li&gt;Каталог данных и наблюдаемость.** Каталоги данных предоставляют центральный инвентарь активов данных, объединяя метаданные, происхождение и бизнес-определения для повышения обнаружения и прозрачности данных. Все чаще каталоги объединяются с инструментами наблюдаемости данных для мониторинга работоспособности, свежести и поведения данных в режиме реального времени. Некоторые инструменты также предлагают автоматическое сканирование и классификацию данных по всему ландшафту данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Примеры: Alation, Collibra, BigID&lt;/li&gt;
&lt;li&gt;Управление мастер-данными.** Платформы MDM необходимы для управления основными бизнес-сущностями, такими как клиенты, продукты и поставщики. Эти инструменты поддерживают сопоставление данных, создание золотой записи, рабочие процессы проверки и синхронизацию мастер-данных в разных системах. Они являются ключом к обеспечению согласованности в масштабах предприятия, удалению дубликатов и единому источнику истины для ключевых доменов данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Примеры: Informatica MDM, Reltio&lt;/li&gt;
&lt;li&gt;Решения для обеспечения безопасности данных.** Эта категория включает в себя инструменты, которые управляют контролем доступа, шифрованием, маскированием, токенизацией и безопасной передачей данных. Она также поддерживает рабочие процессы запросов на доступ к данным, гарантируя, что только авторизованные пользователи могут получить доступ к конфиденциальным или классифицированным данным на основе политик управления и классификации данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Примеры: Immuta, Privacera, Microsoft Purview Data Security&lt;/li&gt;
&lt;li&gt;Мониторинг этики, конфиденциальности и соответствия требованиям.** Эти инструменты поддерживают обеспечение соблюдения и мониторинг этичного использования данных, правил конфиденциальности (например, GDPR, HIPAA) и внутренних политик. Они предоставляют возможности для управления правами субъектов данных, отслеживания согласия, контрольных журналов и мониторинга использования, которые имеют решающее значение для укрепления доверия и выполнения нормативных обязательств.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Примеры: BigID, OneTrust, Collibra Protect&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;При создании этой части фреймворка вы можете заменить общие категории фактическими инструментами и платформами, которые вы используете, например, перечислив Collibra вместо “платформы управления данными” или Informatica Data Quality вместо “инструментов качества данных”. Это обеспечивает более ощутимое, специфичное для организации представление о том, как конкретные технологии обеспечивают ключевые возможности.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5225.WEBP" width="327" height="132" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Управление управлением данными&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Чтобы управление данными работало, ему необходима четкая координация, постоянный надзор и устойчивый прогресс. Именно этим и занимается управление управлением данными – обеспечение того, чтобы остальная часть фреймворка действительно была реализована. Это придает структуру тому, как все части работают вместе, и привлекает людей к ответственности.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Политики и стандарты**&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Политики и стандарты являются основой управления данными. Они определяют правила, ожидания и обязанности, как правила дорожного движения на дороге. Все остальное во фреймворке указывает на них. Политики задают направление, а стандарты воплощают его в жизнь:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Политика** говорит, что необходимо сделать. Это четкое правило, например, “данные о клиентах должны быть защищены”.&lt;/li&gt;
&lt;li&gt;Стандарт** говорит, как это сделать. Он дает подробности, например, “зашифруйте данные о клиентах и храните их в течение 3 лет”.&lt;/li&gt;
&lt;li&gt;Форумы управления**&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Форумы управления обеспечивают необходимый надзор, координацию и структуры принятия решений для управления данными. Хотя конкретные форумы зависят от структуры организации и потребностей в управлении, к распространенным типам относятся:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Совет по управлению корпоративными данными.** Центральный орган, который устанавливает стратегическое направление, решает межфункциональные вопросы и обеспечивает соответствие управления бизнес-целям.&lt;/li&gt;
&lt;li&gt;Форумы управления данными, ориентированные на домен.** Группы, которые осуществляют надзор за управлением в пределах конкретных доменов данных (например, клиенты, финансы, продукты), обеспечивая реализацию политик на уровне домена и эскалируя критические вопросы на корпоративный уровень.&lt;/li&gt;
&lt;li&gt;Региональные форумы управления или форумы управления бизнес-подразделением.** В глобальных или децентрализованных организациях управление данными может быть структурировано по региональному, бизнес-подразделению или дивизионному признаку для учета местных требований, нормативных различий и операционных потребностей.&lt;/li&gt;
&lt;li&gt;Рабочие группы, ориентированные на конкретные компетенции.** Некоторые организации учреждают группы управления, ориентированные на конкретные компетенции, такие как качество данных, управление метаданными, безопасность данных или этика данных, для продвижения передовых методов и технической реализации.&lt;/li&gt;
&lt;li&gt;Метрики и измерение производительности**&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Чтобы продемонстрировать эффективность и влияние управления данными, организации должны отслеживать ключевые показатели эффективности (KPI), такие как показатели качества данных, показатели соблюдения политик, время решения проблем управления и внедрение метаданных. Эти метрики помогают обосновать инвестиции, выявить пробелы и стимулировать постоянное совершенствование.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Управление изменениями**&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Чтобы управление было по-настоящему встроено, вы можете повышать осведомленность, внедрять и изменять поведение, например, с помощью программ обучения, коммуникационных стратегий и инициатив по вовлечению.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Заключение&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/IMG_5226.WEBP" width="786" height="786" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Надежный фреймворк управления данными обеспечивает ясность, структуру и повторяемый, масштабируемый подход к управлению данными. Хотя путь управления каждой компании уникален, фреймворк, представленный в этой статье, служит проверенной отправной точкой – той, которая может быть адаптирована в соответствии с любой отраслью, любой организацией и любым уровнем зрелости данных.&lt;/p&gt;
</description>
</item>

<item>
<title>DataHub 1.0</title>
<guid isPermaLink="false">216</guid>
<link>https://gavrilov.info/all/datahub-1-0/</link>
<pubDate>Sun, 30 Mar 2025 21:05:32 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/datahub-1-0/</comments>
<description>
&lt;p&gt;DataHub 1.0 уже здесь! Получите максимальную отдачу от нового UX&lt;/p&gt;
&lt;p&gt;&lt;video width="740" controls&gt;&lt;br /&gt;
&lt;source src="http://a.gavrilov.info/data/posts/DataHub-1-0-is-Here-Get-the-Most-from-the-New-UX.mp4" type="video/mp4"&gt;&lt;br /&gt;
&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;00:00:00 Введение и анонсы&lt;/p&gt;
&lt;p&gt;• Приветствие участников и анонс гостей.&lt;br /&gt;
• Мэгги расскажет об обновлении дорожной карты DataHub.&lt;br /&gt;
• Паулина и Анна представят новый UX DataHub 10.&lt;br /&gt;
• Харшел из команды DataHub поделится новостями от Block.&lt;br /&gt;
• Шершанка, технический директор и соучредитель, подведет итоги.&lt;/p&gt;
&lt;p&gt;00:01:01 Анонс DataHub 10&lt;/p&gt;
&lt;p&gt;• Анонс DataHub 10 и ссылки на блог и видеоролики.&lt;br /&gt;
• Видео о начале проекта DataHub.&lt;/p&gt;
&lt;p&gt;00:02:33 Важность DataHub&lt;/p&gt;
&lt;p&gt;• DataHub как важный компонент инфраструктуры.&lt;br /&gt;
• Переход на DataHub и отключение собственного инструмента lineage.&lt;br /&gt;
• Расширение модели DataHub для поддержки элементов данных.&lt;/p&gt;
&lt;p&gt;00:04:11 Обновления дорожной карты DataHub&lt;/p&gt;
&lt;p&gt;• Мэгги рассказывает о последних обновлениях DataHub.&lt;br /&gt;
• Четыре столпа: открытие, управление, метаданные и наблюдаемость.&lt;br /&gt;
• Фокус на открытии данных и интеграции с новыми инструментами.&lt;/p&gt;
&lt;p&gt;00:05:09 Открытие данных&lt;/p&gt;
&lt;p&gt;• Фокус на человеко-ориентированном понимании данных.&lt;br /&gt;
• Интеграция с новыми инструментами, такими как MLflow и Cockroach DB.&lt;br /&gt;
• Разработка новых интеграций, включая Hex и Vertex AI.&lt;/p&gt;
&lt;p&gt;00:07:32 Управление данными&lt;/p&gt;
&lt;p&gt;• Введение иерархической родословной для упрощения графиков.&lt;br /&gt;
• Расширение поддержки терминов в глоссарии.&lt;br /&gt;
• Обеспечение всеобщего доступа к данным и централизованного соответствия требованиям.&lt;/p&gt;
&lt;p&gt;00:10:52 Наблюдаемость данных&lt;/p&gt;
&lt;p&gt;• Обеспечение доступности и демократизация качества данных.&lt;br /&gt;
• Централизованное отслеживание и разрешение инцидентов.&lt;br /&gt;
• Улучшения в утверждениях и расширенный поток инцидентов.&lt;/p&gt;
&lt;p&gt;00:12:53 Основные направления проекта&lt;/p&gt;
&lt;p&gt;• Фокус на API и SDK для автоматизации регистрации, обогащения и поиска данных.&lt;br /&gt;
• Важность качества обслуживания и аудита ведения журнала.&lt;br /&gt;
• Улучшение отслеживаемости событий в центре обработки данных.&lt;/p&gt;
&lt;p&gt;00:13:40 Пакет SDK для Python&lt;/p&gt;
&lt;p&gt;• Работа над улучшением пакета SDK для Python версии 2.&lt;br /&gt;
• API для регистрации, обогащения и извлечения данных.&lt;br /&gt;
• Вклад в документацию для улучшения понимания улучшений.&lt;/p&gt;
&lt;p&gt;00:14:42 Учетные записи служб&lt;/p&gt;
&lt;p&gt;• Внедрение учетных записей служб для команд.&lt;br /&gt;
• Управление автоматизацией и рабочими процессами.&lt;br /&gt;
• Призыв к обратной связи и сотрудничеству.&lt;/p&gt;
&lt;p&gt;00:15:41 Будущие обновления и DataHub Cloud&lt;/p&gt;
&lt;p&gt;• Опрос о будущих обновлениях DataHub и DataHub Cloud.&lt;br /&gt;
• DataHub Cloud как управляемый сервис с дополнительными возможностями.&lt;br /&gt;
• Переход к повестке дня и представлению UX-дизайнеров.&lt;/p&gt;
&lt;p&gt;00:16:47 Дизайн продуктов в DataHub&lt;/p&gt;
&lt;p&gt;• Инвестиции в дизайн продуктов в DataHub.&lt;br /&gt;
• Важность дизайна для инноваций и постоянного совершенствования.&lt;br /&gt;
• Использование данных и отзывов пользователей для улучшения продукта.&lt;/p&gt;
&lt;p&gt;00:18:44 Принципы дизайна&lt;/p&gt;
&lt;p&gt;• Философия дизайна: простота, обратная связь, последовательность.&lt;br /&gt;
• Создание системы проектирования в Figma и Storybook.&lt;br /&gt;
• Внедрение токенов и принципов для компонентов.&lt;/p&gt;
&lt;p&gt;00:19:43 Примеры изменений&lt;/p&gt;
&lt;p&gt;• Изменения в цветах и стилях кнопок и диаграмм.&lt;br /&gt;
• Введение специальных дизайнерских жетонов.&lt;br /&gt;
• Постепенные обновления пользовательского интерфейса.&lt;/p&gt;
&lt;p&gt;00:20:54 Панель навигации и структурированные свойства&lt;/p&gt;
&lt;p&gt;• Улучшение панели навигации для удобства пользователей.&lt;br /&gt;
• Гибкость отображения структурированных свойств.&lt;br /&gt;
• Постоянное совершенствование продукта на основе отзывов пользователей.&lt;/p&gt;
&lt;p&gt;00:23:37 Введение и принципы последовательности&lt;/p&gt;
&lt;p&gt;• Обсуждение предварительных просмотров вкладки “Стоп”.&lt;br /&gt;
• Введение в принципы согласованности и последовательности.&lt;br /&gt;
• Создание графической библиотеки для визуализации данных.&lt;/p&gt;
&lt;p&gt;00:24:02 Итеративность и визуализация данных&lt;/p&gt;
&lt;p&gt;• Итеративный процесс создания графических элементов.&lt;br /&gt;
• Примеры различных диаграмм и их эволюция.&lt;br /&gt;
• Переход от высокой плотности данных к более сжатым диаграммам.&lt;/p&gt;
&lt;p&gt;00:25:46 Новые функции и панель вкладок&lt;/p&gt;
&lt;p&gt;• Введение новой панели вкладок “Статистика”.&lt;br /&gt;
• Улучшение представления данных для пользователей.&lt;br /&gt;
• Демонстрация новых функций и взаимодействий.&lt;/p&gt;
&lt;p&gt;00:28:27 Взаимодействие с пользователями&lt;/p&gt;
&lt;p&gt;• Призыв к участию в исследовании пользователей.&lt;br /&gt;
• Важность обратной связи для улучшения продукта.&lt;br /&gt;
• Возможности участия в опросах и тестировании юзабилити.&lt;/p&gt;
&lt;p&gt;00:31:19 Обнаружение данных с агентами ИИ&lt;/p&gt;
&lt;p&gt;• Введение в тему обнаружения данных с агентами ИИ.&lt;br /&gt;
• Представление Сэма Осборна и его роли в компании Block.&lt;br /&gt;
• Обзор управления данными и блокчейна в компании.&lt;/p&gt;
&lt;p&gt;00:32:39 Проблемы и перспективы управления данными&lt;/p&gt;
&lt;p&gt;• Переход на облачный сервис Data Hub.&lt;br /&gt;
• Проблемы и возможности каталогизации данных.&lt;br /&gt;
• Введение агентов ИИ для улучшения управления данными.&lt;/p&gt;
&lt;p&gt;00:34:33 Демонстрация работы с Cloud Desktop&lt;/p&gt;
&lt;p&gt;• Cloud Desktop настроен для взаимодействия с LLM.&lt;br /&gt;
• Возможность задавать вопросы о данных, связанных с домашними животными.&lt;br /&gt;
• Программа ищет данные на сервере Data Hub и предоставляет резюме.&lt;/p&gt;
&lt;p&gt;00:35:23 Анализ данных и ключевые показатели&lt;/p&gt;
&lt;p&gt;• Программа ищет данные и предоставляет информацию о ключевых показателях.&lt;br /&gt;
• Возможность задавать дополнительные вопросы о профилях домашних животных.&lt;br /&gt;
• Программа показывает количество строк и активные инциденты.&lt;/p&gt;
&lt;p&gt;00:37:05 Использование Slack и Data Hub&lt;/p&gt;
&lt;p&gt;• Возможность использовать Slack для планирования изменений в Data Hub.&lt;br /&gt;
• Программа помогает определить, на какие данные повлияет изменение.&lt;br /&gt;
• Возможность узнать, кому нужно сообщить об изменениях.&lt;/p&gt;
&lt;p&gt;00:38:38 Демонстрация работы с Goose&lt;/p&gt;
&lt;p&gt;• Goose – агент искусственного интеллекта с открытым исходным кодом.&lt;br /&gt;
• Интеграция с локальной и удаленной системами через расширения.&lt;br /&gt;
• Пример использования для поиска данных и владельцев данных.&lt;/p&gt;
&lt;p&gt;00:43:39 Демонстрация работы в среде IDE&lt;/p&gt;
&lt;p&gt;• Проект DBT с использованием идентификатора на базе искусственного интеллекта.&lt;br /&gt;
• Возможность проверять изменения в Data Hub и их влияние.&lt;br /&gt;
• Программа помогает избежать проблем и обеспечивает безопасность.&lt;/p&gt;
&lt;p&gt;00:45:59 Введение в агентов искусственного интеллекта&lt;/p&gt;
&lt;p&gt;• Агенты организуют контекстное управление разговорами с LLM.&lt;br /&gt;
• Интеграция с системами через протокол MCP.&lt;br /&gt;
• Агенты взаимодействуют с LLM и внешними службами данных.&lt;/p&gt;
&lt;p&gt;00:47:50 Модель контекстного протокола MCP&lt;/p&gt;
&lt;p&gt;• MCP – открытый стандарт для использования данных и инструментов в контексте взаимодействия с ИИ.&lt;br /&gt;
• Охватывает аспекты запроса данных, вызова служб и чтения/записи информации.&lt;br /&gt;
• Может использоваться для конкретных случаев использования и внешних серверов.&lt;/p&gt;
&lt;p&gt;00:48:41 Агенты и спецификация MCP&lt;/p&gt;
&lt;p&gt;• Представлен агент искусственного интеллекта с открытым исходным кодом codename goose.&lt;br /&gt;
• Спецификация MCP выпущена компанией Anthropic и является стандартным протоколом для ИИ.&lt;br /&gt;
• Обсуждается сотрудничество с ACRIL и улучшения Python SDK для приложений ИИ.&lt;/p&gt;
&lt;p&gt;00:49:45 Демонстрация и использование codename goose&lt;/p&gt;
&lt;p&gt;• Codename goose поддерживает стандарт MCP и позволяет подключаться к различным моделям и поставщикам.&lt;br /&gt;
• Демонстрационное видео показывает, как codename goose помогает в выполнении различных задач и упрощении рабочих процессов.&lt;/p&gt;
&lt;p&gt;00:50:12 Интеграция и улучшения&lt;/p&gt;
&lt;p&gt;• Агенты, стандарты MCP и центр обработки данных помогают быстрее подключать пользователей и интегрироваться с внутренними службами.&lt;br /&gt;
• Обсуждаются улучшения Python SDK для поиска сущностей и lineage, оптимизированных для интеграции с ИИ.&lt;/p&gt;
&lt;p&gt;00:51:16 Будущее MCP&lt;/p&gt;
&lt;p&gt;• В спецификацию MCP добавлены элементы авторизации с помощью OAuth и элементы для выборки и потоковой передачи.&lt;br /&gt;
• Ожидается появление множества официальных и неофициальных серверов MCP для различных приложений и сервисов.&lt;/p&gt;
&lt;p&gt;00:51:50 Философия Data Hub&lt;/p&gt;
&lt;p&gt;• Спецификация MCP вписывается в философию Data Hub, подчеркивающую важность стандартов и переносимости.&lt;br /&gt;
• Внедряются стандарты Open Lineage, Iceberg REST Catalog и MCP Model для более эффективного взаимодействия с метаданными.&lt;/p&gt;
&lt;p&gt;00:53:02 Рекомендации и советы&lt;/p&gt;
&lt;p&gt;• Видео на YouTube и ресурсы на GitHub подробно рассказывают о стандарте MCP.&lt;br /&gt;
• Профессиональный совет: делайте сеансы короткими, обобщайте данные и записывайте их в текст для предотвращения разрыва контекстного окна.&lt;/p&gt;
&lt;p&gt;00:53:57 Заключение&lt;/p&gt;
&lt;p&gt;• Агенты искусственного интеллекта и центр обработки данных помогают в обнаружении данных.&lt;br /&gt;
• Проект codename goose и его интеграция с Data Hub являются важными шагами в развитии ИИ.&lt;/p&gt;
&lt;p&gt;00:54:38 Введение и прогресс проекта&lt;/p&gt;
&lt;p&gt;• Проект быстро развивается, появляются интересные функции.&lt;br /&gt;
• Все продемонстрированные элементы, кроме Slack, имеют открытый исходный код.&lt;br /&gt;
• Пользовательский интерфейс улучшается, версии 1 и 2 уже доступны.&lt;/p&gt;
&lt;p&gt;00:55:50 Проблемы и решения центра обработки данных&lt;/p&gt;
&lt;p&gt;• Центр обработки данных решает сложные проблемы в цепочке поставок данных.&lt;br /&gt;
• Включает производственные системы, системы преобразования данных и системы искусственного интеллекта.&lt;br /&gt;
• Цель – связать всю цепочку поставок данных и обеспечить недостающий контекст.&lt;/p&gt;
&lt;p&gt;00:56:32 Важность контекста для различных ролей&lt;/p&gt;
&lt;p&gt;• Потребители данных ищут доверие и доступность данных.&lt;br /&gt;
• Специалисты по обработке данных беспокоятся о своевременности и изменениях.&lt;br /&gt;
• Руководители команд следят за доступом и использованием данных.&lt;/p&gt;
&lt;p&gt;00:57:25 Управление искусственным интеллектом&lt;/p&gt;
&lt;p&gt;• Важно отслеживать данные, используемые моделями искусственного интеллекта.&lt;br /&gt;
• Управление искусственным интеллектом должно быть машинно-ориентированным.&lt;br /&gt;
• Понимание доступа моделей к персональным данным и автономных агентов.&lt;/p&gt;
&lt;p&gt;00:59:16 Переход к машинно-ориентированному управлению&lt;/p&gt;
&lt;p&gt;• Агенты будут действовать автономно, преобразовывать и создавать данные.&lt;br /&gt;
• Важно отслеживать действия агентов и гарантировать их правильность.&lt;br /&gt;
• Центр обработки данных помогает создавать контекст для машин и агентов.&lt;/p&gt;
&lt;p&gt;01:00:53 Заключение и благодарности&lt;/p&gt;
&lt;p&gt;• Благодарность участникам за участие и вопросы.&lt;br /&gt;
• Обещание предоставить запись и более подробную информацию.&lt;br /&gt;
• Призыв обращаться через Slack для дальнейших вопросов и обсуждений.&lt;/p&gt;
</description>
</item>

<item>
<title>AI-агенты для хранилищ данных</title>
<guid isPermaLink="false">202</guid>
<link>https://gavrilov.info/all/ai-agenty-dlya-hranilisch-dannyh/</link>
<pubDate>Mon, 10 Mar 2025 21:46:43 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/ai-agenty-dlya-hranilisch-dannyh/</comments>
<description>
&lt;h3&gt;Перевод: AI-агенты для хранилищ данных&lt;/h3&gt;
&lt;p&gt;Оригинал: &lt;a href="https://dzone.com/articles/ai-agents-for-data-warehousing"&gt;https://dzone.com/articles/ai-agents-for-data-warehousing&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;AI-агенты совершают революцию в хранилищах данных, повышая эффективность, точность и автоматизацию в различных аспектах управления данными в настоящее время.&lt;/p&gt;
&lt;p&gt;Автор: Аджай Таниконда · 04 марта 2025 · Анализ&lt;/p&gt;
&lt;p&gt;Термин “хранилище данных” был впервые введен в 1980-х годах и относится к практике хранения данных из различных источников внутри организации. Собранные данные затем используются для отчетности, принятия решений, точной аналитики, улучшения понимания клиентов и обработки специальных запросов.&lt;/p&gt;
&lt;p&gt;Однако традиционные методы хранилищ данных сопряжены со значительными проблемами, включая высокие затраты на установку и обслуживание, низкую скорость обработки и ограничения масштабируемости. Однако с ростом искусственного интеллекта внедрение DW Agent AI революционизирует управление данными, делая процессы более автоматизированными, эффективными и масштабируемыми.&lt;/p&gt;
&lt;p&gt;DW Agent AI относится к агентам с искусственным интеллектом, которые оптимизируют различные аспекты хранилищ данных, от автоматизации ETL/ELT до оптимизации запросов и расширенной аналитики. Эти агенты используют алгоритмы машинного обучения, обнаружение аномалий и методы адаптивной оптимизации для улучшения обработки данных. Благодаря автоматизации они сокращают ручное вмешательство, повышают точность данных и оптимизируют скорость выполнения запросов, особенно на облачных платформах, таких как Google Cloud, AWS Redshift и Snowflake.&lt;/p&gt;
&lt;p&gt;Google Cloud предлагает расширенную экосистему для хранилищ данных и аналитики, используя сервисы на основе искусственного интеллекта, такие как BigQuery, Cloud Dataflow и другие.&lt;/p&gt;
&lt;p&gt;В этой статье мы рассмотрим, как DW Agent AI преобразует хранилища данных, сосредоточив внимание на его роли в автоматизации ETL/ELT, обработке данных на основе искусственного интеллекта, прогнозной аналитике и отчетности в реальном времени. Мы также обсудим практическую реализацию DW Agent AI и преимущества, которые он приносит современным предприятиям. Итак, как именно AI-агенты улучшают процесс хранилища данных, особенно в контексте анализа данных?&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Понимание необходимости AI-агентов в хранилищах данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Для тех, кто не знаком с концепцией AI-агентов, она относится к моделям искусственного интеллекта, особенно к большим языковым моделям (LLM), предназначенным для выполнения специализированных задач. Эти задачи включают управление данными, преобразование и аналитику, что делает AI-агентов ценным активом в современных хранилищах данных.&lt;/p&gt;
&lt;p&gt;Чтобы по-настоящему понять влияние AI-агентов на хранилища данных, мы должны рассмотреть пример использования. Представьте себе компанию, использующую аналитику на основе искусственного интеллекта для улучшения отчетности данных в Google Cloud.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-150.png" width="975" height="706" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Для этого компания собирает большой объем транзакционных данных из различных источников, таких как платформы электронной коммерции, PoS-системы и регулярные взаимодействия с клиентами. Но в конечном итоге их цель состоит в том, чтобы генерировать отчеты о продажах в режиме реального времени, отслеживать запасы, а затем прогнозировать тенденции спроса.&lt;/p&gt;
&lt;p&gt;Вот как AI-агенты могут помочь процессу хранилища данных с помощью анализа данных для обеспечения отчетности в Google Cloud:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Автоматизация ETL/ELT&lt;/li&gt;
&lt;li&gt;Обработка и оптимизация данных на основе искусственного интеллекта&lt;/li&gt;
&lt;li&gt;Прогнозная аналитика и обнаружение аномалий&lt;/li&gt;
&lt;li&gt;Отчетность в реальном времени и BI, улучшенная с помощью искусственного интеллекта&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Автоматизация ETL с DW Agent AI&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Когда дело доходит до хранилищ данных, AI-агенты играют решающую роль в автоматизации ETL/ELT. ETL (Extract, Transform, Load) — это процесс сбора данных из нескольких источников, преобразования их в структурированный формат и загрузки в централизованное хранилище данных для углубленного анализа.&lt;/p&gt;
&lt;p&gt;Традиционно процесс ETL/ELT сталкивался с рядом проблем. Извлечение данных вручную из различных источников является сложным, трудоемким и требует значительных ресурсов для обеспечения совместимости с предопределенной моделью данных. Кроме того, ручные процессы подвержены ошибкам и несоответствиям, которые могут поставить под угрозу целостность данных. AI-агенты устраняют эти неэффективности, автоматизируя процесс ETL/ELT, делая интеграцию данных плавной и значительно сокращая операционные издержки.&lt;/p&gt;
&lt;p&gt;Процесс ETL является одним из основных компонентов хранилища данных. В этом процессе необработанные данные извлекаются из различных ресурсов, таких как API, веб-сервисы, CRM-системы и многое другое. Эти данные затем обрабатываются, преобразуются и загружаются в хранилище данных.&lt;/p&gt;
&lt;p&gt;В то время как наши существующие хранилища данных нуждаются в большом объеме человеческого ввода от извлечения данных до их очистки, вот как AI-агент помогает сделать этот процесс намного проще:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Обработка эволюции источника/схемы.** AI-агенты могут эффективно обнаруживать новые источники данных, извлекать релевантную информацию и обновлять важные наборы данных в режиме реального времени. Автоматическое обнаружение изменений схемы и адаптация ETL-конвейеров. Это приводит к минимальному количеству человеческих ошибок и оптимизирует процесс сбора данных.&lt;/li&gt;
&lt;li&gt;Преобразование данных с помощью искусственного интеллекта.** С помощью алгоритмов машинного обучения AI-модели могут очищать, нормализовать и представлять данные в структурированном формате, что потребовало бы от традиционных инструментов ETL много времени.&lt;/li&gt;
&lt;li&gt;Оптимизация инкрементной загрузки.** Идентификация дельт и интеллектуальное управление приемом данных с использованием системы отслеживания изменений данных (CDC) на основе машинного обучения.&lt;/li&gt;
&lt;li&gt;Гарантия качества данных:** Применение разработанных AI-агентами средств обнаружения аномалий для выявления несоответствий, отсутствующих значений и дублирующихся записей до того, как они повлияют на последующую аналитику.&lt;/li&gt;
&lt;li&gt;Самовосстанавливающиеся конвейеры.** Без какого-либо вмешательства человека AI-агенты могут не только идентифицировать несоответствия, но и исправлять их, что является революционным. Например, AI может обнаруживать смещение схемы в потоковых данных и автоматически корректировать преобразования, а не вызывать сбои.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Благодаря внедрению процессов ETL/ELT на основе искусственного интеллекта организации могут значительно сократить обслуживание конвейера данных и повысить эффективность обработки.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Примеры использования анализа данных с AI-агентами&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-149.png" width="918" height="634" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;*Анализ данных*&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Сбор и хранение данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Основываясь на нашем текущем примере, компания использует Google Cloud для сбора и хранения любых релевантных необработанных данных в различных форматах. Некоторые из этих форматов включают JSON, CSV и т. д. Google Pub/Sub облегчает прием данных в режиме реального времени и связь между микросервисами, обеспечивая бесперебойную интеграцию. Это обеспечивает плавный прием и обработку данных в Google Cloud.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Обработка и оптимизация данных на основе искусственного интеллекта&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Теперь, когда данные собраны, их необходимо отфильтровать, преобразовать и скорректировать таким образом, чтобы можно было провести расширенный анализ. В этом контексте AI-агент автоматизирует этапы обработки и преобразования с помощью некоторых из самых популярных бессерверных инструментов Google Cloud. AI-агенты оптимизируют этот процесс, используя следующие сервисы и шаги Google Cloud:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Использование интеграции BigQuery AI.** AI-агенты используются и внедряются в BigQuery для удаления ошибок и дубликатов, а также для стандартизации категоризации продуктов в примере использования розничной компании.&lt;/li&gt;
&lt;li&gt;Cloud dataflow для ETL.** AI-агенты улучшают процесс ETL с помощью Cloud Dataflow и преобразуют такие данные, как конвертация валют и расчеты скидок из необработанных источников.&lt;/li&gt;
&lt;li&gt;Внесение корректировок.** AI-агенты уточняют и структурируют данные, обеспечивая их оптимизацию для анализа тенденций.&lt;/li&gt;
&lt;li&gt;Адаптивная оптимизация запросов.** Использование методов обучения с подкреплением для постоянного улучшения планов выполнения запросов на основе исторической рабочей нагрузки.&lt;/li&gt;
&lt;li&gt;Автоматизация материализованных представлений.** Динамическое создание и обновление материализованных представлений для ускорения часто используемых агрегаций и объединений.&lt;/li&gt;
&lt;li&gt;Настройка параллельной обработки.** Оптимизация распределенного выполнения запросов путем интеллектуального распределения вычислительных ресурсов на основе моделей рабочей нагрузки.&lt;/li&gt;
&lt;li&gt;Интеллектуальное индексирование.** Автоматическая рекомендация индексов и управление ими для повышения производительности запросов без чрезмерных затрат на хранение.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Эти оптимизации на основе искусственного интеллекта сокращают задержку запросов и снижают затраты на инфраструктуру за счет эффективного управления вычислительными ресурсами. После обработки данных компания теперь может перейти к прогнозному моделированию и расширенной аналитике.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Прогнозная аналитика и обнаружение аномалий&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Поскольку компания получает структурированные данные с помощью BigQuery, здесь можно увидеть реальную силу искусственного интеллекта. AI-агенты теперь могут применять прогнозный анализ и модели машинного обучения, чтобы получить информацию, которую компания может использовать для принятия важных решений.&lt;/p&gt;
&lt;p&gt;Реальный вариант использования AI-агентов для хранилищ данных в этом контексте может включать следующее:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прогнозирование продаж с помощью прогнозирования временных рядов.** С помощью AI-агентов компании могут анализировать исторические данные о продажах, чтобы предсказать, что их ждет в будущем. Помимо базового прогнозирования, AI может анализировать сезонность и рекламное воздействие для улучшения прогностических данных. Использование моделей глубокого обучения, таких как LSTM и архитектуры на основе Transformer, для прогнозирования спроса, продаж и операционных показателей.&lt;/li&gt;
&lt;li&gt;Анализ клиентов и обнаружение аномалий.** AI-агенты анализируют модели покупок и поведение клиентов. Это позволяет компаниям разрабатывать персонализированные маркетинговые стратегии для улучшения оборота. Использование AI-моделей, таких как Isolation Forest и Autoencoders, для выявления необычных закономерностей в финансовых транзакциях, системных журналах и поведении клиентов.&lt;/li&gt;
&lt;li&gt;Анализ запасов и аналитика в реальном времени.** AI-агенты могут идентифицировать запасы, которые продаются не оптимально. Таким образом, компания может оптимизировать свои стратегии пополнения запасов для обеспечения улучшения продаж. Развертывание предварительно обученных моделей в хранилищах данных для немедленной оценки и вывода, обеспечивающее оперативное понимание.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Отчетность в реальном времени и BI, улучшенная с помощью ИИ&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;После завершения обработки и анализа данных AI-агенты могут автоматизировать создание отчетов с помощью инновационных инструментов отчетности Google Cloud. Вот как работает процесс:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looker от Google Cloud.** Используя Looker и интеграцию с AI, компании могут создавать интерактивные панели мониторинга. Это позволяет заинтересованным сторонам компании всегда иметь важную информацию о KPI (Key Performance Indicators, ключевые показатели эффективности). Примером отчетности на основе искусственного интеллекта может служить функция обнаружения AI-driven аномалий Looker. Автоматически сгенерированные аналитические данные с использованием естественного языка (например, функция Explain в Looker)&lt;/li&gt;
&lt;li&gt;Отчеты с голосовым управлением.** С помощью NLP в Google Cloud AI-powered чат-боты могут предоставлять отчеты с голосовым управлением, которые помогают менеджерам и заинтересованным сторонам с упрощенными версиями данных.&lt;/li&gt;
&lt;li&gt;Оповещения и уведомления.** Настраивая оповещения, AI-агенты могут запускать алармы и другие важные уведомления, чтобы ничего не осталось незамеченным.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Внедрив мощь AI-агентов, бизнес любого рода может извлечь большую выгоду из хранилища данных на основе искусственного интеллекта.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Практическая реализация AI-агентов в хранилищах данных: DW Agent AI&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;DW Agent AI — это платформа, которая демонстрирует практическое применение искусственного интеллекта в хранилищах данных. Она преобразует базовые запросы в оптимизированные версии, используя такие методы, как:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Взаимодействие с данными на естественном языке&lt;/li&gt;
&lt;li&gt;Автоматизация создания инсайтов&lt;/li&gt;
&lt;li&gt;Оптимизация системы&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Например, AI-агенты могут оптимизировать запросы для уменьшения сканирования данных в BigQuery:&lt;/p&gt;
&lt;p&gt;Исходный запрос:&lt;/p&gt;
&lt;p&gt;```sql&lt;br /&gt;
SELECT * FROM large_table WHERE status = ‘active’;&lt;br /&gt;
```&lt;/p&gt;
&lt;p&gt;AI-оптимизированный запрос:&lt;/p&gt;
&lt;p&gt;```sql&lt;br /&gt;
SELECT id, name, status&lt;br /&gt;
FROM large_table&lt;br /&gt;
WHERE status = ‘active’&lt;br /&gt;
AND created_at &gt;= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)&lt;br /&gt;
```&lt;/p&gt;
&lt;p&gt;Этот запрос применяет отсечение разделов (partition pruning), уменьшая объем сканируемых данных в BigQuery.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Каковы преимущества AI-агентов в хранилищах данных?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Когда дело доходит до внедрения AI-агентов в процессы хранилищ данных в Google Cloud, мы получаем несколько преимуществ, в том числе:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Больше никаких ручных усилий.** Когда дело доходит до избыточных и повторяющихся задач, AI устраняет их, преобразовывая роль инженеров в стратегических экспертов. Таким образом, инженерам и ученым по данным не нужно будет беспокоиться о фактическом извлечении данных; они могли бы использовать уже собранные данные, чтобы получить исключительные сведения.&lt;/li&gt;
&lt;li&gt;Улучшенная точность.** Системы на основе искусственного интеллекта сведут к минимуму человеческие ошибки, гарантируя, что собранные данные будут точными, согласованными и более работоспособными.&lt;/li&gt;
&lt;li&gt;Улучшенная масштабируемость.** Благодаря бессерверной инфраструктуре Google Cloud масштабируемость становится намного проще с ростом объемов данных. Это особенно полезно, поскольку уменьшается вероятность потери данных и подобных ошибок.&lt;/li&gt;
&lt;li&gt;Экономичность.** Традиционная система хранилища данных требует не только различных инструментов, но и всей рабочей силы, чтобы всегда быть начеку. Когда мы внедряем оптимизацию на основе искусственного интеллекта, вы не только сокращаете использование облака, но и операционные издержки невозможно отрицать.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Будущее AI-агентов в хранилищах данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В своей нынешней форме AI-агенты имеют свои ограничения, такие как сложность обучения модели, поскольку AI необходимо обучать на больших объемах данных для оптимальной работы. Более того, существуют также проблемы безопасности, поскольку организация будет использовать стороннее расширение для сбора важных данных. Однако самым большим является интеграция. Интеграция AI с устаревшими системами займет годы, чтобы стать новой нормой.&lt;/p&gt;
&lt;p&gt;Когда мы смотрим в будущее, AI в хранилище данных обязательно получит развитие. Мы можем увидеть бум хранилищ данных, которые будут самооптимизироваться без участия людей. Это может сэкономить время, деньги и усилия, когда компаниям необходимо анализировать данные и принимать важные решения. Примерами этого могут быть автономные хранилища данных (такие как автоматическая оптимизация Snowflake), автоматическое масштабирование BigQuery от Google и настройка ресурсов на основе искусственного интеллекта.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Окончательный вердикт&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;AI-агенты преобразуют процессы хранилищ данных, автоматизируя сбор данных, внедряя расширенную отчетность и используя инструменты, предоставляемые на SaaS-платформах, таких как Google Cloud. По мере развития AI мы увидим новые будущие тенденции. Но одно можно сказать наверняка: AI действительно является будущим для хранилищ данных и аналитики.&lt;/p&gt;
</description>
</item>

<item>
<title>Расцвет одноузловой обработки: Бросая вызов подходу – распределённое решение в первую очередь</title>
<guid isPermaLink="false">195</guid>
<link>https://gavrilov.info/all/rascvet-odnouzlovoy-obrabotki-brosaya-vyzov-podhodu-raspredelyon/</link>
<pubDate>Sun, 23 Feb 2025 21:05:19 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/rascvet-odnouzlovoy-obrabotki-brosaya-vyzov-podhodu-raspredelyon/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-140.png" width="1002" height="708" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Перевод: &lt;a href="https://www.pracdata.io/p/the-rise-of-single-node-processing"&gt;https://www.pracdata.io/p/the-rise-of-single-node-processing&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Введение&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В 2024 году наблюдается растущий интерес к одноузловым системам обработки данных. Инструменты вроде DuckDB, Apache DataFusion и Polars привлекли внимание сообщества и стали невероятно популярными. Этот тренд — не просто технологический прогресс, а переосмысление подходов к аналитике данных.&lt;/p&gt;
&lt;p&gt;По мере отказа от парадигмы «распределённые системы прежде всего», доминировавшей в эпоху «больших данных», компании обнаруживают, что одноузловые решения часто эффективнее, экономичнее и проще в управлении, особенно при работе с данными умеренного объёма.&lt;/p&gt;
&lt;p&gt;Недавний пост «Почему одноузловые системы набирают обороты в обработке данных» в LinkedIn вызвал неожиданно живой отклик сообщества, что подчеркнуло возросший интерес к теме. В этой статье мы рассмотрим её подробнее.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Переосмысление «больших данных»&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Последнее десятилетие компании активно внедряли стратегии big data, инвестируя в распределённые системы вроде Hadoop и Spark. Однако исследования показывают, что большинству компаний «большие данные» не нужны.&lt;/p&gt;
&lt;p&gt;Итоги анализа:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Jordan Tigani&lt;/b&gt; (основатель Google BigQuery): медианный объём данных у активных пользователей BigQuery — менее 100 ГБ.&lt;/li&gt;
&lt;li&gt;Исследование 500 млн запросов Amazon Redshift:
&lt;ul&gt;
  &lt;li&gt;99% обрабатывали менее 10 ТБ данных;&lt;/li&gt;
  &lt;li&gt;90% сессий работали с менее чем 1 ТБ;&lt;/li&gt;
  &lt;li&gt;98% таблиц содержат меньше миллиарда строк.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Вывод:&lt;/b&gt; Для 90% запросов достаточно одноузловых систем вместо распределённых (Spark, Trino, Athena).&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Паттерны рабочих нагрузок и старение данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1. Эффект старения данных&lt;/b&gt;&lt;br /&gt;
Доступ к данным резко сокращается со временем:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Горячие данные&lt;/b&gt; (0–48 часов): обработка ETL-пайплайнами.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Тёплые данные&lt;/b&gt; (2–30 дней): основа аналитических запросов.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Холодные данные&lt;/b&gt; (30+ дней): редко запрашиваются (сохранены для истории или аудита).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Исследование Meta и eBay подтверждает: 95% обращений к данным происходят в первые 48 часов. В «золотой» аналитической зоне 95% запросов выполняются в течение 30 дней.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. Правило 90/10&lt;/b&gt;&lt;br /&gt;
90% рабочих нагрузок приходится на 10% данных (за 30 дней). Даже при хранении данных год, аналитики в основном работают с последними 30 днями.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Эволюция оборудования: масштабирование вверх вместо распределения&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Рост возможностей одноузловых систем:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;В 2006 году (эпоха Hadoop) серверы имели 1 CPU и 2 ГБ RAM.&lt;/li&gt;
&lt;li&gt;Сегодня облачные инстансы (например, AWS EC2) предлагают 64+ ядер и 256+ ГБ RAM.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Экономика масштабирования:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Стоимость крупных инстансов (например, m5.16xlarge) сопоставима с расходами на несколько мелких узлов (например, 8 × m5.2xlarge) при одинаковой мощности.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Итог:&lt;/b&gt; Современные одноузловые системы справляются с задачами, которые раньше требовали распределения, но с меньшей сложностью.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Производительность одноузловых систем&lt;/b&gt;&lt;br /&gt;
DuckDB, Apache DataFusion и другие движки используют:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Векторизованное выполнение запросов;&lt;/li&gt;
&lt;li&gt;Параллелизм;&lt;/li&gt;
&lt;li&gt;Оптимизацию использования памяти.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Примеры роста скорости:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Переход с Postgres на DuckDB дал ускорение в 4–200 раз (Vantage).&lt;/li&gt;
&lt;li&gt;DuckDB превзошёл коммерческие хранилища на TPC-DS до 300 ГБ (Fivetran).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Причины выбрать одноузловую обработку&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Простота:&lt;/b&gt; Меньше сложности, чем в распределённых системах.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Эффективность:&lt;/b&gt; Реализация до 80% кода на C/C++ (против 10% в распределённых движках).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Совместимость:&lt;/b&gt; Интеграция с облачными хранилищами, языками программирования, BI-инструментами.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ограничения&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Не все движки эффективно используют многоядерные CPU.&lt;/li&gt;
&lt;li&gt;Пропускная способность RAM/CPU может стать узким местом.&lt;/li&gt;
&lt;li&gt;Очень большие наборы данных (&gt;1 ТБ) всё ещё требуют распределения.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Заключение&lt;/b&gt;&lt;br /&gt;
Одноузловая обработка — прагматичный ответ на реальные потребности бизнеса. С развитием оборудования и оптимизацией движков необходимость в распределённых системах будет снижаться.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Главный вывод:&lt;/b&gt; Выбирайте инструмент под конкретную задачу, а не следуйте трендам. Будущее — за балансом между мощью одноузловых систем и гибкостью распределённых решений.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Полный дословный перевод&lt;/b&gt;:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Введение&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В 2024 году наблюдался растущий интерес к фреймворкам одноузловой обработки, при этом такие инструменты, как DuckDB, Apache DataFusion и Polars, привлекли повышенное внимание и завоевали беспрецедентную популярность в сообществе специалистов по данным.&lt;/p&gt;
&lt;p&gt;Эта тенденция представляет собой не просто технологический прогресс — она знаменует собой фундаментальную переоценку подхода к анализу данных.&lt;/p&gt;
&lt;p&gt;По мере того, как мы отходим от подхода “распределённое решение в первую очередь” эпохи “больших данных”, многие предприятия обнаруживают, что решения одноузловой обработки зачастую обеспечивают более эффективный, экономичный и управляемый подход к своим аналитическим потребностям, когда размер их данных не так велик.&lt;/p&gt;
&lt;p&gt;Когда я недавно опубликовал небольшую заметку в LinkedIn под названием “Почему одноузловые движки набирают обороты в обработке данных”, я не ожидал, что она привлечет такое значительное внимание со стороны сообщества специалистов по данным в LinkedIn. Этот отклик подчеркнул растущий интерес отрасли к этой теме.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-141.png" width="1054" height="1144" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;В этой статье я углублюсь в эту тему, изучив её более детально и предоставив дополнительные сведения.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Переосмысление больших данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Последнее десятилетие многие предприятия изо всех сил пытались внедрить стратегии больших данных, при этом многие компании вкладывали значительные средства в фреймворки распределенной обработки, такие как Hadoop и Spark.&lt;/p&gt;
&lt;p&gt;Однако недавние анализы выявили удивительную правду: у большинства компаний на самом деле нет “больших данных”.&lt;/p&gt;
&lt;p&gt;Значительному большинству компаний не требуются крупные платформы данных для удовлетворения своих потребностей в анализе данных. Часто эти компании поддаются маркетинговой шумихе и делают значительные инвестиции в эти платформы, которые могут неэффективно решать их фактические проблемы с данными.&lt;/p&gt;
&lt;p&gt;Джордан Тигани, один из инженеров-основателей Google BigQuery, проанализировал шаблоны использования и обнаружил, что медианный размер хранилища данных среди активных пользователей BigQuery составляет менее 100 ГБ.&lt;/p&gt;
&lt;p&gt;Ещё более показательным является анализ полумиллиарда запросов, выполненных в Amazon Redshift и опубликованных в статье:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Более 99% запросов обработали менее 10 ТБ данных.&lt;/li&gt;
&lt;li&gt;Более 90% сеансов обработали менее 1 ТБ.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В статье также говорится, что:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Большинство таблиц содержит менее миллиона строк, и подавляющее большинство (98%) — менее миллиарда строк. Большая часть этих данных достаточно мала, чтобы её можно было кэшировать или реплицировать.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Этот анализ показывает, что при пороговом значении для больших данных в 1 ТБ более 90% запросов находятся ниже этого порога.&lt;/p&gt;
&lt;p&gt;В результате, одноузловые движки обработки потенциально способны обрабатывать рабочие нагрузки, которые ранее требовали распределенных систем, таких как Spark, Trino или Amazon Athena, для обработки на нескольких машинах.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-142.png" width="1201" height="812" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Эта реальность ставит под сомнение распространенное представление о том, что инфраструктура больших данных является необходимостью для всех современных предприятий.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Шаблоны рабочей нагрузки и быстрое устаревание данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Аргументы в пользу одноузловой обработки становятся ещё более убедительными, когда мы изучаем, как организации в действительности используют свои данные.&lt;/p&gt;
&lt;p&gt;Выявляются два ключевых шаблона: эффект устаревания данных и правило 90/10 для аналитических рабочих нагрузок.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Эффект устаревания данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;По мере устаревания данных частота доступа к ним резко снижается. Для большинства компаний шаблоны доступа к данным следуют предсказуемому жизненному циклу:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Активные данные (0-48 часов): в основном из конвейеров ETL.&lt;/li&gt;
&lt;li&gt;Теплые данные (2-30 дней): составляют большую часть аналитических запросов.&lt;/li&gt;
&lt;li&gt;Холодные данные (30+ дней): редко используются, но часто хранятся для соответствия требованиям или исторического анализа.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Исследование шаблонов доступа к данным Meta и eBay выявило резкое снижение доступа после первых нескольких дней, причем данные обычно становились холодными через месяц.&lt;/p&gt;
&lt;p&gt;В нашем анализе озера данных петабайтного масштаба мы обнаружили, что необработанные данные остаются активными только в течение 48 часов, причем 95% доступа приходится на это время, в основном со стороны нисходящих конвейеров ETL. В зоне Analytics (Gold) активный период длится около 7 дней, и 95% запросов выполняются только в течение 30 дней.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Правило 90/10 для аналитических рабочих нагрузок&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Этот эффект устаревания приводит к правилу 90/10 в аналитических рабочих нагрузках:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Если общий активный и теплый период составляет 30 дней и приходится на 90% рабочих нагрузок, то, при годовом сроке хранения, более 90% рабочих нагрузок получают доступ менее чем к 10% данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-143.png" width="1041" height="1340" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Этот шаблон остается удивительно постоянным в разных отраслях и вариантах использования. Даже в организациях с большими наборами данных большинство аналитических рабочих нагрузок работает с последними, агрегированными данными, которые легко помещаются в возможности одноузловой обработки.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Эволюция оборудования и переосмысление масштабирования вверх&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Возможности одноузловых систем экспоненциально выросли со времен зарождения больших данных.&lt;/p&gt;
&lt;p&gt;Обоснование и мотивация стратегии масштабирования по горизонтали (scale-out), которая стала популярной с появлением Hadoop в середине 2000-х годов в области обработки данных, заключаются в необходимости объединения нескольких машин для решения проблем масштабирования, что позволяет эффективно обрабатывать большие наборы данных в разумные сроки и с приемлемым уровнем производительности.&lt;/p&gt;
&lt;p&gt;Интегрируя несколько машин в распределенные системы, мы фактически создаем единый большой блок, объединяя ресурсы, такие как ОЗУ, ЦП, дисковое пространство и пропускную способность, в одну большую виртуальную машину.&lt;/p&gt;
&lt;p&gt;Однако нам необходимо переоценить наши предположения о распределенной обработке и проблемах масштабирования, с которыми мы столкнулись в 2000-х годах, чтобы увидеть, остаются ли они актуальными сегодня.&lt;/p&gt;
&lt;p&gt;В 2006 году, когда появился Hadoop MapReduce, первые инстансы AWS EC2 (m1.small) имели всего 1 ЦП и менее 2 ГБ ОЗУ. Сегодня облачные провайдеры предлагают инстансы с 64+ ядрами и 256 ГБ+ ОЗУ, что кардинально меняет ситуацию с возможностями одноузловой обработки.&lt;/p&gt;
&lt;p&gt;Изучение эволюции сбалансированных инстансов EC2 с точки зрения памяти и ЦП (с соотношением 1:4) на протяжении многих лет выявляет экспоненциальный рост, поскольку эти инстансы со временем становятся все более мощными.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-144.png" width="1456" height="448" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Экономика масштабирования вверх (Scale-Up) против масштабирования по горизонтали (Scale-Out)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Можно предположить, что масштабирование по горизонтали на нескольких небольших инстансах более рентабельно, чем использование более крупных инстансов. Однако модели облачного ценообразования говорят об обратном.&lt;/p&gt;
&lt;p&gt;Стоимость за вычислительную единицу в облаке является постоянной, независимо от того, используете ли вы меньший или больший инстанс, поскольку стоимость увеличивается линейно.&lt;/p&gt;
&lt;p&gt;То есть стоимость более крупных вычислительных инстансов в облаке увеличивается линейно, и общая цена остается той же, независимо от того, используете ли вы один более крупный инстанс или несколько небольших инстансов, при условии, что общее количество ядер и памяти одинаково.&lt;/p&gt;
&lt;p&gt;Используя семейство инстансов m5 от AWS в качестве примера, независимо от того, масштабируетесь ли вы вверх с помощью одного инстанса m5.16xlarge или масштабируетесь по горизонтали с помощью восьми инстансов m5.2xlarge, цена за час останется той же.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-145.png" width="882" height="694" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Эта эволюция оборудования имеет важные последствия для решений по архитектуре системы, поскольку:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Современные инстансы могут обрабатывать рабочие нагрузки, которые ранее требовали десятков небольших узлов, и делают это с меньшей сложностью и накладными расходами.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Это поднимает критический вопрос:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;С точки зрения соотношения цены и производительности, если одноузловой движок запросов может эффективно обрабатывать большинство рабочих нагрузок, есть ли еще выгода от распределения обработки по нескольким узлам?&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-146.png" width="1156" height="742" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Аргумент производительности для одноузловой обработки&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Современные одноузловые движки обработки используют передовые методы для достижения впечатляющей производительности.&lt;/p&gt;
&lt;p&gt;Движки, такие как DuckDB и Apache DataFusion, достигают превосходной производительности благодаря сложным методам оптимизации, включая векторизованное выполнение, параллельную обработку и эффективное управление памятью.&lt;/p&gt;
&lt;p&gt;Многочисленные тесты показывают эти улучшения производительности:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vantage сообщила, что при переходе с Postgres на DuckDB для анализа затрат на облако они увидели улучшение производительности в диапазоне от 4X до 200X.&lt;/li&gt;
&lt;li&gt;Тесты генерального директора Fivetran с использованием наборов данных TPC-DS показали, что DuckDB превосходит коммерческие хранилища данных для наборов данных размером менее 300 ГБ.&lt;/li&gt;
&lt;li&gt;Эксперимент с 1 миллиардом строк поддельных данных о заказах, сравнивающий DuckDB с Amazon Athena.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Почему стоит выбрать одноузловую обработку?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Аргументы в пользу одноузловой обработки выходят за рамки простой производительности. Для большинства предприятий современные одноузловые движки предлагают несколько веских преимуществ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Они значительно упрощают архитектуру системы, устраняя сложность распределенных систем. Это упрощение снижает эксплуатационные расходы, облегчает отладку и снижает порог входа для команд, работающих с данными.&lt;/li&gt;
&lt;li&gt;Они часто обеспечивают лучшее использование ресурсов. Без накладных расходов на сетевую связь и распределенную координацию больше вычислительной мощности можно выделить для фактической обработки данных. Эта эффективность напрямую приводит к экономии затрат и повышению производительности.&lt;/li&gt;
&lt;li&gt;Они предлагают отличную интеграцию с современными рабочими процессами обработки данных. Такие движки, как chDB и DuckDB, могут напрямую запрашивать данные из облачного хранилища, бесперебойно работать с популярными языками программирования и органично вписываться в существующие конвейеры обработки данных.&lt;/li&gt;
&lt;li&gt;Встраиваемая природа некоторых из этих движков обеспечивает бесшовную интеграцию с существующими системами — от расширений PostgreSQL, таких как pg_analytics и pg_duckdb, до различных современных инструментов Business Intelligence — расширяя аналитические возможности без нарушения установленных рабочих процессов.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Проблемы и ограничения&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Хотя одноузловая обработка предлагает много преимуществ, важно признать её ограничения.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Некоторые движки по-прежнему сталкиваются с проблемами полного использования всех доступных ядер ЦП на больших машинах, особенно по мере увеличения количества ядер. Пропускная способность иерархии памяти между ОЗУ и ЦП может стать узким местом для определенных рабочих нагрузок.&lt;/li&gt;
&lt;li&gt;При чтении из облачного хранилища, такого как S3, скорость передачи данных через одно соединение может быть ограничена, хотя это часто можно смягчить с помощью параллельных соединений и интеллектуальных стратегий кэширования. И, естественно, остаются рабочие нагрузки, включающие очень большие наборы данных, которые превышают доступную память и хранилище, требующие распределенной обработки.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Заключение&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Расцвет одноузловых движков обработки представляет собой прагматичный сдвиг в анализе данных. Поскольку возможности оборудования продолжают развиваться, а одноузловые движки становятся все более сложными, потребность в распределенной обработке, вероятно, продолжит снижаться для большинства организаций.&lt;/p&gt;
&lt;p&gt;Для подавляющего большинства компаний фреймворки одноузловой обработки предлагают более эффективное, экономичное и управляемое решение для их потребностей в анализе данных. По мере продвижения вперед главное — не автоматически тянуться к распределенным решениям, а тщательно оценивать фактические требования к рабочей нагрузке и выбирать правильный инструмент для работы.&lt;/p&gt;
&lt;p&gt;Будущее обработки данных вполне может быть менее связано с управлением кластерами и больше с использованием впечатляющих возможностей современных одноузловых систем.&lt;/p&gt;
&lt;p&gt;Спасибо автору ALIREZA SADEGHI и оригиналу: &lt;a href="https://www.pracdata.io/p/the-rise-of-single-node-processing"&gt;https://www.pracdata.io/p/the-rise-of-single-node-processing&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Ландшафт открытого исходного кода в области инженерии данных 2025</title>
<guid isPermaLink="false">192</guid>
<link>https://gavrilov.info/all/landshaft-otkrytogo-ishodnogo-koda-v-oblasti-inzhenerii-dannyh/</link>
<pubDate>Thu, 13 Feb 2025 01:14:33 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/landshaft-otkrytogo-ishodnogo-koda-v-oblasti-inzhenerii-dannyh/</comments>
<description>
&lt;p&gt;&lt;b&gt;Перевод&lt;/b&gt; &lt;a href="https://www.pracdata.io/p/open-source-data-engineering-landscape-2025"&gt;Open Source Data Engineering Landscape 2025&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Введение&lt;/h3&gt;
&lt;p&gt;Сфера Open Source инструментов для инженерии данных продолжает стремительно развиваться, демонстрируя значительный прогресс в области хранения, обработки, интеграции и аналитики данных в 2024 году.&lt;/p&gt;
&lt;p&gt;Это второй год публикации обзора ландшафта Open Source инструментов для инженерии данных. Цель обзора — выявить и представить ключевые активные проекты и известные инструменты в этой области, а также предоставить всесторонний обзор динамично развивающейся экосистемы инженерии данных, основных тенденций и разработок.&lt;/p&gt;
&lt;p&gt;Хотя этот обзор публикуется ежегодно, соответствующий репозиторий GitHub обновляется регулярно в течение года. Не стесняйтесь вносить свой вклад, если заметите какой-либо недостающий компонент.&lt;/p&gt;
&lt;h3&gt;Методология исследования&lt;/h3&gt;
&lt;p&gt;Проведение такого обширного исследования требует значительных усилий и времени. Я постоянно исследую и стараюсь быть в курсе значительных событий в экосистеме инженерии данных в течение всего года, включая новости, мероприятия, тенденции, отчеты и достижения.&lt;/p&gt;
&lt;p&gt;В прошлом году я создал свою собственную небольшую платформу данных для отслеживания событий публичных репозиториев GitHub, что позволило лучше анализировать метрики Open Source инструментов, связанные с GitHub, такие как активность кода, количество звезд, вовлеченность пользователей и разрешение проблем.&lt;/p&gt;
&lt;p&gt;Стек включает в себя озеро данных (S3), Parquet в качестве формата сериализации, DuckDB для обработки и аналитики, Apache NiFi для интеграции данных, Apache Superset для визуализации и PostgreSQL для управления метаданными, а также другие инструменты. Эта установка позволила мне собрать около 1 ТБ необработанных данных о событиях GitHub, состоящих из миллиардов записей, а также агрегированный набор данных, который накапливается ежедневно, в общей сложности более 500 миллионов записей за 2024 год.&lt;/p&gt;
&lt;h3&gt;Критерии выбора инструментов&lt;/h3&gt;
&lt;p&gt;Доступных Open Source проектов для каждой категории, очевидно, много, поэтому включить каждый инструмент и проект в представленный обзор непрактично.&lt;/p&gt;
&lt;p&gt;Хотя страница GitHub содержит более полный список инструментов, ежегодно публикуемый обзор содержит только активные проекты, исключая неактивные и довольно новые проекты без минимальной зрелости или популярности. Однако не все включенные инструменты могут быть полностью готовы к промышленному использованию; некоторые все еще находятся на пути к зрелости.&lt;/p&gt;
&lt;p&gt;Итак, без лишних слов, представляем обзор Open Source инструментов для инженерии данных 2025 года:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-117.png" width="1456" height="1129" alt="" /&gt;
&lt;/div&gt;
&lt;h3&gt;Обзор Open Source инструментов для инженерии данных 2025&lt;/h3&gt;
&lt;h3&gt;Состояние Open Source в 2025 году&lt;/h3&gt;
&lt;p&gt;Экосистема Open Source инструментов для инженерии данных значительно выросла в 2024 году: в этом году в обзор добавлено более 50 новых инструментов, при этом удалено около 10 неактивных и архивных проектов. Хотя не все эти инструменты были запущены в 2024 году, они представляют собой важные дополнения к экосистеме.&lt;/p&gt;
&lt;p&gt;Хотя этот рост демонстрирует постоянные инновации, в этом году также наблюдались некоторые тревожные события, связанные с изменением лицензирования.  Устоявшиеся проекты, включая Redis, CockroachDB, ElasticSearch и Kibana, перешли на более закрытые и проприетарные лицензии, хотя Elastic позже объявила о возвращении к Open Source лицензированию.&lt;/p&gt;
&lt;p&gt;Однако эти изменения были уравновешены значительным вкладом в Open Source сообщество со стороны крупных игроков отрасли. Вклад Snowflake в Polaris, открытие исходного кода Unity Catalog от Databricks, пожертвование OneHouse Apache XTable и выпуск Netflix Maestro продемонстрировали постоянную приверженность ведущих компаний отрасли разработке Open Source.&lt;/p&gt;
&lt;p&gt;Фонд Apache сохранил свои позиции в качестве ключевого управляющего технологиями данных, активно инкубируя несколько перспективных проектов в течение 2024 года. Среди заметных проектов в инкубации были Apache XTable (универсальный формат таблиц), Apache Amoro (управление Lakehouse), Apache HoraeDB (база данных временных рядов), Apache Gravitino (каталог данных), Apache Gluten (промежуточное ПО) и Apache Polaris (каталог данных).&lt;/p&gt;
&lt;p&gt;Фонд Linux также укрепил свои позиции в области данных, продолжая размещать такие исключительные проекты, как Delta Lake, Amundsen, Kedro, Milvus и Marquez.  Фонд расширил свой портфель в 2024 году, добавив новые значительные проекты, включая vLLM, пожертвованный Калифорнийским университетом в Беркли, и OpenSearch, который был передан из AWS в Фонд Linux.&lt;/p&gt;
&lt;h3&gt;Open Source vs Open Core vs Open Foundation&lt;/h3&gt;
&lt;p&gt;Не все перечисленные проекты являются полностью совместимыми, независимыми от поставщиков Open Source инструментами. Некоторые работают по модели Open Core, где не все компоненты полной системы доступны в Open Source версии. Как правило, критически важные функции, такие как безопасность, управление и мониторинг, зарезервированы для платных версий.&lt;/p&gt;
&lt;p&gt;Остаются вопросы об устойчивости бизнес-модели Open Core. Эта модель сталкивается со значительными проблемами, что заставляет некоторых полагать, что она может уступить место модели Open Foundation. В этом подходе программное обеспечение с открытым исходным кодом служит основой коммерческих предложений, гарантируя, что оно остается полностью жизнеспособным продуктом для производства со всеми необходимыми функциями.&lt;/p&gt;
&lt;h3&gt;Обзор категорий&lt;/h3&gt;
&lt;p&gt;Ландшафт инженерии данных разделен на 9 основных категорий:&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Системы хранения:&lt;/b&gt; базы данных и механизмы хранения, охватывающие OLTP, OLAP и специализированные решения для хранения.&lt;br /&gt;
* &lt;b&gt;Платформа озера данных:&lt;/b&gt; инструменты и фреймворки для построения и управления озерами данных и Lakehouse.&lt;br /&gt;
* &lt;b&gt;Обработка и интеграция данных:&lt;/b&gt; фреймворки для пакетной и потоковой обработки, а также инструменты обработки данных Python.&lt;br /&gt;
* &lt;b&gt;Оркестрация рабочих процессов и DataOps:&lt;/b&gt; инструменты для оркестрации конвейеров данных и управления операциями с данными.&lt;br /&gt;
* &lt;b&gt;Интеграция данных:&lt;/b&gt; решения для приема данных, CDC (Change Data Capture) и интеграции между системами.&lt;br /&gt;
* &lt;b&gt;Инфраструктура данных:&lt;/b&gt; основные компоненты инфраструктуры, включая оркестрацию контейнеров и мониторинг.&lt;br /&gt;
* &lt;b&gt;ML/AI платформа:&lt;/b&gt; инструменты, ориентированные на ML-платформы, MLOps и векторные базы данных.&lt;br /&gt;
* &lt;b&gt;Управление метаданными:&lt;/b&gt; решения для каталогов данных, управления и управления метаданными.&lt;br /&gt;
* &lt;b&gt;Аналитика и визуализация:&lt;/b&gt; BI-инструменты, фреймворки визуализации и аналитические механизмы.&lt;/p&gt;
&lt;p&gt;В следующем разделе кратко обсуждаются последние тенденции, инновации и текущее состояние основных продуктов в каждой категории.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Системы хранения&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;В 2024 году ландшафт систем хранения данных претерпел значительные архитектурные изменения, особенно в области систем баз данных OLAP.&lt;/p&gt;
&lt;p&gt;DuckDB стал историей крупного успеха, особенно после выпуска версии 1.0, которая продемонстрировала готовность к промышленному использованию для предприятий. Новая категория встраиваемых OLAP расширилась за счет новых участников, таких как chDB (построенный на ClickHouse), GlareDB и SlateDB, что отражает растущий спрос на легкие аналитические возможности обработки.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-118.png" width="1456" height="781" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Расширения OLAP и HTAS&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Значительным событием стало распространение новых расширений OLAP, особенно в экосистеме PostgreSQL.&lt;/p&gt;
&lt;p&gt;Эти расширения позволяют легко расширять базы данных OLTP, преобразовывая эти системы в HTAP (гибридная транзакционная/аналитическая обработка) или новый механизм базы данных HTAS (гибридное транзакционное аналитическое хранилище), который интегрирует безголовое хранилище данных, такое как озера данных и lakehouse, с транзакционными системами баз данных.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-119.png" width="1456" height="583" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Выпуск MotherDuck pg_duckdb стал важным шагом вперед, позволив DuckDB служить встроенным механизмом OLAP в PostgreSQL.  За ним последовало расширение pg_mooncake, предоставляющее собственные возможности хранения столбцов в открытых табличных форматах, таких как Iceberg и Delta. Crunchy Data и ParadeDB внесли аналогичный вклад через pg_parquet и pg_analytics соответственно, обеспечивая прямую аналитику по файлам Parquet в озерах данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Архитектура без дисков (Zero-Disk)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Архитектура без дисков стала, пожалуй, самой преобразующей тенденцией в системах хранения, фундаментально изменив то, как системы баз данных управляют уровнями хранения и вычислений.&lt;/p&gt;
&lt;p&gt;Этот архитектурный подход полностью устраняет необходимость в локально подключенных дисках, вместо этого используя удаленные решения для глубокого хранения, такие как объектное хранилище S3, в качестве основного уровня персистентности.&lt;/p&gt;
&lt;p&gt;Помимо систем хранения OLAP, таких как облачные хранилища данных и открытые табличные форматы, мы наблюдаем значительное появление этой модели в NoSQL, системах реального времени, потоковых и транзакционных системах.&lt;/p&gt;
&lt;p&gt;Основным компромиссом для систем на основе дисков и систем без дисков является соотношение цены и производительности, а также задержка ввода-вывода для чтения и записи данных на физическое хранилище. В то время как дисковые системы могут управлять быстрым вводом-выводом менее миллисекунды, системы без дисков достигают экономии за счет масштаба с дешевым масштабируемым объектным хранилищем, ценой задержек до одной секунды при чтении и записи данных в службу объектного хранилища.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-120.png" width="1456" height="1111" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Новые системы баз данных, включая базу данных временных рядов SlateDB и Apache HoraeDB, были построены с нуля с использованием этой архитектуры, в то время как устоявшиеся системы, такие как Apache Doris и StarRocks, приняли ее в 2024 году. Другие механизмы реального времени, такие как AutoMQ и InfluxDB 3.0, все чаще применяют парадигму без дисков.&lt;/p&gt;
&lt;p&gt;Для всестороннего анализа архитектуры без дисков и ее последствий см. подробное исследование в следующей статье:  Архитектура без дисков: будущее облачных систем хранения. &lt;a href="https://www.pracdata.io/p/zero-disk-architecture-the-future"&gt;https://www.pracdata.io/p/zero-disk-architecture-the-future&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Другие заметные разработки&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;После перехода Redis на проприетарную лицензию в 2024 году Valkey стала ведущей альтернативой с открытым исходным кодом, став самой звездной системой хранения на GitHub в 2024 году. Крупные облачные провайдеры быстро приняли ее: Google интегрировал ее в Memorystore, а Amazon поддерживает ее через сервисы ElastiCache и MemoryDB.&lt;/p&gt;
&lt;p&gt;Другие заметные разработки включают ParadeDB, альтернативу Elasticsearch, построенную на движке PostgreSQL, и новые гибридные системы потокового хранения, такие как Proton от TimePlus и Fluss, представленные Ververica. Эти системы направлены на интеграцию функций потоковой передачи и OLAP с основой хранения столбцов.&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Платформа озера данных&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Поскольку пионер баз данных Майкл Стоунбрейкер одобрил архитектуру lakehouse и открытые табличные форматы как «архетип OLAP СУБД на следующее десятилетие», lakehouse остается самой горячей темой в инженерии данных.&lt;/p&gt;
&lt;p&gt;Ландшафт открытых табличных форматов продолжал значительно развиваться в 2024 году. Четвертый основной открытый табличный формат, Apache Paimon, вышел из инкубации, предоставив возможности потоковой передачи lakehouse с интеграцией Apache Flink. Apache XTable появился как новый проект, ориентированный на двунаправленное преобразование форматов, в то время как Apache Amoro вошел в инкубацию со своим фреймворком управления lakehouse.&lt;/p&gt;
&lt;p&gt;В 2024 году Apache Iceberg зарекомендовал себя как ведущий проект среди фреймворков с открытым табличным форматом, отличающийся расширением своей экосистемы и метриками репозитория GitHub, включая большее количество звезд, форков, запросов на вытягивание и коммитов.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-121.png" width="1049" height="700" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-122.png" width="1456" height="371" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Все основные поставщики SaaS и облачных технологий улучшили свои платформы для поддержки доступа к открытым табличным форматам. Однако поддержка записи была менее распространена, причем Apache Iceberg был предпочтительным выбором для комплексной интеграции CRUD (Create, Read, Update, Delete).&lt;/p&gt;
&lt;p&gt;Управляемые таблицы BigLake от Google, позволяющие изменять таблицы Iceberg в облачном хранилище, управляемом клиентом, недавно анонсированные таблицы S3 от Amazon с нативной поддержкой Iceberg, а также другие основные инструменты SaaS, такие как Redpanda, запускающие Iceberg Topics, и Crunchy Data Warehouse, глубоко интегрирующиеся с Apache Iceberg, являются примерами растущего внедрения и глубокой интеграции с Iceberg в экосистеме.&lt;/p&gt;
&lt;p&gt;В будущем универсальные табличные форматы, такие как Apache XTable и Delta UniForm (Delta Lake Universal Format), могут столкнуться со значительными трудностями в навигации по потенциальному расхождению функций в различных форматах, а судьба открытых табличных форматов может отражать судьбу открытых файловых форматов, когда Parquet стал фактическим стандартом.&lt;/p&gt;
&lt;p&gt;По мере того, как экосистема lakehouse продолжает расти, ожидается, что внедрение совместимых открытых стандартов и фреймворков в рамках платформы Open Data Lakehouse приобретет большую популярность.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-123.png" width="1456" height="1014" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Появление библиотек нативных табличных форматов&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В экосистеме lakehouse появляется новая тенденция, сосредоточенная на разработке нативных библиотек на Python и Rust.  Эти библиотеки направлены на обеспечение прямого доступа к открытым табличным форматам без необходимости использования тяжелых фреймворков, таких как Spark.&lt;/p&gt;
&lt;p&gt;Яркими примерами являются Delta-rs, нативная библиотека Rust для Delta Lake со связями Python; Hudi-rs, реализация Rust для Apache Hudi с API Python, и PyIceberg, развивающаяся библиотека Python, предназначенная для улучшения доступа к табличному формату Iceberg за пределами движка Spark по умолчанию.&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Обработка и интеграция данных&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Подъем одноузловой обработки&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Подъем одноузловой обработки представляет собой фундаментальный сдвиг в обработке данных, бросающий вызов традиционным подходам, ориентированным на распределенные системы.&lt;/p&gt;
&lt;p&gt;Недавний анализ показывает, что многие компании переоценили свои потребности в больших данных, что побудило пересмотреть свои требования к обработке данных. Даже в организациях с большими объемами данных примерно 90% запросов остаются в пределах управляемого размера рабочей нагрузки для запуска на одной машине, сканируя только последние данные.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-124.png" width="1200" height="812" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Современные механизмы одноузловой обработки, такие как DuckDB, Apache DataFusion и Polars, стали мощными альтернативами, способными обрабатывать рабочие нагрузки, которые ранее требовали распределенных систем, таких как Hive/Tez, Spark, Presto или Amazon Athena.&lt;/p&gt;
&lt;p&gt;Чтобы ознакомиться с полным анализом состояния одноузловой обработки, перейдите по ссылке ниже: &lt;a href="https://www.pracdata.io/p/the-rise-of-single-node-processing"&gt;https://www.pracdata.io/p/the-rise-of-single-node-processing&lt;/a&gt; или тут есть перевод &lt;a href="https://gavrilov.info/all/rascvet-odnouzlovoy-obrabotki-brosaya-vyzov-podhodu-raspredelyon/"&gt;https://gavrilov.info/all/rascvet-odnouzlovoy-obrabotki-brosaya-vyzov-podhodu-raspredelyon/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Потоковая обработка&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Экосистема потоковой обработки продолжала расширяться в 2024 году, причем Apache Flink еще больше укрепил свои позиции в качестве ведущего движка потоковой обработки, в то время как Apache Spark сохраняет свои сильные позиции.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-125.png" width="1394" height="742" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Отмечая свое 10-летие, Flink выпустил версию 2.0, представляющую первое крупное обновление с момента дебюта Flink 1.0 восемь лет назад. Экосистема Apache Flink значительно расширилась с появлением открытого табличного формата Apache Paimon и недавно открытого движка потоковой обработки Fluss. В 2024 году ведущие облачные провайдеры все чаще интегрировали Flink в свои управляемые сервисы, последним из которых стало бессерверное решение Google BigQuery Engine для Apache Flink.&lt;/p&gt;
&lt;p&gt;Появляющиеся движки потоковой обработки — Fluvio, Arroyo и FastStream — стремятся конкурировать с этими признанными претендентами. Fluvio и Arroyo выделяются как единственные движки на основе Rust, которые направлены на устранение накладных расходов, обычно связанных с традиционными движками потоковой обработки на основе JVM.&lt;/p&gt;
&lt;p&gt;В главных новостях потоковой передачи с открытым исходным кодом Redpanda приобрела Benthos.dev, переименовав ее в Redpanda Connect и переведя на более проприетарную лицензию. В ответ WarpStream создал форк проекта Benthos, переименовав его в Bento и обязавшись сохранить его 100% лицензированным по MIT.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Фреймворки обработки Python&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В экосистеме обработки данных Python Polars в настоящее время является доминирующей высокопроизводительной библиотекой DataFrame для задач инженерии данных (за исключением PySpark). Polars достиг впечатляющих 89 миллионов загрузок в 2024 году, отметив важный этап выпуска версии 1.0.&lt;/p&gt;
&lt;p&gt;Однако теперь Polars сталкивается с конкуренцией со стороны API DataFrame от DuckDB, который привлек внимание сообщества своей удивительно простой интеграцией с внешними системами хранения и интеграцией без копирования (прямое совместное использование памяти между различными системами) с Apache Arrow, аналогично Polars. Обе библиотеки входят в 1% самых загружаемых библиотек Python в прошлом году.&lt;/p&gt;
&lt;p&gt;Apache Arrow укрепил свои позиции в качестве фактического стандарта для представления данных в памяти в экосистеме обработки данных Python. Фреймворк установил глубокую интеграцию с различными фреймворками обработки Python, включая Apache DataFusion, Ibis, Daft, cuDF и Pandas 3.0.&lt;/p&gt;
&lt;p&gt;Ibis и Daft — это другие инновационные проекты DataFrame с высоким потенциалом. Ibis имеет удобный внутренний интерфейс для различных баз данных на основе SQL, а Daft предоставляет возможности распределенных вычислений, созданные с нуля для поддержки распределенной обработки DataFrame.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Оркестрация рабочих процессов и DataOps&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В 2025 году категория оркестрации рабочих процессов с открытым исходным кодом продолжает оставаться одним из самых динамичных сегментов экосистемы инженерии данных, включающей более 10 активных проектов, от устоявшихся платформ, таких как Apache Airflow, до недавно открытых движков, таких как Maestro от Netflix.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-126.png" width="1456" height="683" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;После десятилетия Apache Airflow продолжает оставаться наиболее развернутым и принятым движком оркестрации рабочих процессов с ошеломляющими 320 миллионами загрузок только в 2024 году, сталкиваясь с конкуренцией со стороны растущих конкурентов, таких как Dagster, Prefect и Kestra.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-127.png" width="1260" height="874" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Интересно, что Kestra получил наибольшее количество звезд на GitHub в 2024 году, причем всплеск напрямую связан с объявлением о его финансировании в размере 8 миллионов долларов в сентябре, которое было опубликовано на TechCrunch. С точки зрения активности кода, Dagster продемонстрировал замечательную активность разработки с впечатляющими 27 000 коммитов и почти 6 000 закрытыми запросами на вытягивание в 2024 году.&lt;/p&gt;
&lt;p&gt;Для всестороннего анализа состояния систем оркестрации рабочих процессов прочтите следующую статью: &lt;a href="https://www.pracdata.io/p/state-of-workflow-orchestration-ecosystem-2025"&gt;https://www.pracdata.io/p/state-of-workflow-orchestration-ecosystem-2025&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Качество данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Great Expectations продолжает оставаться ведущим фреймворком Python для обеспечения качества данных и валидации, также представленным в &lt;a href="https://www.databricks.com/resources/ebook/state-of-data-ai&amp;ved=2ahUKEwjjyu6m-q6LAxX4JUQIHT0nFkMQFnoECBIQAQ&amp;usg=AOvVaw1kV7-XyUDOl5oHepsMrDI6"&gt;10 лучших продуктах Databricks для данных и ИИ 2024 года&lt;/a&gt;, за которым следуют Soda и Pandera в практике инженерии данных. Однако есть и разочаровывающие новости: проект Data-Diff был заархивирован своим основным разработчиком, Datafold, в 2024 году.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Версионирование данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Версионирование данных остается важной темой в 2024 году, поскольку продолжаются усилия по внедрению возможностей современных систем управления версиями, таких как Git, в озера данных и lakehouse.&lt;/p&gt;
&lt;p&gt;Такие проекты, как LakeFS и Nessie, улучшают современные озера данных и открытые табличные форматы, такие как Iceberg и Delta Lake, за счет расширения их транзакционных уровней метаданных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Преобразование данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Сфера использования dbt для преобразования данных расширяется за пределы ее первоначальной направленности на моделирование данных в системах хранилищ данных. В настоящее время она проникает в среды вне хранилищ данных, такие как озера данных, благодаря новым интеграциям и плагинам, которые используют временные вычислительные движки, такие как Trino.&lt;/p&gt;
&lt;p&gt;В настоящее время dbt сталкивается с конкуренцией в основном со стороны SQLMesh.  Примечательным противостоянием в 2024 году стали дебаты SQLMesh против dbt, освещенные генеральным директором Tobiko, который заявил в социальных сетях, что SQLMesh настолько хорош, что его запретили на конференции Coalesce от dbt!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Интеграция данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В области интеграции данных Airbyte сохранил свои лидирующие позиции, достигнув впечатляющей вехи, закрыв 13 000 запросов на вытягивание в рамках подготовки к версии 1.x. Фреймворк dlt продемонстрировал значительное созревание с выпуском версии 1.0, в то время как Apache SeaTunnel набрал обороты в качестве убедительной альтернативы.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-128.png" width="1456" height="768" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Ландшафт фреймворков Change Data Capture (CDC) развивался с появлением новых инструментов, включая Artie Transfer и PeerDB (приобретен ClickHouse), в то время как коннекторы Flink CDC получают распространение среди платформ, использующих Flink в качестве основного движка потоковой передачи.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Центры событий (службы потоковой публикации/подписки)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Одно из самых заметных нововведений в области интеграции данных в 2024 году произошло из развивающегося ландшафта потоковой передачи данных.  Значительным архитектурным сдвигом в этой категории является разделение хранения и вычислений в сочетании с внедрением объектного хранилища в архитектуре без дисков. WarpStream является пионером в реализации этой архитектуры в области потоковой передачи в реальном времени.&lt;/p&gt;
&lt;p&gt;Эта модель также обеспечивает гибкую стратегию развертывания Bring Your Own Cloud (BYOC), поскольку как вычисления, так и хранилище могут размещаться в предпочитаемой клиентом инфраструктуре, в то время как поставщик услуг поддерживает плоскость управления.&lt;/p&gt;
&lt;p&gt;Успех WarpStream побудил крупных конкурентов принять аналогичные архитектуры. Redpanda запустила Cloud Topics, улучшив свои предложения, в то время как AutoMQ реализовала гибридный подход с быстрым уровнем кеширования для повышения производительности ввода-вывода.&lt;/p&gt;
&lt;p&gt;Кроме того, StreamNative представила движок Ursa для Apache Pulsar, а Confluent представила свои собственные облачные кластеры Freight Clusters в 2024 году. В конечном итоге Confluent решила приобрести WarpStream, еще больше расширив свое предложение с помощью модели BYOC. Между тем, замечательный Apache Kafka стоит на распутье, которое может определить его дальнейшее направление в экосистеме.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Инфраструктура данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Ландшафт инфраструктуры данных в 2024 году оставался в основном стабильным: Kubernetes отпраздновал свое 10-летие, сохранив при этом свои позиции в качестве ведущего движка планирования ресурсов и виртуализации в облачных средах.&lt;/p&gt;
&lt;p&gt;В области наблюдаемости InfluxDB, Prometheus и Grafana продолжали доминировать, причем Grafana Labs обеспечила себе заметный раунд финансирования в размере 270 миллионов долларов, который укрепил долгосрочную жизнеспособность их основных продуктов, таких как Grafana, в качестве универсальных решений для наблюдаемости.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;ML/AI платформа&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Векторные базы данных сохранили сильный импульс с 2023 года, причем Milvus стала лидером наряду с Qdrant, Chroma и Weaviate.  В настоящее время эта категория включает десять активных проектов векторных баз данных, что отражает растущую важность возможностей векторного поиска в современных архитектурах данных с поддержкой ИИ.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-129.png" width="1456" height="787" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Внедрение LLMOps (также называемого GenOps) в качестве отдельной категории в представленном в этом году ландшафте было отмечено быстрым ростом новых проектов, таких как Dify и vLLM, специально созданных для управления LLM-моделями.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Управление метаданными&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Платформы управления метаданными приобрели значительный импульс в последние годы, причем DataHub лидирует в области открытого исходного кода благодаря своей активной разработке и участию сообщества.&lt;/p&gt;
&lt;p&gt;Однако наиболее заметные события в 2024 году произошли в управлении каталогами.  В то время как в 2023 году доминировала конкуренция в открытых табличных форматах, 2024 год ознаменовал начало «войны каталогов».&lt;/p&gt;
&lt;p&gt;В отличие от предыдущих лет, в 2024 году на рынок вышла волна новых решений для открытых каталогов, включая Polaris (открытый исходный код от Snowflake), Unity Catalog (открытый исходный код от Databricks), LakeKeeper и Apache Gravitino.&lt;/p&gt;
&lt;p&gt;Это распространение отражает осознание того, что появляющимся платформам lakehouse, которые в значительной степени полагаются на открытые табличные форматы, не хватает передовых встроенных возможностей управления каталогами для бесшовной взаимодействия между различными движками.&lt;/p&gt;
&lt;p&gt;Все эти проекты имеют потенциал для установления нового стандарта для независимых от поставщиков открытых каталожных сервисов на платформах lakehouse. Подобно тому, как Hive Metastore стал фактическим стандартом для платформ на основе Hadoop, эти новые каталоги могут окончательно заменить давнее доминирование Hive Metastore в управлении каталогами на открытых платформах данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Аналитика и визуализация&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В области бизнес-аналитики с открытым исходным кодом Apache Superset и Metabase остаются ведущими BI-решениями. В то время как Superset лидирует по популярности на GitHub, Metabase демонстрирует наивысшую активность разработки. Lightdash стал многообещающим новичком, получив финансирование в размере 11 миллионов долларов и продемонстрировав рыночный спрос на легкие BI-решения.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-130.png" width="1456" height="704" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;BI-as-Code решения&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;BI-as-Code появился как отдельная категория благодаря продолжающемуся успеху Streamlit, который сохранил свои позиции в качестве самого популярного решения BI-as-Code.&lt;/p&gt;
&lt;p&gt;Эти инструменты позволяют разработчикам создавать интерактивные приложения и легкие BI-панели управления с помощью кода, SQL и шаблонов, таких как Markdown или YAML, имея возможность комбинировать лучшие практики разработки программного обеспечения, такие как контроль версий, тестирование и CI/CD, в рабочий процесс разработки панелей управления.&lt;/p&gt;
&lt;p&gt;В дополнение к Streamlit и известному Evidence новые участники, такие как Quary и Vizro, набрали обороты, причем Quary, в частности, реализовал подход на основе Rust, который отличается от нормы, ориентированной на Python, в этой категории.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Компонуемый BI-стек&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Эволюция декомпозиции систем не ограничивается системами хранения; она также повлияла на стеки бизнес-аналитики (BI).  Появляется новая тенденция, которая сочетает в себе легкие, бездонные BI-инструменты (которые не имеют внутреннего сервера) с безголовыми встраиваемыми решениями OLAP, такими как Apache DataFusion, Apache Arrow и DuckDB.&lt;/p&gt;
&lt;p&gt;Эта интеграция устраняет несколько пробелов в BI-стеке с открытым исходным кодом, таких как собственная способность запрашивать внешние озера данных и lakehouse, сохраняя при этом преимущества легких, дезагрегированных архитектур.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-131.png" width="1456" height="1309" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;BI-продукты, такие как Omni, GoodData, Evidence и Rilldata, уже включили эти движки в свои BI-инструменты и инструменты исследования данных.  Как Apache Superset (с использованием библиотеки duckdb-engine), так и Metabase теперь поддерживают встроенные подключения DuckDB.&lt;/p&gt;
&lt;p&gt;Для всестороннего анализа развивающейся компонуемой BI-архитектуры см. подробное исследование в следующей статье: &lt;a href="https://www.pracdata.io/p/the-evolution-of-business-intelligence-stack"&gt;https://www.pracdata.io/p/the-evolution-of-business-intelligence-stack&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Перевод тут &lt;a href="https://gavrilov.info/all/evolyuciya-biznes-analitiki-ot-monolitnoy-k-komponuemoy-arhitekt/"&gt;https://gavrilov.info/all/evolyuciya-biznes-analitiki-ot-monolitnoy-k-komponuemoy-arhitekt/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;MPP Query Engines&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В пост-Hadoop эпоху было мало инноваций и внедрения новых систем MPP (массовой параллельной обработки) с открытым исходным кодом, в то время как существующие движки продолжают развиваться.&lt;/p&gt;
&lt;p&gt;В то время как доля Hive сокращается, Presto и Trino по-прежнему остаются лучшими движками запросов MPP с открытым исходным кодом, используемыми в производстве, несмотря на жесткую конкуренцию со стороны Spark как унифицированного движка и управляемых облачных продуктов MPP, таких как Databricks, Snowflake и AWS Redshift Spectrum плюс Athena.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Перспективы на будущее и заключение&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Экосистема данных с открытым исходным кодом вступает в фазу зрелости в таких ключевых областях, как lakehouse, которая характеризуется консолидацией вокруг проверенных технологий и повышенным вниманием к операционной эффективности.&lt;/p&gt;
&lt;p&gt;Ландшафт продолжает развиваться в сторону облачных, компонуемых архитектур, стандартизируясь вокруг доминирующих технологий. Ключевые области, за которыми следует следить, включают:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Дальнейшая консолидация в области открытых табличных форматов&lt;/li&gt;
&lt;li&gt;Продолжающаяся эволюция архитектур без дисков в системах реального времени и транзакционных системах&lt;/li&gt;
&lt;li&gt;Стремление к предоставлению унифицированного опыта lakehouse&lt;/li&gt;
&lt;li&gt;Подъем LLMOps и AI Engineering&lt;/li&gt;
&lt;li&gt;Расширение экосистемы lakehouse в таких областях, как интеграция открытых каталогов и разработка нативных библиотек&lt;/li&gt;
&lt;li&gt;Растущая популярность одноузловой обработки данных и встроенной аналитики&lt;/li&gt;
&lt;/ul&gt;
</description>
</item>

<item>
<title>DolphinScheduler and SeaTunnel vs AirFlow and NiFi</title>
<guid isPermaLink="false">185</guid>
<link>https://gavrilov.info/all/dolphinscheduler-and-seatunnel-vs-airflow-and-nifi/</link>
<pubDate>Mon, 13 Jan 2025 23:42:39 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/dolphinscheduler-and-seatunnel-vs-airflow-and-nifi/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-111.png" width="900" height="383" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Оригинал: &lt;a href="https://apachedolphinscheduler.substack.com/p/dolphinscheduler-and-seatunnel-vs"&gt;https://apachedolphinscheduler.substack.com/p/dolphinscheduler-and-seatunnel-vs&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;В современную эпоху, где данные играют ключевую роль, предприятия сталкиваются с растущими потребностями в обработке данных и управлении рабочими процессами. На рынке появились различные инструменты для удовлетворения этих потребностей, среди которых DolphinScheduler и SeaTunnel часто упоминаются наряду с AirFlow и NiFi как решения. В этой статье мы подробно сравним эти два набора инструментов, анализируя их с точки зрения функциональности, производительности и удобства использования, чтобы помочь предприятиям выбрать наиболее подходящие инструменты для своих бизнес-сценариев.&lt;/p&gt;
&lt;p&gt;DolphinScheduler и SeaTunnel, как новые инструменты для планирования задач больших данных и синхронизации данных, привлекли внимание благодаря своей высокой производительности, простоте развертывания и активной поддержке сообщества. DolphinScheduler ориентирован на планирование задач больших данных, поддерживает несколько языков и платформ, а также интегрируется с компонентами больших данных, в то время как SeaTunnel выделяется благодаря поддержке множества источников данных и эффективному использованию ресурсов памяти.&lt;/p&gt;
&lt;p&gt;В отличие от них, AirFlow и NiFi известны своей зрелостью, стабильностью и широким спектром применения. AirFlow — это инструмент для планирования задач и управления рабочими процессами, ориентированный на инженеров данных, который ценится за мощные возможности планирования задач и управления зависимостями. NiFi, с другой стороны, сосредоточен на управлении и обработке потоков данных, известен своим визуальным интерфейсом и надежными возможностями обработки ошибок.&lt;/p&gt;
&lt;p&gt;В этой статье будет проведено детальное сравнение различий между этими двумя наборами инструментов с точки зрения архитектуры, функциональности и сценариев использования, а также их сильных и слабых сторон. Благодаря этим сравнениям мы стремимся предоставить предприятиям всесторонний взгляд, чтобы помочь им принимать более обоснованные решения при построении своих экосистем обработки и управления данными. Независимо от того, стремитесь ли вы к высокопроизводительному планированию задач больших данных или вам требуется гибкая обработка потоков данных, эта статья предоставит вам ценные рекомендации и руководства.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h4&gt;1. DolphinScheduler vs Apache Airflow&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Преимущества DolphinScheduler&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Распределенное планирование задач&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Поддержка распределенной архитектуры, способность обрабатывать крупномасштабное планирование задач.&lt;/li&gt;
  &lt;li&gt;Легкое масштабирование узлов задач, динамическое распределение ресурсов и балансировка нагрузки.&lt;/li&gt;
  &lt;li&gt;Высокая доступность, поддержка множества типов задач и сложных зависимостей между ними, что делает его идеальным для производственных сред уровня предприятия.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Графический дизайн рабочих процессов&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Интуитивно понятный интерфейс DAG для мониторинга задач в реальном времени и простого управления расписанием.&lt;/li&gt;
  &lt;li&gt;Поддержка планирования на основе данных, что полезно в сценариях, ориентированных на данные.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Мультитенантность и контроль доступа&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Тонкий контроль доступа и поддержка мультитенантности, подходящие для сложных организационных структур предприятий.&lt;/li&gt;
  &lt;li&gt;Обеспечение высокой безопасности благодаря механизмам изоляции пользователей, задач и ресурсов.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;b&gt;Интеграция с экосистемой больших данных&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Глубокая интеграция с экосистемами больших данных (например, Hadoop, Hive, Spark, Flink), поддержка множества типов задач (Shell, Python, SQL, MapReduce и т.д.).&lt;/li&gt;
  &lt;li&gt;Расширение возможностей интеграции данных через плагины.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="5"&gt;
&lt;li&gt;&lt;b&gt;Простота развертывания и масштабируемость&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Скрипты для быстрого развертывания и поддержка контейнеризации (например, Docker и Kubernetes), что упрощает обслуживание и масштабирование.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Недостатки DolphinScheduler&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Ограниченная поддержка больших AI-моделей&lt;/b&gt;: В настоящее время отсутствует надежная поддержка планирования задач для AI и больших моделей, экосистема для инструментов машинного обучения находится на ранней стадии развития.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Преимущества Apache Airflow&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Python-ориентированный дизайн&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Определение рабочих процессов полностью на Python, что позволяет разработчикам гибко писать сложную логику задач, подходит для команд с сильной технической подготовкой.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Богатая экосистема плагинов&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Большое количество плагинов, поддерживаемых сообществом (300+ официальных плагинов), что решает разнообразные задачи интеграции и обработки данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Поддержка глобального сообщества&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Активное сообщество пользователей по всему миру, обширная документация и учебные ресурсы.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Недостатки Apache Airflow&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Ограниченные возможности распределенного планирования&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Уступает DolphinScheduler в сценариях крупномасштабного планирования задач, часто возникают проблемы с производительностью.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Сложность конфигурации и управления&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Требует знания Python, что может привести к значительному объему кода при организации сложных рабочих процессов, менее дружелюбен для нетехнических пользователей.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h4&gt;2. SeaTunnel vs Apache NiFi&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Преимущества SeaTunnel&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Унифицированный дизайн для пакетной и потоковой обработки&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Поддержка как пакетной, так и потоковой обработки, унифицированная модель программирования для различных сценариев интеграции данных.&lt;/li&gt;
  &lt;li&gt;Высокая производительность и низкая задержка для задач потоковой обработки данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Легковесность и высокая производительность&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Оптимизированная реализация поддерживает высокую пропускную способность данных, превосходя NiFi по производительности.&lt;/li&gt;
  &lt;li&gt;Эффективное использование ресурсов для сложных задач синхронизации данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Поддержка множества коннекторов&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Встроенная поддержка 192+ источников данных, включая базы данных, платформы больших данных, файловые системы и очереди сообщений.&lt;/li&gt;
  &lt;li&gt;Готов к использованию без дополнительной разработки, что ускоряет интеграцию данных на предприятии.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;b&gt;Гибкость развертывания&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Поддержка локальных, кластерных и контейнеризованных сред, адаптация к различным сценариям и масштабам.&lt;/li&gt;
  &lt;li&gt;Инструменты для настройки без написания кода, снижающие технический порог входа.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="5"&gt;
&lt;li&gt;&lt;b&gt;Обеспечение качества данных&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Возможность преобразования, проверки и очистки данных во время синхронизации, что гарантирует надежность данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Недостатки SeaTunnel&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Конфигурация через файлы&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;В настоящее время задачи определяются через конфигурационные файлы, что может быть сложнее для пользователей, привыкших к интерфейсам drag-and-drop.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Ограниченная возможность кастомизации&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;По сравнению с архитектурой плагинов NiFi, разработка пользовательских плагинов в SeaTunnel более сложна.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Преимущества Apache NiFi&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Графический интерфейс&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Интерфейс drag-and-drop для определения и управления потоками данных, что делает его удобным для нетехнических пользователей.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Расширяемость и гибкость&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Архитектура NiFi позволяет легко расширять и настраивать функции для удовлетворения различных потребностей интеграции и обработки данных.&lt;/li&gt;
  &lt;li&gt;Поддержка плагинов для интеграции пользовательских процессоров, задач отчетности и других компонентов.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Динамическая настройка во время выполнения&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Возможность изменять конфигурации потоков данных во время выполнения без остановки задач, что упрощает отладку и оптимизацию.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Недостатки Apache NiFi&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Более низкая производительность&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Уступает SeaTunnel в сценариях с высокой нагрузкой и задачами с низкой задержкой.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Ограниченная поддержка пакетной обработки&lt;/b&gt;:
&lt;ul&gt;
  &lt;li&gt;Более подходит для потоковой обработки данных, с меньшей поддержкой крупномасштабных задач пакетной обработки.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h4&gt;3. Итог&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;Сильные стороны DolphinScheduler и SeaTunnel&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DolphinScheduler выделяется в распределенном планировании задач, поддержке задач больших данных и управлении на уровне предприятия, что делает его предпочтительным выбором для крупномасштабных сценариев.&lt;/li&gt;
&lt;li&gt;SeaTunnel выделяется благодаря унифицированному дизайну для пакетной и потоковой обработки, а также высокой производительности синхронизации данных, демонстрируя отличные результаты в задачах реального времени и сложной пакетной обработки.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Заключение&lt;/b&gt;: DolphinScheduler и SeaTunnel лучше подходят для сложных корпоративных сред и задач высокопроизводительной интеграции данных, обладая значительными техническими преимуществами в интеграции с экосистемами больших данных и распределенных возможностях. Их потенциал в поддержке больших моделей также станет ключевым направлением для будущего развития.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;h4&gt;О Apache SeaTunnel&lt;/h4&gt;
&lt;p&gt;Apache SeaTunnel — это простая в использовании, высокопроизводительная распределенная платформа для интеграции данных, поддерживающая синхронизацию огромных объемов данных в реальном времени и способная стабильно и эффективно синхронизировать сотни миллиардов данных в день.&lt;/p&gt;
&lt;p&gt;Присоединяйтесь к сообществу Apache SeaTunnel и способствуйте развитию открытого исходного кода!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://seatunnel.apache.org/"&gt;Официальный сайт&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/apache/seatunnel"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1kcxzyrxz-lKcF3BAyzHEmpcc4OSaCjQ"&gt;Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ASFSeaTunnel"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Присоединяйтесь к нам сейчас! ❤️❤️&lt;/p&gt;
</description>
</item>

<item>
<title>Alchemesh консоль: Основные концепции</title>
<guid isPermaLink="false">170</guid>
<link>https://gavrilov.info/all/alchemesh-konsol-osnovnye-koncepcii/</link>
<pubDate>Sat, 05 Oct 2024 22:10:17 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/alchemesh-konsol-osnovnye-koncepcii/</comments>
<description>
&lt;p&gt;Оригинал: &lt;a href="https://medium.com/alchemesh/alchemesh-console-the-core-concepts-160511dee3b0"&gt;https://medium.com/alchemesh/alchemesh-console-the-core-concepts-160511dee3b0&lt;/a&gt;&lt;br /&gt;
Или тут: &lt;a href="https://a.gavrilov.info/data/posts/Alchemesh%20console%20The%20core%20concepts%20|%20by%20Alexandre%20Guitton%20|%20Alchemesh%20|%20Medium.pdf"&gt;alchemesh console the core concepts&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-90.png" width="232" height="539" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Alchemesh core concepts&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Объявление о запуске нашего фреймворка для поддержки Data Mesh было сделано, и теперь мы можем начать наше новое приключение вместе!&lt;br /&gt;
Идея заключается в том, чтобы делиться с вами нашими размышлениями и техническими решениями по мере их разработки.&lt;/p&gt;
&lt;p&gt;Цель состоит в том, чтобы через эти статьи поделиться нашей интерпретацией Data Mesh, представить наш подход к разработке, получить обратную связь по нашим выборам и, самое главное, попытаться вместе подумать о вызовах, связанных с реализацией Data Mesh.&lt;br /&gt;
Консоль Alchemesh: Стандартизация интерфейсов для облегчения ассимиляции и понимания&lt;br /&gt;
Как мы уже говорили, одна из целей фреймворка, и особенно консоли, — это предоставить поддержку и структуру, чтобы помочь различным стейкхолдерам понять, взаимодействовать и принять Data Mesh.&lt;br /&gt;
Наше решение должно быть средством для передачи концепций Data Mesh! Это для нас серьезный вызов, особенно с таким широким подходом, как у Data Mesh.&lt;/p&gt;
&lt;p&gt;Множество концепций вступают в игру: data product, data domain, data contract, полисемия, адресация, достоверность, владение, автономия и т.д.&lt;br /&gt;
Возникает множество вопросов: какие взаимодействия между различными концепциями? Какой компонент должен нести какую информацию? И так далее.&lt;br /&gt;
В такой ситуации сложно гарантировать, что у всех есть общее минимальное понимание, и минимизировать риск чрезмерной интерпретации или несогласованности среди стейкхолдеров. Кроме того, важно определить четкие и хорошо определенные пространства, чтобы команды могли понять концепции и делать сильные предложения через запросы функций.&lt;br /&gt;
Для нас было естественным выбором решить эти вопросы через консоль, стандартизируя определение основных концепций Data Mesh и их взаимодействий, все это переведенное в интерфейс.&lt;br /&gt;
Alchemesh: Моделирование основных концепций&lt;br /&gt;
⚠️ Версия, которую мы представляем здесь, соответствует тому, что мы определили на этапе проектирования MVP; она, естественно, подлежит изменению по мере разработки и реализации новых функций. ⚠️&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-91.png" width="1400" height="674" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Консоль Alchemesh: Моделирование основных концепций&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Пользователи&lt;br /&gt;
Пользователи являются центральными игроками, которые будут взаимодействовать в сетке. В нашем фреймворке мы различаем несколько персонажей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Разработчик data product: Учитывая широкий спектр навыков — от универсальных разработчиков с общими навыками программирования до специализированных инженеров данных.&lt;/li&gt;
&lt;li&gt;Потребители data product: Охватывает множество ролей, у которых есть одно общее, они нуждаются в доступе и использовании данных для выполнения своей работы (например, дата-сайентисты, дата-аналитики, разработчики приложений).&lt;/li&gt;
&lt;li&gt;Владелец data product: Отвечает за доставку и продвижение успешных data product для своих конкретных доменов.&lt;/li&gt;
&lt;li&gt;Разработчик data platform: Отвечает за доставку сервисов платформы как продукта с лучшим пользовательским опытом.&lt;/li&gt;
&lt;li&gt;Владелец data platform: Создает и управляет data platform, а также использует ее. Разработчики data platform, которые работают над сервисами плоскости опыта data product.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-92.png" width="1400" height="993" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Alchemesh: Пользователи&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Data domains&lt;/p&gt;
&lt;p&gt;Владение данными домена является основой масштабирования в сложной системе, такой как современные предприятия. Стратегическое проектирование в DDD (Domain Driven Design) принимает моделирование на основе нескольких моделей, каждая из которых контекстуализирована для конкретного домена, называемого&lt;br /&gt;
bounded context.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bounded context — это “ограниченная применимость конкретной модели [которая] дает членам команды четкое и общее понимание того, что должно быть согласовано, а что может развиваться независимо”.&lt;br /&gt;
Мы поддерживаем 3 типа data domains:&lt;br /&gt;
Source aligned domain: Аналитические данные, отражающие бизнес-факты, генерируемые операционными системами, ответственными за предоставление правды своих бизнес-доменов как данных source-aligned domain.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Aggragated domain: Аналитические данные, являющиеся агрегатом нескольких upstream domains.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Consumer aligned domain: Аналитические данные, трансформированные для удовлетворения потребностей одного или нескольких конкретных use cases. Это также называется fit-for-purpose domain data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Помимо уточнения роли домена в отношении data product, которые он производит, это также позволит федеративному data governance определить вычислительные политики для надлежащего управления сеткой (например, установление правила, что data product из source-aligned domain, не опирающиеся на какую-либо систему источника, теряют ценность) или помочь в определении приоритетов реорганизации доменов.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-93.png" width="1218" height="869" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Вид data domain&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Технические команды&lt;br /&gt;
В зависимости от размера определенных data domains, организация может решить определить несколько кросс-функциональных команд для управления наборами data product. Чтобы удовлетворить эту потребность, мы решили ввести концепцию технической команды, объединяющей людей, вносящих вклад в один и тот же scope в рамках домена.&lt;br /&gt;
Мы различаем несколько видов команд:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data product team: Stream aligned team, отвечает за полноценную доставку сервисов (инжекция, потребление, обнаружение и т.д.), требуемых data product.&lt;/li&gt;
&lt;li&gt;Platform team: Ее цель — обеспечить возможность stream-aligned доставлять свою работу с существенной автономностью.&lt;/li&gt;
&lt;li&gt;Governance group: Enabling team, ее ключевая роль — облегчить принятие решений вокруг глобальных политик. Эти политики затем реализуются вычислительно и принимаются командами data product.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-94.png" width="1091" height="781" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Технические команды&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Система источника&lt;br /&gt;
В случае source-aligned data domains, операционный и аналитический миры объединены в одном домене, и это отражено в кросс-функциональных командах. Важно, чтобы консоль материализовала эту связь.&lt;br /&gt;
Намерение явно не в том, чтобы управлять операционными задачами в рамках платформы data mesh, но важно материализовать эту связь, чтобы преодолеть разрыв между двумя мирами, не ограничиваясь организационно.&lt;/p&gt;
&lt;p&gt;Data product&lt;br /&gt;
С владельцем домена (поддерживаемым технической командой), данные, ориентированные на домен, делятся как продукт напрямую с пользователями данных.&lt;br /&gt;
Data as a product вводит новую единицу логической архитектуры, называемую data quantum, контролирующую и инкапсулирующую все структурные компоненты, необходимые для обмена данными как продуктом.&lt;br /&gt;
Приняв продуктовый подход, мы будем сообщать о состоянии нашего предложения:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lifecycle state: На каком этапе жизненного цикла находится data product — находится ли он в разработке, в обнаружении, стабилен или находится в процессе вывода из эксплуатации.&lt;/li&gt;
&lt;li&gt;Maturity level: Продукт, считающийся стабильным, но с небольшим историческим использованием, не имеет такого же уровня зрелости, как стабильный data product, который использовался многими потребителями в течение нескольких лет.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Входные порты&lt;br /&gt;
В контексте source-aligned data product, данные будут нуждаться в потреблении из операционной системы, чтобы сделать их доступными как входные данные для внутреннего обработчика data product. Эта интеграция будет выполнена через входной порт (платформенный компонент, предназначенный для этой интеграции, предоставленный платформой или реализованный командами домена).&lt;br /&gt;
Чтобы дать конкретный пример, предположим, что операционные данные доступны в топике Kafka и должны быть доступны на проекте GCP. Входной порт может включать предоставление бакета GCS и NiFi dataflow, который потребляет данные из топика Kafka.&lt;br /&gt;
Семантическая модель&lt;br /&gt;
Описываем семантические модели, которые data product будет предлагать.&lt;br /&gt;
Определение модели, читаемое машинами и людьми, которое захватывает модель домена данных: как data product моделирует домен, какие типы сущностей включает данные, свойства сущностей и т.д.&lt;br /&gt;
Выходные порты&lt;br /&gt;
Эти модели будут представлены как активы через выходной порт. Проще говоря, выходной порт — это пара, состоящая из системы хранения (объектное хранилище, колоночная таблица, топик потоковой передачи и т.д.) и прокси, который позволяет получить доступ через различные протоколы и языки (SQL, REST API, GraphQL и т.д.).&lt;br /&gt;
Одно из наших позиций по этому вопросу заключается в том, что выходной порт не обязательно будет представлять все модели, управляемые data product.&lt;br /&gt;
Код&lt;br /&gt;
Это основная работа разработчика data product, который часто слишком отдален от данных, которые он производит в устаревших инструментах и архитектурах данных. Data mesh ставит код, который создает ценность data product, в центр, и это естественно то, что мы делаем. Эта логика позволяет начать с входных данных для генерации выходных активов.&lt;br /&gt;
В data product ответственность за правильное определение data product, потребление и представление данных через стандартные порты, а также поддержание связанных метаданных лежит на разработчиках data product.&lt;br /&gt;
В свою очередь, все, что происходит внутри (код), полностью оставлено на усмотрение команды: Dagster Blog job, Airflow DAG, Kestra DAG, простой Python job в Lambda… Выбор и ответственность лежат на владельце (это то, что мы называем автономией).&lt;/p&gt;
&lt;p&gt;Инфраструктура&lt;br /&gt;
Data product может зависеть от инфраструктуры, которая должна быть предоставлена для выполнения его обработки, такой как объектное хранилище, промежуточный набор данных и т.д., которые не связаны с тем, как выполняется код, данные потребляются или данные представляются. Этот интерфейс позволяет указать платформе, что data product нуждается в этом.&lt;br /&gt;
Метаданные&lt;/p&gt;
&lt;p&gt;Актив&lt;br /&gt;
Мы считаем активом инстанцирование модели data product через выходной порт.&lt;br /&gt;
После того как data product развернут и функционирует, код должен поддерживать определенную информацию о состоянии, чтобы информировать своих потребителей о его состоянии:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Общее состояние: операционное, в инциденте, выключено&lt;/li&gt;
&lt;li&gt;Состояние активов: их техническое качество данных (точность, полнота, своевременность, достоверность) и их свежесть.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-95.png" width="1337" height="950" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Data product&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Data contract&lt;br /&gt;
У нас есть data product в нашем data domain, принадлежащий технической команде, с данными, потребляемыми из операционной системы через входной порт и представляющими ценность data product, сгенерированную кодом, через выходные порты. Отлично!&lt;br /&gt;
Но прежде чем потреблять этот data product, я, как потребитель, хочу знать, на что я соглашаюсь, и как производитель, кто соглашается потреблять от меня! Вот где вступают в игру data contracts.&lt;br /&gt;
Выходной порт&lt;br /&gt;
Data contract применяется к выходному порту data product, а не ко всему data product. Есть несколько причин для этого:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ожидания различаются между потоком потоковой передачи и объектом, хранящимся в data lake (в терминах времени отклика, частоты обновления, точности и т.д.).&lt;/li&gt;
&lt;li&gt;Не все выходные порты несут одни и те же модели, поэтому обязательство к потреблению не одно и то же.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Тип доступа&lt;br /&gt;
В зависимости от природы data product, доступ к нему не будет разрешен одинаково. Мы поддерживаем три типа:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ограниченный доступ: Это означает, что владелец data product должен рассмотреть и одобрить любые запросы на доступ.&lt;/li&gt;
&lt;li&gt;Внутренний доступ: Это означает, что все запросы из одного и того же домена автоматически одобряются; в противном случае они требуют одобрения владельца.&lt;/li&gt;
&lt;li&gt;Публичный доступ: Это означает, что все запросы автоматически одобряются без рассмотрения или одобрения владельца.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Версионирование и жизненный цикл состояния&lt;br /&gt;
Контракты данных версионируются и имеют состояние жизненного цикла, чтобы информировать о их статусе и предоставлять предупреждения в случае устаревания или изменений.&lt;br /&gt;
Соглашения об уровне обслуживания (SLA)&lt;br /&gt;
Контракт данных — это обязательство по предоставлению услуги, а точнее, о том, как мы будем ее предоставлять. В настоящее время мы определяем следующие обязательства:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Время безотказной работы&lt;/li&gt;
&lt;li&gt;Частота обновлений&lt;/li&gt;
&lt;li&gt;Время отклика&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Условия&lt;br /&gt;
Это также обязательство по тому, как будет потребляться продукт данных с точки зрения:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Использования&lt;/li&gt;
&lt;li&gt;Выставления счетов&lt;/li&gt;
&lt;li&gt;Период уведомления для адаптации потребления&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Тест качества данных&lt;/p&gt;
&lt;p&gt;Как вы могли заметить в активах внутри продукта данных, мы различаем тесты качества данных, которые называем техническими, и те, которые называем бизнес-тестами. Первые имеют чисто техническое значение, независимо от ожиданий потребителей, и определяются техническими командами.&lt;/p&gt;
&lt;p&gt;Вторые, определенные в рамках контракта данных, направлены на то, чтобы иметь бизнес-значение, которое подтверждает ценность, которую мы вводим и обязуемся предоставлять потребителям (дублирование строк может иметь технический эффект на стоимость хранения и время вычислений, не обязательно влияя на ценность, которую мы доставляем).&lt;/p&gt;
&lt;p&gt;Состояние&lt;br /&gt;
Контракт данных отвечает за проверку своего собственного состояния, чтобы система могла сравнить его с обязательствами. Он поддерживает состояние:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SLA&lt;/li&gt;
&lt;li&gt;Использование&lt;/li&gt;
&lt;li&gt;Выставление счетов&lt;/li&gt;
&lt;li&gt;Результаты тестов качества данных&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-96.png" width="1338" height="942" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Контракт данных&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Запрос на доступ к контракту данных&lt;br /&gt;
Контракт данных готов; теперь пришло время запросить доступ, чтобы подписаться на него! Это роль запроса на доступ, который будет включать:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Кто хочет потреблять?: Продукт данных, Техническая команда, Одиночный пользователь или Домен данных&lt;/li&gt;
&lt;li&gt;В чем цель?&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-97.png" width="1334" height="933" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Запрос на доступ&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Компоненты платформы&lt;br /&gt;
Я не буду вдаваться в подробности этой части, не потому что она неинтересна, а потому что, по моему мнению, она заслуживает отдельной статьи.&lt;br /&gt;
Важно то, что мы хотим использовать эти ресурсы для предоставления интерфейсов между разработчиками продуктов данных и командами платформы (Data Product Experience Plane и Infrastructure Utils Plane) для поддержки предоставления платформы самообслуживания, обеспечивая автономию разработчиков, предлагая децентрализацию через компоненты платформы, реализованные и предоставленные платформой (наши знаменитые LEGO).&lt;/p&gt;
&lt;p&gt;Заключение&lt;br /&gt;
Вот и все — мы рассмотрели основные концепции, которые консоль будет поддерживать, чтобы позволить командам реализовать свою data mesh. Давайте не забудем одно: мы все еще на самом начальном этапе разработки, стремясь к MVP с базовыми концепциями, чтобы начать вводить data mesh! Многие концепции, необходимые для масштабирования data mesh и в долгосрочной перспективе, такие как полисемии, петли обратной связи, вычислительные политики и т.д., все еще отсутствуют. Мы доберемся до этого!&lt;br /&gt;
Концепции на месте; следующим шагом является северная звезда архитектуры Alchemesh!&lt;/p&gt;
</description>
</item>

<item>
<title>Alchemesh: Фреймворк Data Mesh — Происхождение</title>
<guid isPermaLink="false">169</guid>
<link>https://gavrilov.info/all/alchemesh-freymvork-data-mesh-proishozhdenie/</link>
<pubDate>Sat, 05 Oct 2024 21:29:56 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/alchemesh-freymvork-data-mesh-proishozhdenie/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-89.png" width="500" height="500" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Alchemesh&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-88.png" width="1400" height="1002" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Data product view&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Оригинал: &lt;a href="https://medium.com/alchemesh/alchemesh-data-mesh-framework-the-genesis-aaa9aba2f7bd"&gt;https://medium.com/alchemesh/alchemesh-data-mesh-framework-the-genesis-aaa9aba2f7bd&lt;/a&gt;&lt;br /&gt;
Или тут: &lt;a href="https://a.gavrilov.info/data/posts/Alchemesh%20Data%20mesh%20framework%20—%20The%20genesis%20|%20by%20Alexandre%20Guitton%20|%20Alchemesh%20|%20Medium.pdf"&gt;alchemesh data mesh framework the genesis&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Очень ждем эту любопытную балалайку 🔥 и надеемся, что ребята ее выложат в Open Source в скором времени и не сделают её сильно или неудобно платной.&lt;/p&gt;
&lt;p&gt;По мере того как данные становятся всё более важными в процессах принятия решений, многие компании пересматривают свою организацию, чтобы принять данные. В серии постов я обсуждал, как я перешёл от мышления о современном стеке данных к принципам Data Mesh, что в конечном итоге привело меня сюда, к началу нового пути: созданию фреймворка Data Mesh.&lt;/p&gt;
&lt;p&gt;Data Mesh — это децентрализованный социально-технический подход к совместному использованию, доступу и управлению аналитическими данными в сложных и крупномасштабных средах — внутри или между организациями, способствующий децентрализованному управлению данными при обеспечении надёжной системы управления и продуктового подхода.&lt;/p&gt;
&lt;p&gt;Однако реализация Data Mesh представляет собой множество вызовов и требует поддержки платформы.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Data Mesh: За пределами технологии&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Вопреки распространённому мнению, Data Mesh — это не просто о перестройке команд. Это не просто о формировании кросс-функциональных команд, работающих на централизованной и монолитной платформе. Data Mesh представляет собой глубокое преобразование взаимодействий между людьми, технической архитектурой и решениями в организации, основанное на 4 принципах:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Владение доменом&lt;/b&gt;: Децентрализация владения аналитическими данными к бизнес-доменам, ближайшим к источнику данных или основным потребителям, и независимое управление жизненным циклом данных на основе этих доменов. Этот подход согласовывает бизнес, технологии и данные, обеспечивая масштабируемость, гибкость, точность и устойчивость за счёт сокращения узких мест и обеспечения локализованного управления изменениями.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Данные как продукт&lt;/b&gt;: Доменно-ориентированные данные делятся как продукт напрямую с пользователями данных, придерживаясь таких характеристик, как обнаруживаемость, адресуемость, понятность, достоверность, нативный доступ, взаимодействие, композиционность, внутренняя ценность и безопасность. Каждый автономный продукт данных предоставляет явные, простые в использовании контракты на обмен данными и управляется независимо, вводя концепцию “кванта данных”, которая инкапсулирует все необходимые компоненты для обмена данными, направленную на предотвращение информационных завалов, развитие культуры, ориентированной на данные, и повышение устойчивости к изменениям.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Платформа самообслуживания данных&lt;/b&gt;: Обеспечение возможности кросс-функциональным командам делиться данными за счёт управления полным жизненным циклом продуктов данных и создания надёжной сети взаимосвязанных продуктов, упрощая обнаружение, доступ и использование данных. Она направлена на снижение стоимости децентрализованного владения данными, абстрагирование сложности управления данными, привлечение более широкого круга разработчиков и автоматизацию управления для обеспечения безопасности и соответствия.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;&lt;b&gt;Федеративное вычислительное управление&lt;/b&gt;: Федеративная модель управления с представителями доменов, членами платформы данных и экспертами для балансировки автономии доменов и глобальной совместимости, полагаясь на автоматическое обеспечение политики. Она направлена на извлечение ценности из совместимых продуктов данных, смягчение рисков децентрализации, интеграцию требований управления и сокращение ручного синхронизационного накладных расходов.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Поддержка перехода к Data Mesh&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Реализация Data Mesh — это сложный и развивающийся процесс. Компании должны не только инициировать этот переход, но и обеспечить его устойчивость. По мере появления новых технологий и созревания организаций в реализации Data Mesh, концепции и практики должны развиваться.&lt;/p&gt;
&lt;p&gt;Data Mesh далеко не статичное решение. Оно должно постоянно адаптироваться к новым размышлениям и технологическим достижениям. Компании, принимающие этот подход, должны быть готовы постоянно пересматривать и корректировать свои практики и инструменты.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Множество вызовов&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Когда вы начинаете углубляться в реализацию Data Mesh, вы начинаете понимать, что перед вами стоит множество вызовов, таких как:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Контракты данных&lt;/b&gt;: Они становятся важными для формализации зависимостей между командами и их продуктами. Контракты данных проясняют ожидания и обязанности, обеспечивая эффективную коммуникацию и сотрудничество.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Полисеми&lt;/b&gt;: Эти элементы позволяют различным продуктам данных общаться с использованием общих сущностей, облегчая взаимодействие и согласованность данных в организации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Продукты данных&lt;/b&gt;: В основе Data Mesh лежат продукты данных, которые должны быть надлежащим образом документированы, поддерживаемы и принадлежать командам. Это включает определение метаданных, стандартов качества и механизмов обновления и версионирования.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Вызовы автономии&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Хотя автономия команд важна, она неизбежно приводит к расхождениям в используемых технологиях и принятых лучших практиках. Некоторые могут быть склонны к рецентрализации решений через единую платформу / технический стек (например, проект DBT с экземпляром Airflow). Однако это может просто перенести проблему на уровень платформы. Важно принимать и поддерживать эту автономию, определяя чёткие интерфейсы для продуктов данных и предоставляя платформу, которая способствует этой динамике.&lt;/p&gt;
&lt;p&gt;Эта технологическая разнородность может рассматриваться как актив, если она хорошо управляется. Позволяя каждой команде выбирать инструменты, которые лучше всего соответствуют их конкретным потребностям, это поощряет инновации и адаптивность. Однако важно установить стандарты и лучшие практики, чтобы обеспечить согласованность и взаимодействие реализованных решений.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Наша видение: Фреймворк для Data Mesh&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Учитывая эти идеи и основываясь на моих предыдущих обсуждениях о переходе от современного стека данных к принципам Data Mesh, я решил разработать фреймворк для управления Data Mesh. Цель не в том, чтобы предложить универсальный продукт, а в том, чтобы предоставить гибкий и модульный инструмент. Фреймворк направлен на:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Стандартизация интерфейсов&lt;/b&gt;: Предоставление общей рабочей рамки для доменов данных, продуктов данных, выходных портов, контрактов данных и т.д., тем самым облегчая ассимиляцию и понимание.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Поддержка команд платформы&lt;/b&gt;: Помощь в создании платформ самообслуживания данных через стандартизацию компонентов, оставаясь при этом независимым от реализации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Предоставление модульных компонентов&lt;/b&gt;: Поставка “конструкторских” компонентов платформы, позволяющих пользователям выбирать, как они хотят переводить ресурсы Data Mesh на платформу.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Этот фреймворк разработан как модульный и адаптируемый, позволяя компаниям использовать его в соответствии с их конкретными потребностями. Будь то стандартизация процессов, поддержка команд или предложение модульных решений, фреймворк направлен на предоставление прочной основы для реализации и управления Data Mesh.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Alchemesh: Слои&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-87.png" width="422" height="616" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Фреймворк Alchemesh будет состоять из трёх слоёв:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Alchemesh Console&lt;/b&gt;: Отвечает за предоставление интерфейсов (UI, Rest API и т.д.) для управления метаданными Data Mesh:
&lt;ul&gt;
  &lt;li&gt;Позволяет пользователям перемещаться по Data Mesh,&lt;/li&gt;
  &lt;li&gt;Позволяет командам платформы переводить всё это в предоставление платформы.&lt;/li&gt;
  &lt;li&gt;Это будет порталом для действий с продуктом данных:
&lt;ul&gt;
    &lt;li&gt;Действует как реестр продуктов данных,&lt;/li&gt;
    &lt;li&gt;Интерфейс для разработчиков продуктов данных,&lt;/li&gt;
    &lt;li&gt;Интерфейс для команд платформы для активации платформы самообслуживания данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;b&gt;Alchemesh Controller&lt;/b&gt;: Это будет плоскость управления Data Mesh, которая будет управлять платформой Data Mesh. Она создаёт связь между метаданными Data Mesh, управляемыми консолью, и компонентами платформы в автоматизированном и самообслуживающемся режиме.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;&lt;b&gt;Alchemesh Platform Components&lt;/b&gt;: Набор “конструкторских” компонентов платформы для самообслуживания. Компоненты платформы разделены на несколько категорий:
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Infrastructure Platform Component&lt;/b&gt;: Определяет основу платформы для поддержки Data Mesh (например, проект/аккаунт облачного провайдера, VPC, реестры, кластер Kubernetes и т.д.).&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Output Port Platform Component&lt;/b&gt;: Создаёт компоненты хранения на инфраструктуре для предоставления данных, созданных продуктами данных, обеспечивая взаимодействие и управление доступом.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Input Port Platform Component&lt;/b&gt;: Создаёт компоненты для потребления данных из операционных систем и делает их доступными для инфраструктуры продуктов данных, позволяя связанному коду форматировать их и создавать ценность продукта данных.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Code Platform Component&lt;/b&gt;: Создаёт бизнес-логику на инфраструктуре, позволяя использовать входящие данные для получения желаемого результата.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;Открытый исходный код&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Пока не ясно, какую стратегию мы будем применять в этом проекте в отношении открытого исходного кода, потому что далеко не ясно, куда пойдёт этот проект, это всё ещё сторонний проект, который близок нашим сердцам. Но мы так много обязаны открытому исходному коду, который помог нам расти, и мы счастливы работать с таким количеством разных людей, как мы делали это в NiFiKop, что некоторые из наших работ будут открыты, безусловно!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Модульность&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Каждый из этих трёх слоёв может использоваться независимо и частично!&lt;/p&gt;
&lt;p&gt;С возможностью замены каждого из решений на пользовательские, в зависимости от того, как каждый будет использоваться:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Часть консоли может использоваться как слой метаданных для Data Mesh, затем потребляемый и контролируемый через интерфейсы (Rest, GraphQL, Events)
&lt;ul&gt;
  &lt;li&gt;командами платформы компании для интеграции с их системами автоматизации (CI/CD, контроллер GitOps, контроллер Kubernetes и т.д.)&lt;/li&gt;
  &lt;li&gt;для создания связи между метаданными сетки и платформой.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Контроллер должен иметь возможность управлять компонентами платформы, предлагаемыми Alchemesh, а также теми, которые производятся организацией, использующей решение.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Компоненты платформы не должны быть специализированы для удовлетворения требований Alchemesh или даже просто Data Mesh.
&lt;ul&gt;
  &lt;li&gt;Они могут использоваться вне этого фреймворка, как и любой другой модуль. Например, если у меня есть компонент инфраструктуры, который позволяет мне создать кластер GKE через Terraform, он должен быть пригодным для создания кластера GKE в традиционной среде предприятия Terraform без необходимости использования консоли или контроллера, и то же самое касается выходного порта для управления хранилищем и правами доступа на BigQuery.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Заключение&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Data Mesh представляет собой глубокое преобразование в управлении данными, требующее коллективного обязательства и децентрализованной организации. С этим фреймворком, который мы хотим построить, мы стремимся поддержать компании в этом переходе, предлагая стандартизированные инструменты и интерфейсы, поддерживая автономию команд. Мы хотим на нашем уровне участвовать в эмпатии и размышлениях о Data Mesh, чтобы попытаться продвинуть мышление, чтобы полностью воспользоваться преимуществами Data Mesh, успешно преодолевая вызовы его реализации.&lt;/p&gt;
&lt;p&gt;Мы все ещё находимся на ранней стадии разработки этого фреймворка на основе нашего понимания Data Mesh. Реализация продукта также даёт нам рамки для развития нашего размышления, начиная с основных концепций (например, доменов данных, продуктов данных, контрактов данных и т.д.) до обогащения их функциями, продвигаемыми Data Mesh для обеспечения его масштабирования (например, вычислительных политик, контуров обратной связи и т.д.). Эта серия статей позволит нам делиться нашими размышлениями и решениями, которые мы принимали параллельно с разработкой!&lt;/p&gt;
&lt;p&gt;В следующей статье мы сосредоточимся на архитектуре “северной звезды”, которую мы в настоящее время используем для разработки этого фреймворка, а затем представим вам моделирование ресурсов (продукты данных, технические команды и т.д.), которые у нас есть для нашего MVP!&lt;/p&gt;
&lt;p&gt;Чтобы немного заинтриговать наш продукт, вот несколько набросков консоли AlchmeshIo. 😇&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-83.png" width="1400" height="1010" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-84.png" width="1400" height="992" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-85.png" width="1400" height="1002" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-86.png" width="1400" height="993" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Data product’s output port view&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Технологический ландшафт пространств данных – Антти Поикола (Sitra), П. Дж. Ласзковвич, Вилле Таканаен и Теему Тойвонен (Futurice)</title>
<guid isPermaLink="false">168</guid>
<link>https://gavrilov.info/all/tehnologicheskiy-landshaft-prostranstv-dannyh-antti-poikola-sitr/</link>
<pubDate>Sat, 05 Oct 2024 20:56:17 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/tehnologicheskiy-landshaft-prostranstv-dannyh-antti-poikola-sitr/</comments>
<description>
&lt;p&gt;Оригинал: &lt;a href="https://www.sitra.fi/en/publications/technology-landscape-of-data-spaces/#foreword"&gt;https://www.sitra.fi/en/publications/technology-landscape-of-data-spaces/#foreword&lt;/a&gt;&lt;br /&gt;
Или тут: &lt;a href="http://a.gavrilov.info/data/posts/sitra-technology-landscape-of-data-spaces.pdf"&gt;sitra technology landscape of data spaces&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Предисловие&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Резюме&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;1. Пространства данных как развивающаяся технологическая область&lt;/b&gt;&lt;br /&gt;
1.1. Основные концепции для понимания пространств данных&lt;br /&gt;
1.2. Изучение развивающегося технологического ландшафта&lt;br /&gt;
&lt;b&gt;2. Снимок технологий пространств данных&lt;/b&gt;&lt;br /&gt;
2.1 Существующие инструменты и решения (не специфичные для пространств данных)&lt;br /&gt;
2.2 Инициативы по технологиям пространств данных&lt;br /&gt;
2.3 Коммерческие предложения, ориентированные на пространства данных&lt;br /&gt;
2.4 Опыт пользователя и доверие&lt;br /&gt;
&lt;b&gt;3. Рекомендации для создателей пространств данных&lt;/b&gt;&lt;br /&gt;
3.1 Рекомендация: Поддержка участников с несколькими ролями в пространствах данных&lt;br /&gt;
3.2 Рекомендация: Тестирование бизнес-кейсов на основе существующих зрелых решений&lt;br /&gt;
3.3 Рекомендация: Мониторинг рынка и предоставление обратной связи&lt;br /&gt;
3.4 Рекомендация: Обратите внимание на опыт пользователя&lt;br /&gt;
&lt;b&gt;Глоссарий&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Литература&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Приложение 1. Организации, изображенные на диаграмме ландшафта&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Приложение 2. Оценка ключевых инициатив по технологиям пространств данных&lt;/b&gt;&lt;/p&gt;
&lt;h4&gt;Предисловие&lt;/h4&gt;
&lt;p&gt;Европа имеет амбициозный план для своей цифровой экономики данных. Цель состоит в создании единого европейского рынка данных, где данные будут свободно перемещаться через границы компаний и стран, так же, как люди и товары сегодня. В своей стратегии данных Европейская комиссия оценивает, что стоимость европейской экономики данных вырастет до 829 миллиардов евро к 2025 году. Это была оценка до того, как пандемия ускорила цифровизацию нашей жизни.&lt;/p&gt;
&lt;p&gt;В Sitra мы считаем, что текущая модель платформенной экономики несправедлива. Преимущества и ценность экономики данных накапливаются лишь несколькими крупными компаниями. Люди и компании, использующие цифровые сервисы, не контролируют данные, которые они загружают, или те, которые цифровые сервисы собирают из их действий и поведения. Рынок не готов приветствовать новых игроков или инновации. Sitra работает над созданием справедливой экономики данных, где отдельные лица, компании и владельцы прав на данные имеют больше контроля. Цель состоит в создании равных возможностей и предложений, которые приносят пользу всем. Задача — предоставить лучшие цифровые сервисы, которые упрощают повседневную жизнь, не жертвуя приватностью.&lt;/p&gt;
&lt;p&gt;Европейская стратегия данных предполагает, что наша экономика данных скоро получит импульс от обмена данными между всеми заинтересованными компаниями и организациями с использованием нового подхода к обмену данными, называемого “пространства данных”. Что такое пространства данных и какие бизнес- и проблемы обмена данными они решают? Как будет работать управление потоками данных в этих новых средах? Если вы хотите построить пространство данных, как вы к этому приступите? Это лишь некоторые из вопросов, которые мы хотим понять в Sitra. Как финский инновационный фонд, наша цель — обеспечить конкурентоспособность финских компаний в европейской экономике данных. Мы с радостью делимся нашим опытом с остальной Европой и за ее пределами.&lt;/p&gt;
&lt;p&gt;В этом исследовании мы углубляемся в технические аспекты построения пространств данных. Мы попросили нашего технологического партнера оценить текущие варианты построения цифровой инфраструктуры, необходимой для пространства данных. Результаты были вдохновляющими.&lt;/p&gt;
&lt;p&gt;Технологии, специфичные для пространств данных, созревают на уровне общих спецификаций, компонентов с открытым исходным кодом и коммерческих предложений. Однако ключевым выводом является то, что нет необходимости ждать, пока эти технологии созреют. Для тех, кто хочет стать первопроходцами в пространствах данных, существующие корпоративные решения предлагают путь к безопасному и федеративному обмену данными в соответствии с принципами пространств данных. Однако, взаимодействие между различными технологическими решениями — важное требование для европейских пространств данных — остается проблемой, которую предстоит решить.&lt;/p&gt;
&lt;p&gt;Первые технологические строительные блоки уже на месте, самые быстро движущиеся экосистемы находятся в движении, и первые реализации следующей главы европейской экономики данных происходят. Для ранних последователей, сейчас самое время делиться данными и строить пространства данных.&lt;/p&gt;
&lt;p&gt;Ансси Комулайнен&lt;br /&gt;
Директор проекта, Gaia-X Финляндия, Sitra&lt;/p&gt;
&lt;h4&gt;Резюме&lt;/h4&gt;
&lt;p&gt;Объем цифровой информации, или данных, постоянно растет, и управление ими станет все более важным для организаций. Самые большие новые возможности в экономике данных связаны с сотрудничеством между компаниями и организациями. Ни одна компания не может удовлетворить все потребности своих клиентов, но в гибких бизнес-экосистемах компании могут работать вместе, чтобы создавать бесшовные сервисы для конечных пользователей.&lt;/p&gt;
&lt;p&gt;Обмен и объединение данных между организациями является предварительным условием для таких бесшовных сервисов. Надежная передача данных между различными организациями требует так называемой “мягкой инфраструктуры”, то есть новых типов технических, административных и бизнес-решений. Пространство данных — это мягкая инфраструктура, которая обеспечивает надежный и легкий обмен данными через границы организаций.&lt;/p&gt;
&lt;p&gt;Технологии и архитектуры реализации пространств данных разрабатываются в Европе с быстрой скоростью. Эта рабочая статья предоставляет обзор развивающегося технологического поля и рекомендации для поддержки строителей пространств данных. В то время как эта рабочая статья помогает делать выбор технологии, “Правила справедливой экономики данных”, опубликованные Sitra, являются инструментом для создания управленческой модели для пространств данных.&lt;/p&gt;
&lt;p&gt;Хотя отдельные стандарты и технологии, связанные с пространствами данных, развиваются быстро, общая структура ландшафта немного более статична. Существует три основных направления, на которые строители пространств данных могут обратить внимание при выборе технологии: 1. существующие инструменты и решения (не специфичные для пространств данных), 2. инициативы по технологиям пространств данных, и 3. коммерческие предложения, ориентированные на пространства данных. Эта рабочая статья предоставляет отправной пункт, с которого разработчики пространств данных могут узнать больше о технологических предложениях в этой области.&lt;/p&gt;
&lt;p&gt;Практические бизнес-кейсы межотраслевого обмена данными часто могут быть решены с использованием существующих инструментов и технологий. Это открывает возможность постепенно принимать концепцию пространств данных, используя существующий технологический опыт и инструменты, прежде чем переходить к специфичным для пространств данных решениям.&lt;/p&gt;
&lt;p&gt;Эксперты, с которыми мы беседовали, также подчеркивают роль дизайна и пользовательского опыта в построении доверия к пространствам данных. Воспринимаемое доверие к пространствам данных является ключевым, особенно для владельцев прав на данные, чтобы вовлечься и решиться делиться данными с другими участниками. Доверие является высоким приоритетом для технологий пространств данных, но даже лучшая технология сама по себе недостаточна для достижения доверия, если пользовательский опыт не находится на таком же уровне. Помимо технологии, также необходимы юридический дизайн и дизайн сервиса для того, чтобы разработчики пространств данных завоевали доверие пользователей в обмене данными.&lt;/p&gt;
&lt;h4&gt;1. Пространства данных как развивающаяся технологическая область&lt;/h4&gt;
&lt;p&gt;Бесшовный поток данных между организациями позволяет создавать лучшие продукты и сервисы и создает огромный потенциал для повышения производительности труда. Множество стейкхолдеров, сотрудничающих и обменивающихся данными, часто называются “экосистемой данных”. Основными стартовыми точками для развития таких экосистем данных являются общие правила и видение для межотраслевого использования данных и первые конкретные кейсы использования. Надежный обмен данными между сторонами требует мягкой инфраструктуры, такой как общие стандарты и практики, архитектуры и управленческий фреймворк. Пространства данных — это такая мягкая инфраструктура.&lt;/p&gt;
&lt;p&gt;Пространства данных поддерживают текущую трансформацию бизнеса, в которой многие организации начинают видеть данные больше как продукт и производить их с учетом повторного использования. Данные-продукты набирают популярность в архитектуре данных организаций. Пространства данных предлагают следующий шаг, где данные-продукты могут быть распространены и использованы в межотраслевых экосистемах данных.&lt;/p&gt;
&lt;p&gt;Этот раздел предоставляет небольшой набор ключевых концепций, чтобы помочь читателям понять взаимосвязь между пространством данных как инфраструктурой, кейсами использования, создающими ценность, данными-продуктами, развернутыми в кейсах использования, и технологией, которая обеспечивает практическую реализацию пространств данных.&lt;/p&gt;
&lt;h5&gt;1.1. Основные концепции для понимания пространств данных&lt;/h5&gt;
&lt;p&gt;Концепция пространства данных развивается, и термин имеет немного разные определения в разных контекстах (см. Литература). Хотя существуют разные определения пространств данных, все они имеют одну основную цель — облегчить доверенный обмен данными справедливо и прозрачно для сторон, участвующих в обмене данными. В пространствах данных отдельные лица и организации, как владельцы прав на данные, находятся за рулем, решая, кто может использовать их данные и на каких условиях. Для сравнения, в более централизованных и традиционных платформах данных власть принятия решений находится в руках немногих. Преимущества также часто накапливаются больше для владельца платформы.&lt;/p&gt;
&lt;p&gt;Эта рабочая статья использует термины и определения из глоссария Центра поддержки пространств данных (DSSC). Sitra является партнером DSSC, проекта, финансируемого Европейским союзом.&lt;/p&gt;
&lt;p&gt;Глоссарий DSSC определяет пространства данных следующим образом:&lt;/p&gt;
&lt;p&gt;“Распределенная система, определяемая управленческим фреймворком, которая обеспечивает безопасные и доверенные транзакции данных между участниками, поддерживая доверие и суверенитет данных. Пространство данных реализуется одной или несколькими инфраструктурами и обеспечивает один или несколько кейсов использования.”&lt;/p&gt;
&lt;p&gt;Кейс использования пространства данных — это потенциальный сценарий использования, создающий ценность для данных, предоставляемых через пространство данных. Кейсы использования создают спрос на инфраструктуру пространства данных, которая поддерживает эффективную реализацию этих кейсов использования. Пространство данных — это общая инфраструктура для одного или нескольких кейсов использования. Они могут ускорить разработку кейсов использования в данной области (например, логистика, туризм, навыки), потому что кейсы использования часто требуют одних и тех же источников данных. Если данные, необходимые для одного кейса использования, продуцируются (вместо того, чтобы быть адаптированными к одному кейсу использования), данные-продукты могут быть использованы непосредственно в последующих кейсах использования. Готовые данные-продукты также облегчают идентификацию новых кейсов использования и разработку инноваций.&lt;/p&gt;
&lt;p&gt;Пространства данных могут облегчить доверенный обмен данными, требуемый кейсами использования, потому что все члены пространства данных привержены общим правилам, закодированным в управленческом фреймворке пространства данных. Члены, связанные с кейсом использования, могут выполнять роль владельцев прав на данные, поставщиков данных, получателей данных или пользователей данных. Те же акторы обычно участвуют в пространствах данных в нескольких ролях. Также, имея роль в одном пространстве данных, могут создаваться возможности для другой согласованной роли в другом пространстве данных. Например, одна компания, с которой мы беседовали, определила бизнес-возможность работать в пространстве данных энергии, потому что она уже была поставщиком данных в другом пространстве данных для типов данных, необходимых пользователям данных в пространстве данных энергии.&lt;/p&gt;
&lt;p&gt;Некоторые члены пространства данных (такие как посредники данных, поставщики идентификации) предоставляют услуги, которые обеспечивают транзакции данных для других, не участвуя непосредственно в этих транзакциях. Орган управления — это сторона, которая разрабатывает, поддерживает и обеспечивает соблюдение управленческого фреймворка пространства данных.&lt;/p&gt;
&lt;p&gt;Инициатива по созданию пространства данных представляет собой совместные усилия ответственных партнеров по реализации и поддержанию пространства данных. Инициатива по созданию пространства данных предоставляет общие части инфраструктуры, которые используются всеми участниками. К общим компонентам могут относиться, например, расчетная палата, брокер идентификации, каталог данных и тому подобное. Пространства данных распределены в том смысле, что все члены пространства данных автономны и индивидуально реализуют или приобретают технологии, необходимые для их работы в пространстве данных. Однако требования к технологиям и стандартам, которым должны следовать члены пространства данных, определяются как часть управления пространством данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;КЕЙС&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Maritime Data Space Finland&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Пробки в портах и выбросы от морского транспорта представляют собой проблему для мировой судоходной отрасли. Движения грузовых судов генерируют постоянный поток данных, который можно использовать для решения многих логистических проблем. Суда часто мчатся с полной скоростью, чтобы подойти к берегу, чтобы ждать подтверждения портом постановки на якорь. Необходимые выбросы и затраты на топливо, возникающие из-за движения с полной скоростью в море и времени ожидания у портов, можно было бы сократить, если бы грузовые суда имели системы для обмена данными о движении с другими операторами, такими как порты, судоходные компании и другие суда.&lt;/p&gt;
&lt;p&gt;Морское пространство данных в Финляндии — это инициатива по созданию пространства данных, финансируемая совместно Sitra, где члены пространства данных ищут способы сокращения пробок в морском транспорте с помощью данных. Координатором и органом управления для морского пространства данных является Fintraffic, финское государственное предприятие, предоставляющее услуги по управлению и контролю за движением для всех видов транспорта.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1.2. Изучение развивающегося технологического ландшафта&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Пространства данных — это развивающаяся область, где технологии и архитектуры реализации развиваются быстро. Высокая скорость изменений в этой области затрудняет прогнозирование или рекомендации — поскольку часто справедливо утверждение, что «победитель получает все» в борьбе между технологиями и стандартами. Бизнес-кейсы все еще развиваются, и реализации технологий будут различаться в течение некоторого времени. С технологической точки зрения распределенный характер пространств данных поддерживает индивидуальную и быструю инновацию, а также консенсус рынка в отношении практик и протоколов.&lt;/p&gt;
&lt;p&gt;Мы использовали двухэтапную стратегию, чтобы получить понимание и оценить зрелость доступных и используемых технологий в этой быстро развивающейся области. Во-первых, мы провели десктопное исследование на основе общедоступного материала и разработали первоначальное представление о технологическом ландшафте пространств данных. Затем мы интервьюировали экспертов из передовых организаций, чтобы собрать их реальный опыт в создании пространств данных и проверить первоначальные идеи из десктопного исследования. В ходе десктопного исследования мы выявили множество технологических проектов, поддерживающих организаций и коммерческих поставщиков, связанных с областью технологий пространств данных. На основе интервью мы выбрали некоторые из них для более детального анализа. Интервью с экспертами также помогли нам разработать рекомендации для организаций, желающих присоединиться к первопроходцам в предоставлении услуг или решений для пространств данных.&lt;/p&gt;
&lt;p&gt;Мы интервьюировали экспертов из трех организаций, участвующих в разработке пространств данных: Mtech Digital Solutions Oy, которая является поставщиком решений для финской продовольственной цепочки поставок, Agdatahub, французского сельскохозяйственного пространства данных, и Fit Our Future, голландской консалтинговой компании по устойчивости энергетики. Мы также интервьюировали три компании, имеющие коммерческие предложения, ориентированные на пространства данных: Dataspace Europe, Nexyo Io и Sovity. Проекты по созданию пространств данных, финансируемые ЕС, не были включены в интервью.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2. Снимок технологий пространств данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Для создателей пространств данных сложно отслеживать все потенциально полезные технологии. Каждое пространство данных имеет разные технологические требования в зависимости от бизнес-кейса, выбранного управления и применимых нормативных требований. Лучшие практики выбора технологий также подвержены изменениям по мере созревания области. Этот раздел представляет собой снимок быстро меняющегося технологического ландшафта в качестве отправной точки и начальной ссылки для создателей пространств данных.&lt;/p&gt;
&lt;p&gt;Хотя отдельные стандарты и технологии, связанные с пространствами данных, развиваются быстро, общая структура ландшафта более статична.&lt;/p&gt;
&lt;p&gt;На изображении ландшафта ниже показаны три основных направления, которые могут рассмотреть люди, принимающие решения о технологиях для инициатив по созданию пространств данных:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Существующие инструменты и решения (не специфичные для пространств данных),&lt;/li&gt;
&lt;li&gt;Инициативы по технологиям пространств данных,&lt;/li&gt;
&lt;li&gt;Коммерческие предложения, ориентированные на пространства данных.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Мы следуем этим трем направлениям, чтобы дать разработчикам пространств данных представление о том, какие технологии следует отслеживать — или принимать для бизнес-кейса. Это исследование не охватывает подробно компоненты архитектуры данных предприятия общего назначения. Организации, изображенные на диаграмме ландшафта, перечислены в Приложении 1.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Рисунок 1. Технологический ландшафт пространств данных состоит из трех направлений.&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/image-82.png" width="1400" height="1262" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;2.1 Существующие инструменты и решения (не специфичные для пространств данных)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Итерационное тестирование бизнес-кейсов в области развивающихся технологий, таких как пространства данных, проще, чем поиск рабочего бизнес-кейса от начала до конца. Большинство инноваций в пространствах данных связаны с юридическими, сервисными и бизнес-дизайном. Эти инновации часто, если не всегда, можно протестировать с использованием стандартных и существующих технологий, таких как управление идентификацией и доступом клиентов (CIAM), CRM, хранилище данных, управление API, каталоги данных и сервисов и т.д.&lt;/p&gt;
&lt;p&gt;Создатели пространств данных должны быть прагматичны в отношении стандартов и стараться использовать существующие решения вне области пространств данных для тестирования вариантов использования перед началом разработки. Как и в случае с стартап-компанией: изучайте бизнес-кейсы, параллельно развивая технологию с высокой скоростью.&lt;/p&gt;
&lt;p&gt;Развитие пространств данных и межотраслевого обмена данными должно быть связано с внутренними решениями по архитектуре данных организации. В этом контексте, data mesh представляет собой многообещающий современный подход к созданию распределенной архитектуры данных для предприятий, имеющий много общего с мышлением о пространствах данных. Data mesh можно рассматривать как миниатюрный пример того, как пространство данных может работать внутри организации. Основное предложение ценности data mesh заключается в сокращении затрат на инжиниринг и аналитику данных внутри организации.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Data products, data space и data mesh&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Data meshes набирают популярность в архитектуре данных предприятий. Data meshes и data spaces имеют много общего – data meshes фокусируются на управлении данными внутри организаций, а data spaces – на управлении данными через границы организаций. Одно из фундаментальных принципов data meshes – восприятие данных как продукта.&lt;/p&gt;
&lt;p&gt;Восприятие данных как продукта – это изменение парадигмы в организациях, идея начать генерировать данные с учетом их повторного использования. Это решает основную причину многих проблем, связанных с традиционными подходами, где бизнес-процессы генерируют данные без их проектирования для совместного использования. Продуктизированные данные могут быть легко потреблены, даже пользователями, которые изначально не были связаны с источником данных.&lt;/p&gt;
&lt;p&gt;Пространства данных – это распределенный и основанный на стандартах подход к обеспечению обмена и использования данных между организациями, преодолевая некоторые проблемы, возникающие в централизованных платформах данных.&lt;/p&gt;
&lt;p&gt;Data mesh – это современный подход к созданию распределенной архитектуры данных для предприятий. Он имеет четыре принципа: владение доменом, данные как продукт, самообслуживающаяся платформа данных и федеративное (и вычислительное) управление. Zhamak Dehghani ввела термин data mesh в 2019 году. Она заимствовала идеи из предметно-ориентированного проектирования и строится на программных парадигмах, которые поощряют гибкие, функциональные команды с автономией и ответственностью. Data mesh – это пример внутрикомпании, как экосистема пространства данных может работать.&lt;/p&gt;
&lt;p&gt;Data mesh и data space могут слиться, чтобы создать более целостную парадигму управления данными, которая строится на основе data products и охватывает внутренний и внешний обмен и использование данных. Возможности управления данными, авторизации и подключения пространств данных дополняют возможности data mesh. Идея о мышлении о рынке данных, который охватывает внутреннее использование, переходя через границы организаций, может стать значительным драйвером для обмена данными и принятия пространств данных.&lt;/p&gt;
&lt;p&gt;Также возможно сравнить пространства данных и meshes для прогнозирования развития рынка в этих областях. Хотя data mesh новый и его практическая реализация все еще растет, в отрасли много ажиотажа вокруг него. Многие ИТ-фирмы поддерживают его, продвигая свои возможности data mesh, а консалтинговые компании продвигают, как они могут помочь компаниям в их путешествии по трансформации data mesh. В пространствах данных коммерческое предложение только начинает появляться. Внутренний обмен данными в бизнесе стимулирует спрос на решения data mesh. По мере того как компании созревают в своих внутренних возможностях работы с данными, следующим шагом будет фокусировка на обмене данными между организациями. Это создаст спрос на пространства данных в сочетании с data meshes.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2.2 Инициативы по технологиям пространств данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Создатели пространств данных могут реализовать первые бизнес-кейсы с использованием существующих зрелых технологий вне области пространств данных. В то же время, создатели пространств данных должны внимательно следить за технологиями, специфичными для пространств данных, которые созревают и могут использоваться вместе с более общими инструментами. По словам экспертов, для долгосрочного успеха всей области пространств данных важно, чтобы ранние создатели пространств данных тесно сотрудничали и постоянно предоставляли обратную связь проектам, стремящимся к стандартизации.&lt;/p&gt;
&lt;p&gt;Несколько игроков в области технологий пространств данных работают над стандартами, специфичными для пространств данных, и общими технологическими фреймворками. Когда начинаешь изучать пространства данных, эти имена быстро всплывают: International Data Spaces Association (IDSA), Gaia-X, iSHARE, Eclipse Cross Federation Services Components (XFSC), Gaia-X Web3 Ecosystem (Pontus-X), Eclipse Dataspace Components (EDC) и FIWARE. Знание этих инициатив по технологиям пространств данных дает хорошую основу для оценки других. Чтобы дать создателям пространств данных отправной точку для их исследований, мы сделали первоначальные усилия по оценке зрелости, принятия и потенциала некоторых ключевых инициатив по технологиям пространств данных (Приложение 2).&lt;/p&gt;
&lt;p&gt;Эти инициативы не являются напрямую сопоставимыми альтернативами друг другу. Они вносят вклад в технологический ландшафт пространств данных на разных уровнях, от архитектур ссылок до фреймворков доверия и компонентов с открытым исходным кодом. IDSA определяет архитектуру ссылок (IDS Reference Architecture Model), части которой реализованы EDC, FIWARE и другими поставщиками соединителей IDS (отчет IDSA о соединителях). Gaia-X также определяет архитектуру ссылок (Gaia-X Architecture model), с которой согласованы GXFS-DE, Pontus-X, а в некоторой степени EDC и iSHARE. Вместе они образуют сеть переплетенных и совместно развивающихся инициатив, которые продвигают технологии пространств данных.&lt;/p&gt;
&lt;p&gt;Техническая конвергенция относится к интеграции ранее отдельных технологий, функциональностей или стандартов, что приводит к созданию целостного фреймворка. Техническая конвергенция происходит в рамках инициатив по технологиям пространств данных. Коллективный форум, Data Spaces Business Alliance (DSBA), работает над общим технологическим фреймворком ссылок на основе технической конвергенции существующих архитектур и моделей от Gaia-X, IDSA и FIWARE. Это сотрудничество направлено на достижение взаимодействия и переносимости решений между пространствами данных путем гармонизации технологических компонентов и других элементов. В более широком контексте, проект, финансируемый ЕС, Data Spaces Support Centre (DSSC), также внесет свой вклад в техническую конвергенцию, анализируя и рекомендуя существующие технологии и предоставляя руководство создателям пространств данных через общую схему.&lt;/p&gt;
&lt;p&gt;Ключевым выводом из интервью является положительная корреляция между опытом разработчика и принятием фреймворка или технологии. Инструмент или технология с хорошим веб-сайтом разработчика, релевантными компонентами с открытым исходным кодом и активными каналами обратной связи будут иметь больше шансов на успех на рынке, чем решения, которые не обладают ни одним из этих аспектов. С точки зрения опыта разработчика, некоторые инициативы по технологиям пространств данных продвинулись дальше, чем другие, но ни одна из них еще не выделяется. Например, документация может быть технически доступна, но удобство использования не на уровне, который мог бы стимулировать принятие разработчиками. Документация должна быть более доступной для разработчиков и сопровождаться конкретными примерами использования сервисов и концепций. Одним из заметных способов поддержки принятия является сеть национальных хабов, которые имеют Gaia-X, IDSA и FIWARE.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2.3 Коммерческие предложения, ориентированные на пространства данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Важной частью технологического ландшафта является доступное рыночное предложение коммерческих инструментов и услуг для пространств данных. Развитие рынка коммерческих технологических услуг и решений указывает на уровень зрелости области пространств данных.&lt;/p&gt;
&lt;p&gt;Упомянутые ранее архитектуры ссылок (IDS и Gaia-X) продолжают развиваться, создавая трудности для разработчиков. Реализации могут быть лучше согласованы с более старыми версиями архитектур ссылок. С другой стороны, реализации также продвигают архитектуры вперед. Создатели пространств данных должны иметь надлежащее планирование версий. Коммерческие предложения, ориентированные на пространства данных, могут оказать ценную поддержку в работе с развивающимися версиями архитектур и программного обеспечения.&lt;/p&gt;
&lt;p&gt;В настоящее время небольшое, но стабильно растущее количество компаний фокусируется в основном на пространствах данных или запускает продукты и услуги, специфичные для пространств данных, как часть более широкого портфолио. Несколько игроков предлагают форму решения “пространство данных как услуга”, которая позволяет настроить полноценное пространство данных с меньшими техническими препятствиями. В рамках этого исследования мы связались со следующими коммерческими поставщиками пространств данных: Advaneo, Dataspace Europe, deltaDAO, IONOS, nexyo, OKP4, sovity и TrustRelay (Приложение 1).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2.4 Опыт пользователя и доверие&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В ходе интервью мы выявили важную проблему для развития технологий пространств данных, которая не является непосредственной частью технологического ландшафта: как создать достаточно хороший опыт пользователя, чтобы он передавал надежность пространства данных.&lt;/p&gt;
&lt;p&gt;Доверие к цифровым сервисам относится к уверенности и доверию, которые пользователи возлагают на надежность, безопасность, конфиденциальность и этические практики технологий. Оно включает в себя убеждение, что поставщики цифровых сервисов будут действовать в интересах пользователей, защищать их данные и конфиденциальность и выполнять свои обещания. Однако доверие и надежность не всегда идут рука об руку, когда речь заходит о цифровых сервисах. В то время как доверие — это убеждение, что поставщик услуг будет действовать в интересах пользователя, надежность — это продемонстрированная способность поставщика постоянно выполнять эти ожидания. В некоторых случаях пользователи могут изначально доверять цифровому сервису на основе бренда и хорошего пользовательского опыта, только чтобы обнаружить, что поставщик не выполняет свои обещания. Этот разрыв между доверием и надежностью может подорвать уверенность пользователей и привести к скептицизму в отношении цифровых сервисов в целом.&lt;/p&gt;
&lt;p&gt;Многие инициативы по пространствам данных сталкиваются с общей проблемой: привлечение владельцев прав на данные и завоевание их доверия. Обычно бизнес-кейс и мотивация для обмена данными между организациями исходят от тех, кто будет использовать данные. Жизнеспособность этих бизнес-кейсов зависит от готовности владельцев прав на данные делиться данными. Чтобы выпустить свои данные, владельцы прав должны быть уверены, что они не будут злоупотреблены или эксплуатированы. Поскольку многие компании пытались злоупотреблять и монетизировать данные, собранные от толпы или скрещенные без явного согласия, полезность и безопасность пространств данных может быть трудно передать потенциальным владельцам прав на данные.&lt;/p&gt;
&lt;p&gt;Это создает двойную проблему для пользователей:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Потенциальные владельцы прав на данные и поставщики данных хотят избежать обмена или выпуска своих данных из-за страха эксплуатации.&lt;/li&gt;
&lt;li&gt;Существующие крупномасштабные пользователи данных решили первую проблему без пространств данных, предлагая отличную адаптацию, желательные функции и другие средства для удовлетворения потребностей людей и компаний независимо от их страхов и сомнений.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Основная цель пространств данных — решить первую проблему, обеспечивая надежные механизмы для суверенитета данных и справедливого использования данных. В пространствах данных справедливая доля стоимости, созданной пользователем данных, должна быть распределена между владельцами прав на данные. В пространствах данных должны быть средства для отслеживания и мониторинга транзакций с данными и обеспечения политики для предотвращения эксплуатации. Основываясь на базовых принципах проектирования, технологии пространств данных будут технически невосприимчивы к первой проблеме. Однако, поскольку доверие часто уже утрачено, игроки в справедливой экономике данных должны будут принять опыт пользователя и инструменты, которые уже используют их конкуренты на традиционных рынках. Чтобы смягчить вышеуказанные проблемы, мы рекомендуем сосредоточиться на юридическом проектировании опыта и проектировании пользовательского опыта для членов пространств данных во всех ролях.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3. Рекомендации для создателей пространств данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;На основе интервью, десктопного исследования и оценки ключевых технологий мы смогли вывести ряд рекомендаций, чтобы предоставить отправной точку для создателей пространств данных для дальнейшего изучения области.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3.1 Рекомендация: Поддержка участников с несколькими ролями в пространствах данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Одни и те же участники обычно участвуют в пространствах данных в нескольких ролях. Поэтому требования для различных ролей (владельцы прав на данные, поставщики, получатели или пользователи) должны быть гармонизированы насколько это возможно. Основное внимание при разработке должно быть уделено обеспечению того, чтобы участники могли выполнять различные роли и участвовать в других пространствах данных, используя те же инструменты и набор технологий.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3.2 Рекомендация: Тестирование бизнес-кейсов на основе существующих зрелых решений&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Бизнес-кейс для пространства данных должен быть протестирован с использованием существующих инструментов и решений, где это возможно, и новые инструменты, специфичные для пространств данных, должны быть приняты только в том случае, если существующие варианты недостаточны. Большинство инноваций в пространствах данных связаны с юридическими, сервисными и бизнес-дизайном. Их часто можно протестировать с использованием существующих технологий, таких как управление идентификацией и доступом клиентов (CIAM), CRM, хранилище данных, управление API, каталоги данных и сервисов и т.д.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3.3 Рекомендация: Мониторинг рынка и предоставление обратной связи&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;После первых вариантов использования может стать актуальным выбор технологического фреймворка, специфичного для пространств данных. В настоящее время среди инициатив по технологиям пространств данных нет явных победителей, поэтому наиболее рациональным вариантом для создателей пространств данных является использование фреймворка, который обеспечивает быструю бизнес-ценность с наименьшими инвестициями. Это будет зависеть от бизнес-кейса. Работая в тесном контакте с одной или несколькими инициативами по технологиям пространств данных, создатель пространства данных может лучше понять область и внести свой вклад в ее развитие с помощью обратной связи.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;3.4 Рекомендация: Обратите внимание на опыт пользователя&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Чтобы получить трафик и членов (особенно владельцев прав на данные), опыт пользователя в пространстве данных должен соответствовать или превышать уровень, предлагаемый существующими платформами данных. С этой целью хороший владелец продукта, который может направлять потребности стейкхолдеров в осмысленный бэклог для разработчиков, будет незаменим. Роль владельца продукта имеет решающее значение в направлении потребностей потенциальных владельцев прав на данные и других членов пространства данных в дизайн пространства данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Глоссарий&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Пространство данных&lt;/b&gt; — это распределенная система, определяемая фреймворком управления, которая обеспечивает безопасные и надежные транзакции данных между участниками, поддерживая доверие и суверенитет данных. Пространство данных реализуется одной или несколькими инфраструктурами и обеспечивает один или несколько вариантов использования.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Инициатива по созданию пространства данных&lt;/b&gt; — это совместный проект консорциума или сети ответственных партнеров по инициированию, разработке и поддержанию пространства данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Орган управления пространством данных&lt;/b&gt; — это участник пространства данных, который несет ответственность за создание, разработку, эксплуатацию, поддержание и обеспечение соблюдения фреймворка управления для конкретного пространства данных, не заменяя роли органов публичного принуждения.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Участник пространства данных&lt;/b&gt; — это сторона, которая приняла на себя обязательства по фреймворку управления конкретного пространства данных и может иметь одну или несколько ролей в нем.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Вариант использования пространства данных&lt;/b&gt; — это конкретная ситуация, в которой два или более участника используют пространство данных для создания ценности (бизнес, социальной или экологической) из обмена данными.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Транзакция данных&lt;/b&gt; — это результат взаимодействия между двумя участниками с целью обмена, доступа, обмена или обработки данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Владелец прав на данные (роль)&lt;/b&gt; — это сторона, которая имеет (юридические) права и/или обязательства использовать, предоставлять доступ к или делиться определенными персональными или неперсональными данными. Владельцы прав на данные могут передавать такие права другим.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Поставщик данных (роль)&lt;/b&gt; — это участник транзакции, который в контексте конкретной транзакции данных технически предоставляет данные получателям данных, которые имеют право или обязанность получить доступ к и/или получить эти данные.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Получатель данных (роль)&lt;/b&gt; — это участник транзакции, которому данные технически предоставляются или должны быть предоставлены поставщиком данных в контексте конкретной транзакции данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Пользователь данных (роль)&lt;/b&gt; — это физическое или юридическое лицо, которое имеет законный доступ к определенным персональным или неперсональным данным и имеет право, включая право в соответствии с Регламентом (ЕС) 2016/679 в случае персональных данных, использовать эти данные для коммерческих или некоммерческих целей (DGA Art.2)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Услуга, обеспечивающая пространство данных&lt;/b&gt; — это обязательная или необязательная основная функция пространства данных, которая обеспечивает транзакции данных для участников транзакций и/или операции пространства данных для органа управления. Примеры таких услуг включают идентификацию, наблюдаемость, каталог, управление членством и сервисы соединителей.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Посредник пространства данных (роль)&lt;/b&gt; — это участник пространства данных, который предоставляет одну или несколько услуг, обеспечивающих пространство данных, не участвуя непосредственно в транзакциях данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Data product&lt;/b&gt; — это стандартизированная единица данных, упаковывающая соответствующие ресурсы и услуги данных в потребляемую форму, соответствующую спецификациям data product.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Источник:&lt;/b&gt; Глоссарий Центра поддержки пространств данных (DSSC) 2.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Литература&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;BDVA. 2019. Towards a European Data Sharing Space. (доступно 26 июня 2023).&lt;/p&gt;
&lt;p&gt;Curry E., Scerri S., Tuikka T. 2022. Data Spaces: Design, Deployment, and Future Directions&lt;/p&gt;
&lt;p&gt;DSSC. 2023. Starter Kit for Data Space Designers. Data Spaces Support Centre (DSSC). (доступно 2 июля 2023).&lt;/p&gt;
&lt;p&gt;DSSC. 2023. Data Spaces Blueprint Version 0.5. Data Spaces Support Centre (DSSC). (доступно 26 октября 2023).&lt;/p&gt;
&lt;p&gt;DSSC. 2023. Glossary 2.0. Data Spaces Support Centre (DSSC). (доступно 26 октября 2023).&lt;/p&gt;
&lt;p&gt;EC. 2022. Staff working document on data spaces. Европейская комиссия. (доступно 26 июня 2023).&lt;/p&gt;
&lt;p&gt;EHDS. 2022. European Health Data Space (веб-сайт). Европейская комиссия. (доступно 26 июня 2023).&lt;/p&gt;
&lt;p&gt;Nagel L., Lycklama D. 2021. Design Principles for Data Spaces. Position Paper. Version 1.0. (доступно 26 июня 2023).&lt;/p&gt;
&lt;p&gt;Otto B., Hompel M., Wrobel S. 2022. Designing Data Spaces: The Ecosystem Approach to Competitive Advantage&lt;/p&gt;
&lt;p&gt;Pitkänen O, Luoma-Kyyny J. 2022. Rulebook for a fair data economy. Sitra.&lt;/p&gt;
&lt;p&gt;Steinbuss, S. et al. 2023. Data Spaces Landscape – Overview and relations of data spaces initiatives, standards, and tools (1.0). International Data Spaces Association. (доступно 26 июня 2023).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Приложение 1. Организации, изображенные на диаграмме ландшафта&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Инициативы по технологиям пространств данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Data Spaces Support Centre (DSSC)&lt;/b&gt; — это проект, финансируемый Европейской комиссией в рамках программы Digital Europe. DSSC исследует потребности инициатив по пространствам данных, определяет общие требования и устанавливает лучшие практики для ускорения формирования суверенных пространств данных как важного элемента цифровой трансформации во всех областях.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;International Data Spaces Association (IDSA)&lt;/b&gt; предоставляет архитектуру ссылок, которая обеспечивает экосистему для суверенного обмена данными с четко определенными правами использования.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Gaia-X&lt;/b&gt; стремится создать экосистему пространств данных, где данные делятся в надежной среде, чтобы пользователи сохраняли контроль и суверенитет над данными. Он разрабатывает технический фреймворк Gaia-X, схему соответствия и реализации с открытым исходным кодом. См. документацию и репозитории.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;iSHARE&lt;/b&gt; — это европейская сеть доверия для международного и суверенного обмена бизнес-данными, управляемая Фондом iSHARE. Фреймворк доверия iSHARE обеспечивает федеративное управление доверием пространств данных. Он предоставляет компоненты пространств данных в соответствии с принципами проектирования пространств данных из проекта Open DEI, Международной ассоциации пространств данных и Gaia-X. См. документацию и репозитории.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Eclipse Cross Federation Services Components (XFSC)&lt;/b&gt; — это проект с открытым исходным кодом, разрабатывающий базовые компоненты, необходимые для создания федеративных систем обмена данными. До перехода в Фонд Eclipse проект был известен как Gaia-X Federation Services (GXFS). См. документацию и репозитории.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pontus-X&lt;/b&gt;, экосистема Gaia-X Web3, под управлением институтов-членов Gaia-X, стремится обеспечить децентрализованный и федеративный подход к управлению данными, позволяя безопасно создавать, собирать, делиться и монетизировать данные, программное обеспечение, инфраструктуру и услуги федерации. См. документацию Gen-X, Ocean protocol и Polygon, а также репозитории deltaDAO, Ocean protocol и Polygon.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Eclipse Dataspace Components (EDC)&lt;/b&gt; — это проект с открытым исходным кодом, целью которого является реализация стандарта International Data Spaces (IDS) и соответствующих протоколов и требований, связанных с Gaia-X, тем самым обеспечивая реализацию и обратную связь для этих инициатив. См. документацию и репозитории.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;FIWARE&lt;/b&gt; — это технология с открытым исходным кодом, используемая для разработки интеллектуальных решений, цифровых двойников и пространств данных в нескольких областях цифровой трансформации. См. документацию, репозитории и маркетплейс.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Коммерческие предложения, ориентированные на пространства данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Advaneo&lt;/b&gt; предлагает комплексное решение для участия в пространствах данных. Компании могут легко использовать их компоненты для создания инновационных бизнес-моделей и продуктов. Их Data Marketplace содержит около 2,5 миллионов наборов данных, рабочую станцию AI и решение для хакатона для открытой инновации. Их Trusted Data Hub позволяет использовать конфиденциальные данные без раскрытия необработанных данных. Data Catalog, Data Marketplace и Trusted Data Hub предоставляют инфраструктуру для суверенного обмена данными через строительные блоки решения пространств данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Dataspace Europe&lt;/b&gt; предоставляет услугу посредничества Tritom для обеспечения совместного использования данных и улучшения операционных возможностей игроков индустрии.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;deltaDAO&lt;/b&gt; создала экосистему Gaia-X Web3 “Pontus-X” на основе Ocean Protocol и распределенной технологии блокчейн в 2021 году. deltaDAO обеспечила первый уровень мгновенной ликвидности для потребления данных, программного обеспечения и инфраструктурных услуг в Gaia-X с использованием евро. deltaDAO была первой, кто интегрировал фреймворк доверия Gaia-X.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;IONOS&lt;/b&gt; — это европейский поставщик облачных услуг, который предлагает своим клиентам автоматизированное предоставление соединителей и компонентов пространств данных в своем облаке, обеспечивая бесшовную интеграцию и суверенное управление их данными.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;nexyo DataHub&lt;/b&gt; соединяет децентрализованные источники данных через соединители EDC и предлагает дополнительные услуги, которые позволяют нетехническим пользователям быть частью развивающихся экосистем данных или создавать экосистемы самостоятельно. Цель состоит в том, чтобы обеспечить межкорпоративную и межотраслевую инновацию для бизнес-моделей, основанных на данных, сохраняя при этом автономию и суверенитет данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;OKP4&lt;/b&gt; — это публичный блокчейн уровня 1, предназначенный для координации цифровых активов, таких как наборы данных, алгоритмы, программное обеспечение, хранилище или вычисления. Любой может создавать и присоединяться к пользовательским пространствам данных, где правила разделяются, а ценность перетекает между участниками.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;sovity&lt;/b&gt; предоставляет компаниям доступ к суверенитету данных, позволяя им создавать новые бизнес-модели, основанные на данных, и разрабатывать инновационные продукты на основе технологий пространств данных. С помощью своего комплексного и удобного в использовании программного обеспечения, Connector-as-a-Service клиенты могут легко участвовать в экосистемах данных, делясь данными и сохраняя полный контроль.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;TrustRelay&lt;/b&gt; — это решение SaaS, которое позволяет корпорациям сотрудничать с данными способом, сохраняющим конфиденциальность, используя конфиденциальные вычисления и следуя подходу Data Mesh. С TrustRelay корпорации могут делиться и применять аналитику к данным, не централизуя их, — легко, безопасно и в соответствии с законодательством. Решение облегчает составление и подписание так называемых “Соглашений о совместном использовании данных”, которые обеспечивают юридическую основу для межкорпоративного сотрудничества с данными через пространства данных.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Приложение 2. Оценка ключевых инициатив по технологиям пространств данных&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Поскольку концепция пространства данных все еще развивается, оценка состояния технологий пространств данных представляет собой сложную задачу во многих аспектах. Несмотря на известные трудности, мы предприняли первую попытку оценить зрелость, принятие и потенциал некоторых ключевых инициатив по технологиям пространств данных: International Data Spaces Association (IDSA), iSHARE, Eclipse Cross Federation Services Components (XFSC), Gaia-X Web3 Ecosystem (Pontus-X), Eclipse Dataspace Components (EDC) и FIWARE. Согласно интервью, это наиболее актуальные сегодня инициативы по технологиям пространств данных, о которых должен знать каждый создатель пространства данных.&lt;/p&gt;
&lt;p&gt;Текущая оценка не является сравнением выбранных инициатив. Как описано ранее (Глава 2), эти инициативы не являются взаимозаменяемыми альтернативами друг другу, поскольку они предоставляют активы, которые полезны для создателей пространств данных, но на очень разных уровнях: архитектуры ссылок (IDSA), фреймворки доверия (iSHARE), фреймворки с открытым исходным кодом (XSFC, Pontus-X, EDC, FIWARE). Каждая инициатива отличается и оценивается на своих собственных достоинствах. Эта предварительная оценка дает создателям пространств данных отправной точку для собственных исследований.&lt;/p&gt;
&lt;p&gt;Просмотрев публичные материалы, порталы разработчиков и репозитории кода этих инициатив, мы оценили их принятие и оценили качество и количество документации, которую они предоставляют. Этот процесс имитирует работу по оценке зрелости и потенциала технологического продукта для коммерческой сделки. Мы подтвердили оценку результатами интервью. Наконец, мы отправили результаты на проверку представителям оцениваемых инициатив и получили значительное количество ссылок и новой информации, которая не была захвачена в исходном сборе данных. Краткие описания оцениваемых инициатив и ссылки на репозитории и страницы документации, использованные в оценке, находятся в Приложении 1.&lt;/p&gt;
&lt;p&gt;Общая картина такова, что зрелость технологий пространств данных все еще развивается. Многие инициативы имеют стабильные релизы, используемые несколькими участниками, активные сообщества и поддержку некоторых коммерческих участников, и они, вероятно, будут ключевой частью предложения в области пространств данных и в будущем. Однако до того, как эти технологии пространств данных будут доставлены в нескольких продуктах и станут частью основных интернет-технологий, еще предстоит пройти путь.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Таблица 1. Рейтинги для оцениваемых инициатив по технологиям пространств данных.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Обратите внимание, что инициативы не сопоставимы друг с другом. Инициативы оцениваются на своих собственных достоинствах, фокусируясь на преимуществах, которые они предоставляют создателям пространств данных.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/Snimok-ekrana-2024-10-05-v-20.46.15.png" width="1730" height="570" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Шкала и рейтинги для зрелости, принятия и текущего потенциала.&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://gavrilov.info/pictures/Snimok-ekrana-2024-10-05-v-20.46.55.png" width="1742" height="1126" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Детали публикации&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Название&lt;/b&gt;&lt;br /&gt;
Технологический ландшафт пространств данных&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Авторы&lt;/b&gt;&lt;br /&gt;
Антти Поикола (Sitra), П. Дж. Ласзковвич, Вилле Таканаен и Теему Тойвонен (Futurice)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Место публикации&lt;/b&gt;&lt;br /&gt;
Хельсинки&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Год публикации&lt;/b&gt;&lt;br /&gt;
2023&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Издатель&lt;/b&gt;&lt;br /&gt;
Sitra&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Прогноз&lt;/b&gt;&lt;br /&gt;
23&lt;/p&gt;
&lt;p&gt;&lt;b&gt;ISBN (PDF)&lt;/b&gt;&lt;br /&gt;
978-952-347-327-0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;ISSN (PDF)&lt;/b&gt;&lt;br /&gt;
2737-1042&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Серия&lt;/b&gt;&lt;br /&gt;
Рабочий документ&lt;/p&gt;
</description>
</item>

<item>
<title>Data Warehouse, Data Lake, Data Lakehouse, Data Fabric, Data Mesh – что это такое, и в чем разница между концепциями</title>
<guid isPermaLink="false">167</guid>
<link>https://gavrilov.info/all/data-warehouse-data-lake-data-lakehouse-data-fabric-data-mesh-ch/</link>
<pubDate>Fri, 04 Oct 2024 20:17:00 +0300</pubDate>
<author></author>
<comments>https://gavrilov.info/all/data-warehouse-data-lake-data-lakehouse-data-fabric-data-mesh-ch/</comments>
<description>
&lt;p&gt;Хорошая статья очерк: &lt;a href="https://habr.com/ru/articles/846296/"&gt;https://habr.com/ru/articles/846296/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Хотя конечно хочется чуть менее пыльного сравнения, например добавить всякие новинки типа DataOps и тп.&lt;/p&gt;
&lt;p&gt;Я тут помучал немного ии и вот что он дал:&lt;/p&gt;
&lt;h3&gt;Дата-концепции и нарративы: описание, плюсы, минусы, применение, период популярности&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;1. Data Warehouse (DWH)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Централизованная база данных, оптимизированная для аналитических запросов. Данные в DWH структурированы и нормализованы для эффективного хранения и быстрого доступа.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Структурированность и нормализация данных&lt;/li&gt;
&lt;li&gt;Высокая производительность запросов&lt;/li&gt;
&lt;li&gt;Поддержка сложных аналитических задач&lt;/li&gt;
&lt;li&gt;Зрелая экосистема инструментов и технологий&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Высокая стоимость владения&lt;/li&gt;
&lt;li&gt;Сложность масштабирования&lt;/li&gt;
&lt;li&gt;Задержки при интеграции новых источников данных&lt;/li&gt;
&lt;li&gt;Ограниченная поддержка неструктурированных данных&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Корпоративный анализ, отчетность, бизнес-аналитика.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 1990-е – 2010-е годы.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;2. Data Lake&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Хранилище больших объемов данных в исходном формате, включая структурированные, неструктурированные и полуструктурированные данные.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Гибкость и масштабируемость&lt;/li&gt;
&lt;li&gt;Низкая стоимость хранения&lt;/li&gt;
&lt;li&gt;Поддержка разнообразных форматов данных&lt;/li&gt;
&lt;li&gt;Возможность экспериментировать с данными&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Отсутствие структуры и нормализации&lt;/li&gt;
&lt;li&gt;Сложность управления и обеспечения качества данных&lt;/li&gt;
&lt;li&gt;Риск создания “болота данных” (data swamp)&lt;/li&gt;
&lt;li&gt;Сложность аналитики на “сырых” данных&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Хранение данных, машинное обучение, исследовательский анализ.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;3. Lakehouse&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Гибридная архитектура, сочетающая в себе черты Data Lake и Data Warehouse. Lakehouse использует хранилище Data Lake для хранения данных и добавляет к нему метаданные, управление транзакциями и другие возможности DWH.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Сочетание гибкости и масштабируемости Data Lake с производительностью и структурированностью DWH&lt;/li&gt;
&lt;li&gt;Поддержка разнообразных форматов данных&lt;/li&gt;
&lt;li&gt;Улучшенное управление и качество данных&lt;/li&gt;
&lt;li&gt;Возможность использования одного хранилища для разных задач&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Относительно новая концепция, не все решения полностью зрелы&lt;/li&gt;
&lt;li&gt;Сложность интеграции с существующими системами&lt;/li&gt;
&lt;li&gt;Потенциально более высокая стоимость владения по сравнению с Data Lake&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Аналитика, машинное обучение, хранение данных.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2020-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;4. Data as a Code (DaaC)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Подход к управлению данными, при котором данные рассматриваются как код. Это включает в себя версионирование данных, автоматизацию процессов обработки данных и использование инструментов разработки для работы с данными.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная воспроизводимость и отслеживаемость данных&lt;/li&gt;
&lt;li&gt;Автоматизация рутинных задач&lt;/li&gt;
&lt;li&gt;Упрощение совместной работы над данными&lt;/li&gt;
&lt;li&gt;Использование знакомых инструментов разработчиков&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность внедрения в существующие процессы&lt;/li&gt;
&lt;li&gt;Необходимость обучения сотрудников новым инструментам и практикам&lt;/li&gt;
&lt;li&gt;Потенциальное увеличение сложности инфраструктуры&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Data Engineering, Data Science, машинное обучение.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;5. Data Mesh&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Архитектурный подход, основанный на децентрализации ответственности за данные. В Data Mesh данные рассматриваются как продукты, которыми владеют и управляют автономные команды.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная масштабируемость и гибкость&lt;/li&gt;
&lt;li&gt;Более тесная связь между данными и бизнесом&lt;/li&gt;
&lt;li&gt;Улучшенное качество данных за счет ответственности владельцев данных&lt;/li&gt;
&lt;li&gt;Возможность использования разнообразных технологий&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность внедрения и управления&lt;/li&gt;
&lt;li&gt;Риск дублирования данных и несогласованности&lt;/li&gt;
&lt;li&gt;Необходимость изменения культуры и процессов организации&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Крупные организации с большим объемом данных и сложной бизнес-структурой.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2020-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Другие нарративы и концепции:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;DataOps:&lt;/b&gt;  Практики и инструменты для улучшения совместной работы между командами Data Engineering, Data Science и бизнесом.&lt;br /&gt;
* &lt;b&gt;MLOps:&lt;/b&gt;  Практики и инструменты для улучшения разработки, развертывания и эксплуатации моделей машинного обучения.&lt;br /&gt;
* &lt;b&gt;Data Governance:&lt;/b&gt;  Набор политик, процедур и инструментов для управления качеством, безопасностью и использованием данных.&lt;br /&gt;
* &lt;b&gt;Data Lineage:&lt;/b&gt;  Отслеживание происхождения данных, их преобразований и использования.&lt;br /&gt;
* &lt;b&gt;Data Catalog:&lt;/b&gt;  Инструмент для обнаружения, понимания и управления метаданными.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Заключение:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Выбор концепции и нарратива зависит от конкретных задач, объема данных, бюджета и культуры организации. Важно тщательно оценить все аспекты и выбрать оптимальное решение для вашего бизнеса.&lt;/p&gt;
&lt;p&gt;Второй заход&lt;/p&gt;
&lt;h3&gt;Дата-концепции и нарративы: описание, плюсы, минусы, применение, период популярности&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;1. Data Warehouse (DWH)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Централизованная база данных, оптимизированная для аналитических запросов. Данные в DWH структурированы и нормализованы для эффективного хранения и быстрого доступа.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Структурированность и нормализация данных&lt;/li&gt;
&lt;li&gt;Высокая производительность запросов&lt;/li&gt;
&lt;li&gt;Поддержка сложных аналитических задач&lt;/li&gt;
&lt;li&gt;Зрелая экосистема инструментов и технологий&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Высокая стоимость владения&lt;/li&gt;
&lt;li&gt;Сложность масштабирования&lt;/li&gt;
&lt;li&gt;Задержки при интеграции новых источников данных&lt;/li&gt;
&lt;li&gt;Ограниченная поддержка неструктурированных данных&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Корпоративный анализ, отчетность, бизнес-аналитика.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 1990-е – 2010-е годы.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;2. Data Lake&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Хранилище больших объемов данных в исходном формате, включая структурированные, неструктурированные и полуструктурированные данные.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Гибкость и масштабируемость&lt;/li&gt;
&lt;li&gt;Низкая стоимость хранения&lt;/li&gt;
&lt;li&gt;Поддержка разнообразных форматов данных&lt;/li&gt;
&lt;li&gt;Возможность экспериментировать с данными&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Отсутствие структуры и нормализации&lt;/li&gt;
&lt;li&gt;Сложность управления и обеспечения качества данных&lt;/li&gt;
&lt;li&gt;Риск создания “болота данных” (data swamp)&lt;/li&gt;
&lt;li&gt;Сложность аналитики на “сырых” данных&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Хранение данных, машинное обучение, исследовательский анализ.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;3. Lakehouse&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Гибридная архитектура, сочетающая в себе черты Data Lake и Data Warehouse. Lakehouse использует хранилище Data Lake для хранения данных и добавляет к нему метаданные, управление транзакциями и другие возможности DWH.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Сочетание гибкости и масштабируемости Data Lake с производительностью и структурированностью DWH&lt;/li&gt;
&lt;li&gt;Поддержка разнообразных форматов данных&lt;/li&gt;
&lt;li&gt;Улучшенное управление и качество данных&lt;/li&gt;
&lt;li&gt;Возможность использования одного хранилища для разных задач&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Относительно новая концепция, не все решения полностью зрелы&lt;/li&gt;
&lt;li&gt;Сложность интеграции с существующими системами&lt;/li&gt;
&lt;li&gt;Потенциально более высокая стоимость владения по сравнению с Data Lake&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Аналитика, машинное обучение, хранение данных.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2020-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;4. Data as a Code (DaaC)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Подход к управлению данными, при котором данные рассматриваются как код. Это включает в себя версионирование данных, автоматизацию процессов обработки данных и использование инструментов разработки для работы с данными.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная воспроизводимость и отслеживаемость данных&lt;/li&gt;
&lt;li&gt;Автоматизация рутинных задач&lt;/li&gt;
&lt;li&gt;Упрощение совместной работы над данными&lt;/li&gt;
&lt;li&gt;Использование знакомых инструментов разработчиков&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность внедрения в существующие процессы&lt;/li&gt;
&lt;li&gt;Необходимость обучения сотрудников новым инструментам и практикам&lt;/li&gt;
&lt;li&gt;Потенциальное увеличение сложности инфраструктуры&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Data Engineering, Data Science, машинное обучение.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;5. Data Mesh&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Архитектурный подход, основанный на децентрализации ответственности за данные. В Data Mesh данные рассматриваются как продукты, которыми владеют и управляют автономные команды.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная масштабируемость и гибкость&lt;/li&gt;
&lt;li&gt;Более тесная связь между данными и бизнесом&lt;/li&gt;
&lt;li&gt;Улучшенное качество данных за счет ответственности владельцев данных&lt;/li&gt;
&lt;li&gt;Возможность использования разнообразных технологий&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность внедрения и управления&lt;/li&gt;
&lt;li&gt;Риск дублирования данных и несогласованности&lt;/li&gt;
&lt;li&gt;Необходимость изменения культуры и процессов организации&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Крупные организации с большим объемом данных и сложной бизнес-структурой.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2020-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;6. Small Data&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Подход, фокусирующийся на анализе небольших, но высококачественных наборов данных. В отличие от Big Data, Small Data ориентирован на глубокое понимание конкретных проблем и принятие обоснованных решений.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Высокое качество данных&lt;/li&gt;
&lt;li&gt;Возможность глубокого анализа&lt;/li&gt;
&lt;li&gt;Меньше затрат на хранение и обработку&lt;/li&gt;
&lt;li&gt;Более простая визуализация и интерпретация результатов&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Ограниченная статистическая мощность&lt;/li&gt;
&lt;li&gt;Риск смещения выборки&lt;/li&gt;
&lt;li&gt;Необходимость в высококвалифицированных аналитиках&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Маркетинг, медицина, финансы, управление проектами.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;7. DataOps&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Практики и инструменты для улучшения совместной работы между командами Data Engineering, Data Science и бизнесом. DataOps фокусируется на автоматизации, улучшении качества и скорости доставки данных.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная совместная работа и коммуникация&lt;/li&gt;
&lt;li&gt;Автоматизация рутинных задач&lt;/li&gt;
&lt;li&gt;Улучшенное качество и скорость доставки данных&lt;/li&gt;
&lt;li&gt;Улучшенная воспроизводимость и отслеживаемость данных&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность внедрения в существующие процессы&lt;/li&gt;
&lt;li&gt;Необходимость обучения сотрудников новым практикам&lt;/li&gt;
&lt;li&gt;Потенциальное увеличение сложности инфраструктуры&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Data Engineering, Data Science, бизнес-аналитика.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;8. Big Data&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Термин, описывающий большие объемы данных, которые трудно или невозможно обработать с помощью традиционных методов. Big Data характеризуется тремя “V”: объем (Volume), скорость (Velocity) и разнообразие (Variety).&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Возможность анализа больших объемов данных&lt;/li&gt;
&lt;li&gt;Выявление скрытых закономерностей и трендов&lt;/li&gt;
&lt;li&gt;Поддержка принятия решений на основе данных&lt;/li&gt;
&lt;li&gt;Возможность использования разнообразных источников данных&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Высокая стоимость инфраструктуры и ресурсов&lt;/li&gt;
&lt;li&gt;Сложность обработки и анализа данных&lt;/li&gt;
&lt;li&gt;Риск получения неточных или нерелевантных результатов&lt;/li&gt;
&lt;li&gt;Необходимость в специализированных навыках&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Реклама, финансы, здравоохранение, интернет-магазины.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;9. Data Governance&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Набор политик, процедур и инструментов для управления качеством, безопасностью и использованием данных. Data Governance направлена на обеспечение доступности, целостности и конфиденциальности данных.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенное качество данных&lt;/li&gt;
&lt;li&gt;Повышение безопасности данных&lt;/li&gt;
&lt;li&gt;Соответствие нормативным требованиям&lt;/li&gt;
&lt;li&gt;Улучшенная управляемость и эффективность использования данных&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность внедрения и управления&lt;/li&gt;
&lt;li&gt;Необходимость в ресурсах и бюджете&lt;/li&gt;
&lt;li&gt;Риск бюрократизации процессов&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Организации любого размера и отрасли.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;10. Data Lineage&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Отслеживание происхождения данных, их преобразований и использования. Data Lineage помогает понять, откуда поступают данные, как они изменяются и кто их использует.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенное понимание данных&lt;/li&gt;
&lt;li&gt;Повышение прозрачности и подотчетности&lt;/li&gt;
&lt;li&gt;Помощь в устранении ошибок и улучшении качества данных&lt;/li&gt;
&lt;li&gt;Поддержка соответствия нормативным требованиям&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность реализации и поддержки&lt;/li&gt;
&lt;li&gt;Необходимость в ресурсах и бюджете&lt;/li&gt;
&lt;li&gt;Риск создания избыточной информации&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Data Engineering, Data Science, бизнес-аналитика.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;11. Data Catalog&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Инструмент для обнаружения, понимания и управления метаданными. Data Catalog помогает пользователям находить нужные данные, понимать их смысл и использовать их эффективно.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенное обнаружение и понимание данных&lt;/li&gt;
&lt;li&gt;Повышение эффективности использования данных&lt;/li&gt;
&lt;li&gt;Поддержка Data Governance и Data Lineage&lt;/li&gt;
&lt;li&gt;Улучшенная совместная работа над данными&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность наполнения и поддержки каталога&lt;/li&gt;
&lt;li&gt;Необходимость в ресурсах и бюджете&lt;/li&gt;
&lt;li&gt;Риск создания избыточной информации&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Data Engineering, Data Science, бизнес-аналитика.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;12. Data Virtualization&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Технология, позволяющая объединять данные из разных источников без физического копирования. Data Virtualization предоставляет виртуальное представление данных, которое обновляется в режиме реального времени.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная гибкость и масштабируемость&lt;/li&gt;
&lt;li&gt;Сокращение времени и затрат на интеграцию данных&lt;/li&gt;
&lt;li&gt;Улучшенная доступность и актуальность данных&lt;/li&gt;
&lt;li&gt;Поддержка разнообразных источников данных&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность реализации и поддержки&lt;/li&gt;
&lt;li&gt;Риск снижения производительности запросов&lt;/li&gt;
&lt;li&gt;Необходимость в специализированных навыках&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Корпоративный анализ, бизнес-аналитика, интеграция данных.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;13. Data Fabric&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Архитектурный подход, основанный на создании единой, гибкой и масштабируемой инфраструктуры для работы с данными. Data Fabric объединяет различные технологии и практики для обеспечения унифицированного доступа к данным.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенная гибкость и масштабируемость&lt;/li&gt;
&lt;li&gt;Сокращение времени и затрат на интеграцию данных&lt;/li&gt;
&lt;li&gt;Улучшенная доступность и актуальность данных&lt;/li&gt;
&lt;li&gt;Поддержка разнообразных источников данных&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Сложность реализации и поддержки&lt;/li&gt;
&lt;li&gt;Необходимость в специализированных навыках&lt;/li&gt;
&lt;li&gt;Риск создания избыточной инфраструктуры&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Крупные организации с большим объемом данных и сложной бизнес-структурой.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2020-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;14. Data Democratization&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Процесс предоставления доступа к данным широкому кругу пользователей, включая тех, кто не является специалистами по данным. Data Democratization направлена на повышение эффективности и инноваций в организации.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Улучшенное использование данных&lt;/li&gt;
&lt;li&gt;Повышение эффективности и инноваций&lt;/li&gt;
&lt;li&gt;Улучшенное понимание бизнеса&lt;/li&gt;
&lt;li&gt;Улучшенная ответственность и подотчетность&lt;br /&gt;
* &lt;b&gt;Минусы:&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Риск несанкционированного доступа и утечки данных&lt;/li&gt;
&lt;li&gt;Риск неправильного использования данных&lt;/li&gt;
&lt;li&gt;Необходимость в инструментах и обучении&lt;br /&gt;
* &lt;b&gt;Применение:&lt;/b&gt;  Организации любого размера и отрасли.&lt;br /&gt;
* &lt;b&gt;Период популярности:&lt;/b&gt; 2010-е годы – настоящее время.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;15. Data Monetization&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;* &lt;b&gt;Описание:&lt;/b&gt;  Процесс превращения данных в ценный актив, который можно использовать для получения дохода. Data Monetization включает в себя продажу данных, предоставление доступа к данным и создание продуктов на основе данных.&lt;br /&gt;
* &lt;b&gt;Плюсы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Новые источники дохода&lt;/li&gt;
&lt;li&gt;Улучшенное понимание рынка и клиентов&lt;/li&gt;
&lt;li&gt;Улучшенная конкурентоспособность&lt;/li&gt;
&lt;li&gt;Улучшенная эффективность бизнеса&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;.... дальше он устал) видимо решил, что человечеству еще рано знать эти технологии видимо)) не стал переписывать промт.&lt;/p&gt;
</description>
</item>


</channel>
</rss>