В этой главе рассматриваются
- Проведение аудита инфраструктуры
- Вовлечение заинтересованных сторон для выявления технических и организационных потребностей
- Документирование текущих инструментов, систем хранения и практик управления данными
- Превращение результатов аудита в приоритизированные, применимые требования
- Соображения по хранению, приёму, каталогизации, федерации и потреблению данных
Переход на Apache Iceberg - не просто техническое обновление. Это смена того, как ваша организация обращается с данными: от приёма и хранения до управления и аналитики. Чтобы вывести его в промышленную эксплуатацию, одних экспериментов мало. Нужно ясно понимать, что у вас есть сейчас.
Ландшафт данных каждой организации уникален. Вы можете использовать разные файловые форматы, унаследованные ETL-инструменты или лавировать между региональными требованиями комплаенса. Если попытаться внедрить Iceberg, не проведя сначала аудит того, что у вас есть, вы рискуете получить неэффективность, неожиданные затраты или пробелы в управлении данными. Продуманный аудит помогает избежать этих ловушек, сужая множество вариантов до внятной стратегии.
Эта глава не скажет вам, какой каталог выбрать и какой движок запросов «лучший». Так задумано. Варианты компонентов lakehouse мы подробно разберём в следующих главах. Экосистема lakehouse слишком разнообразна для универсальных рекомендаций. Цель здесь в другом - помочь вам прояснить требования, чтобы затем использовать их как фильтр при оценке инструментов. Многие инструменты продвигаются с упором на сильные стороны, которые могут не совпадать с вашими целями.
Удачный аудит начинается с правильных заинтересованных сторон. Каждая команда использует вашу платформу данных по-своему, поэтому каждая видит свои сильные и болевые точки. Инженеры данных укажут на хрупкие конвейеры и технический долг. Аналитики скажут, легко ли найти данные и насколько они актуальны. Команды комплаенса помогут соответствовать нормативным требованиям. Руководители бизнеса прояснят, какие стратегические результаты должна обеспечивать платформа. Опросите эти группы заранее, чтобы получить более качественные вводные и сформировать круг сторонников, которые позже помогут продвигать внедрение и снимать препятствия.
Эта глава покажет, о чём спрашивать, кого спрашивать и почему важен каждый ответ. Чтобы всё было конкретно, мы будем следить за банком Hamerliva Bank Incorporated - вымышленной финансовой компанией, проходящей собственный переход на Iceberg. Их аудит послужит практическим ориентиром для выявления ограничений, сильных сторон и возможностей вашей платформы. К концу главы у вас будет всё необходимое, чтобы очертить внедрение Iceberg - укоренённое в реальности, согласованное с потребностями бизнеса и готовое к масштабированию.
4.1 Аудит вашей платформы данных
Прежде чем строить современный lakehouse, нужно понять, с чем вы работаете и что на самом деле нужно вашей организации. Успешное внедрение Apache Iceberg начинается с плана, а не с инструментов или инфраструктуры. Я представлю структурированный процесс аудита, который высвечивает технические ограничения, организационные приоритеты и возможности для упрощения. Этот аудит - ваш первый шаг к списку применимых требований, направляющих архитектурные решения.
На рис. 4.1 показан путь от аудита к внедрению. Каждая фаза опирается на предыдущую: изучение заинтересованных сторон формирует требования, а те задают технический чертёж. Пропустить аудит - значит рискнуть построить решение, оптимизированное под чужую проблему.

Эта работа не про исчерпывающую инвентаризацию всего вашего хозяйства данных. Она про то, чтобы прояснить, что должна давать ваша платформа для достижения бизнес-целей. С такой ясностью вы сможете уверенно оценивать поставщиков, компоненты и модели развёртывания. И вас с меньшей вероятностью убедят маркетинговые заявления, не отвечающие вашим приоритетам.
4.1.1 Кто такие заинтересованные стороны?
Чтобы спроектировать платформу данных, приносящую измеримую пользу, сначала нужно понять, кому она служит. Lakehouse строится не для одного пользователя или одной команды. Это фундамент данных, общий для подразделений, функций и ролей. Каждая группа, показанная на рис. 4.2, взаимодействует с платформой по-своему и приносит свой набор ожиданий, ограничений и опасений. Поэтому критически важно определить и вовлечь нужные заинтересованные стороны в самом начале аудита. Это помогает сделать внедрение не только технически осуществимым, но и подходящим организации и пригодным к долгой эксплуатации.

Ключевую точку зрения даст команда инженерии данных. Они проектируют, строят и сопровождают конвейеры приёма и задачи преобразования, которые превращают сырые источники в готовые к аналитике форматы. Часто они же управляют базовой инфраструктурой хранения - локальной или облачной. Их вклад незаменим для выявления реальной цены существующего технического долга: систем хрупких, чрезмерно сложных или плохо приспособленных к росту. Инженеры также подскажут, какие инструменты работают хорошо, какие накладывают ограничения и где архитектура создаёт эксплуатационные узкие места по всей организации.
Аналитики данных и специалисты по data science дают иную, но не менее важную перспективу. Они потребители данных и зависят от чистых, своевременных и достоверных данных при принятии решений. Аналитики часто могут показать, где рвётся цепочка создания ценности из данных: медленные циклы обновления, размытые определения данных или недоступные таблицы, постоянно требующие вмешательства инженеров. Эти болевые точки тихо подтачивают доверие к платформе, приводя к появлению теневых систем и дублирующей работы. Прямой разговор с такими пользователями поможет увидеть, как текущее состояние платформы влияет на бизнес-аналитику, скорость получения ценности и доверие к данным.
В ваш аудит следует включить и специалистов по комплаенсу и безопасности. Во многих отраслях они следят за тем, чтобы архитектура данных отвечала законодательным, нормативным и внутренним требованиям. Сюда входят правила локализации данных и нормы приватности - например, Общий регламент по защите данных Европейского союза (GDPR), который регулирует хранение, обработку и передачу персональных данных между регионами. Речь может идти и о требованиях к проверяемости со стороны финансовых регуляторов или о внутренних политиках шифрования, управления идентификацией и контроля доступа.
Эти ограничения задают то, что в архитектуре не подлежит обсуждению, поэтому займитесь ими сразу, а не пытайтесь добавить их позже. Привлекайте комплаенс и безопасность с самого начала; иначе даже хорошо спроектированные технические решения могут застопориться при внедрении из-за неснятых рисков или нормативных вопросов.
Руководители бизнеса и владельцы продуктов помогают задать стратегические цели вашей платформы данных. Их меньше волнует, какой движок вы используете, и больше - что он позволяет: быстрее получать инсайты, снижать затраты на инфраструктуру, поддерживать новые клиентские функции и повышать операционную гибкость. Нередко снижение совокупной стоимости владения становится главным мотивом рассматривать Iceberg - особенно когда вы заменяете унаследованные форматы или рационализируете хранение между командами. Их видение определяет результаты, которые должна поддерживать платформа, и помогает отделить обязательное от желательного. Они же помогают получить финансирование, расставить приоритеты по ресурсам и продвигать внедрение в организации.
Наконец, аудит должен охватывать команды ИТ и инфраструктуры. Они отвечают за оборудование, сети и базовые сервисы, на которых держится ваша платформа. В их зону ответственности обычно входят выделение и защита облачных или локальных ресурсов, управление соглашениями об уровне обслуживания и поддержание доступности. Их вклад также помогает понять эксплуатационные ограничения: доступность хранилища, пропускную способность сети и поддержку гибридных моделей развёртывания. Если не привлечь их рано, именно они позже поднимут вопросы о сложности, сопровождаемости и совокупной стоимости владения.
Начинайте разговор с командами ИТ и инфраструктуры. Они управляют базовыми системами, на которых строятся платформы данных, и первыми сталкиваются с практическими ограничениями интеграции, масштаба и стоимости. Инженеры платформ и архитекторы данных достраивают этот фундамент, формируя среду для аналитиков и разработчиков приложений. Команды комплаенса и безопасности работают рядом с ними, укрепляя платформу и следя за тем, чтобы новые технологии отвечали нормативным и организационным требованиям. Руководители бизнеса завершают картину, определяя сценарии использования и расставляя приоритеты для инвестиций. Эти роли часто существуют как отдельные команды, но их зоны ответственности нередко пересекаются. Цель не просто собрать мнения каждой группы, а добиться согласованности. Раннее сотрудничество снижает трение в дальнейшем и формирует общее чувство ответственности, благодаря чему переход на Iceberg оказывается и технически успешным, и широко принятым.
4.1.2 О чём спрашивать заинтересованные стороны?
После того как вы определили ключевые группы, которые будут формировать и использовать вашу будущую платформу данных, следующий шаг - поговорить с ними. Стройте беседу вокруг вопросов, подобных тем, что приведены на рис. 4.3. Эти интервью не сводятся к перечислению текущих систем или недовольств. Они нужны, чтобы понять сегодняшние болевые точки и завтрашние цели. Удачный аудит выявляет и трение, с которым сталкиваются пользователи и администраторы, и улучшения, которые должна обеспечить будущая платформа.

Разговаривая с инженерами данных, сосредоточьтесь на повседневных реалиях сопровождения текущих конвейеров. Спросите, где всё держится на честном слове: где системы часто падают, где ручные обходные пути стали нормой и где масштабирование упирается в узкие места. Спросите также, какие инструменты или форматы данных тормозят платформу. Инженеры обычно могут указать ограничения, мешающие быстрее разрабатывать, эффективнее обрабатывать данные или шире масштабироваться. Эти детали лягут в основу технических требований к вашему новому lakehouse.
Говоря с аналитиками и специалистами по data science, сфокусируйтесь на двух вещах: насколько легко им получить данные и насколько они этим данным доверяют. Выясните, сколько времени уходит на получение данных для отчётов, моделей или дашбордов. Задержки в доступе к данным часто вскрывают более глубокую архитектурную неэффективность или пробелы в автоматизации. Спросите также, насколько они уверены в самих данных. Когда наборы данных несогласованны, плохо документированы или подвержены незаметным ошибкам, пользователи начинают копировать данные в личные хранилища, что повышает риски и фрагментацию. Их обратная связь поможет задать ожидания по качеству, свежести и удобству использования данных.
В беседах с командами комплаенса и безопасности сосредоточьтесь на соответствии нормам и возможностях управления данными. Выясните, помогает ли ваша текущая архитектура соблюдать требования или, наоборот, усложняет это. Одни модели хранения и системы метаданных делают аудит простым; другие превращают его в мучение. Спросите, какие механизмы контроля доступа, отслеживания происхождения данных и стандарты шифрования не подлежат обсуждению и где платформа их поддерживает, а где не дотягивает. Понимание этих ограничений на раннем этапе позволяет заложить соответствие требованиям в проект платформы, а не пристраивать его задним числом.
Беседуя с руководителями бизнеса, ваша цель - связать технические возможности со стратегическими результатами. Спонсорам обычно менее интересно, как устроена архитектура, и более - что она позволяет компании делать. Спросите, какие аналитические сценарии заблокированы техническими ограничениями. Спросите также, как выглядит «успех»: более быстрые инсайты о клиентах, снижение затрат на аналитику или поддержка новых направлений бизнеса. Их ответы задают целевые показатели ценности, которым должна отвечать платформа, чтобы оправдать инвестиции.
Наконец, привлеките команды ИТ и инфраструктуры, чтобы понять эксплуатационные границы, в которых должна работать новая платформа. Спросите о текущих ограничениях по хранению, вычислениям и сети, которые новая архитектура обязана учитывать. Оцените также, насколько организация готова принимать новые операционные модели. Одни команды открыты к полностью облачным развёртываниям; другие предпочитают гибридный подход или обязаны по регуляторным причинам сохранять локальную инфраструктуру. Эти разговоры помогут предвидеть ограничения развёртывания (например, региональные регуляторные вопросы и плату за исходящий трафик), потребности в контроле затрат и дальнейшее сопровождение.
В этих обсуждениях вы не просто заполняете чек-лист. Вы превращаете абстрактные цели в конкретные технические реалии. Вы также обнаружите ключевые взаимозависимости: выбор движка приёма данных влияет на управление метаданными; выбор каталога определяет возможности управления данными; решения по хранению влияют на производительность запросов. Раннее понимание этих связей гарантирует, что ваш lakehouse на Iceberg будет спроектирован осознанно, а не реактивно. В итоге вы получите платформу, которая и технически состоятельна, и стратегически согласована с приоритетами бизнеса.
4.1.3 Проведение технологического аудита
Интервью с заинтересованными сторонами показывают, как люди воспринимают вашу платформу, тогда как технологический аудит вскрывает, как она работает. Фаза технологического аудита дополняет ваши беседы, изучая факты о вашей среде данных: какие системы у вас есть, как они взаимодействуют и где возникают трение или рассогласование. Без ясной картины текущего состояния вы рискуете спроектировать lakehouse на Iceberg, который повторит прошлые ошибки или проигнорирует реальные ограничения.
Цель аудита - не просто составить перечень инструментов и платформ. Она в том, чтобы связать вашу текущую архитектуру с потребностями организации и точно определить, что может естественно эволюционировать в совместимую с Iceberg экосистему, а что нужно переосмыслить. Такая оценка - проверка архитектуры реальностью, помогающая сделать будущие проектные решения информированными, осуществимыми и учитывающими контекст.
Начните с документирования архитектуры хранения. Перечислите используемые системы: Hadoop Distributed File System (HDFS), Amazon S3, локальные сетевые хранилища (NAS) или облачные хранилища вроде Snowflake или BigQuery. Затем отметьте, где находятся данные, какие есть регуляторные или географические границы и для чего используется каждая система. Например, облачное хранилище может обслуживать ad hoc аналитику, а HDFS - архивные или регуляторные нагрузки. У каждой из них свои последствия по производительности, стоимости и соответствию требованиям, и это повлияет на то, как вы будете внедрять Iceberg.
Далее оцените ваши файловые форматы. Многие организации приходят к смеси форматов - CSV, JSON, Avro и Parquet, - обычно потому, что их со временем выбирали инструменты или системы поставщиков. Понимание того, какие форматы преобладают и какие используются в аналитических конвейерах, а какие - при сыром приёме данных, поможет определить объём необходимых преобразований. Iceberg лучше всего работает с поколоночными форматами вроде Parquet. Если значительная часть ваших данных всё ещё живёт в построчных или полуструктурированных форматах, запланируйте конвейеры конвертации или добавьте промежуточные слои при приёме.
Ещё одна ключевая область для оценки - ваши фреймворки ETL и ELT. Большинство современных стеков данных сочетают пакетные и потоковые задачи. Spark и Flink, возможно, уже есть, но многие организации также используют решения независимых поставщиков ПО (ISV) для оркестрации и преобразований. Инструменты вроде Informatica, NiFi, Qlik и Rivery распространены, особенно в регулируемых средах или в командах с давно сложившимися конвейерами. Ревизия текущего стека поможет понять, какие нагрузки можно перенести на Iceberg с минимальными изменениями, а какие потребуют обновления коннекторов, переписывания конвейеров или поэтапного плана перехода.
Помимо обработки данных, стоит пересмотреть организацию управления метаданными и каталогизации. Такие системы, как Hive Metastore, AWS Glue или самописные базы каталогов, могут отвечать за определения схем, метаданные о владельцах и права доступа. Они же определяют, как ваша платформа обеспечивает соблюдение политик и обрабатывает эволюцию схемы - то есть ровно те области, где Iceberg силён. При этом не всякая система метаданных одинаково хорошо работает с Iceberg, особенно в части продвинутых возможностей вроде транзакций над несколькими таблицами (доступны только с каталогами Iceberg, совместимыми со спецификацией REST). Проверьте, можно ли расширить ваш текущий подход или же нужно переходить на каталог на основе REST, такой как Apache Polaris или Project Nessie.
Наконец, проанализируйте движки запросов и инструменты бизнес-аналитики, обращающиеся к вашим данным. Эти системы - будь то Dremio, Trino, Presto или традиционные BI-инструменты вроде Tableau и Power BI - определяют, как люди используют данные и какой производительности ожидают. Знание того, что уже есть и как эти инструменты подключены к вашим существующим таблицам, помогает спланировать стратегию развёртывания Iceberg и направляет решения о совместимости и оптимизации запросов.
Ваш технический аудит должен зафиксировать следующее:
- Ландшафт систем - используемые слои хранения, движки обработки, каталоги и инструменты запросов
- Эксплуатационный контекст - как эти системы настроены, где они не дотягивают и какие зависимости или ограничения нужно учесть
Это фаза, где архитектура встречается с реальностью. После аудита у вас будет обоснованное представление о вашем техническом фундаменте: что можно оставить, что нужно менять и где Iceberg может дать пользу немедленно. Всё это вместе с выводами из интервью позволит вам сформулировать требования, которые не только амбициозны, но и практически выполнимы.
4.2 Аудит банка Hamerliva в действии
Теперь, когда мы разобрали принципы всестороннего аудита, посмотрим, как они работают на практике. В этом разделе мы проследим за Hamerliva Bank Incorporated - нашей вымышленной компанией финансовых услуг, - применяющей методику аудита к собственной среде. Их путь - один из примеров процесса аудита. Это не универсальный рецепт, но он показывает, как стратегический и тщательный подход готовит почву для успешного внедрения Iceberg.
Банк Hamerliva сталкивается со сложным ландшафтом. Как транснациональная компания, работающая под строгим регулированием и в Европе, и в Северной Америке, он должен балансировать между соответствием требованиям, производительностью и операционной эффективностью. Его платформа обслуживает всё - от аналитики торгов в реальном времени до регуляторной отчётности. Как и многие организации, он борется с разрозненными системами, дорогими конвейерами и барьерами в доступе к данным. Через аудит банк Hamerliva переходит от разрозненного status quo к связному, приоритизированному пониманию того, что должен обеспечивать его будущий lakehouse.
4.2.1 Банк Hamerliva опрашивает свои заинтересованные стороны
Первым шагом аудита в банке Hamerliva было определить и опросить заинтересованные стороны по всей организации. Вместо того чтобы позволить технологиям диктовать архитектуру, начали с людей, которые используют данные: с их потребностей, сложностей и целей.
Инженеры данных высказали серьёзные опасения по поводу того, насколько хрупкими стали текущие конвейеры. Многие критически важные потоки приёма данных опирались на унаследованные ETL-инструменты; даже небольшие изменения схемы требовали ручной работы, замедляя обновления и порождая ошибки. Они также отметили, что сопровождение отдельных локальных и облачных конвейеров в разных регионах дублирует усилия и повышает операционные риски.
Аналитики данных и специалисты по data science сообщили, что получить своевременные и достоверные данные трудно. Аналитики объяснили, что подготовка наборов данных часто означает неформальные, недокументированные изменения, что приводит к расхождениям между отчётами. Специалисты по data science также хотели доступа к потоковым данным в реальном времени, чтобы их модели машинного обучения реагировали быстрее.
Команды комплаенса и безопасности подчеркнули критическую необходимость полных журналов аудита, строгого соблюдения правил локализации данных (например, GDPR для данных из ЕС) и шифрования данных при хранении и передаче. Они также потребовали детальных журналов доступа к данным для соответствия нормативным требованиям, таким как правило SEC 17a-4, предписывающее неизменяемые, пригодные для аудита записи о финансовых транзакциях. Системы без встроенного отслеживания происхождения данных, а также требующие обширной самописной обвязки для выполнения этих обязательств, были отмечены как операционные и комплаенс-риски.
Руководство бизнеса привнесло стратегическую перспективу. Оно хотело более быстрых инсайтов, более быстрых экспериментов и снижения затрат на аналитику. Кроме того, в улучшении доступа к данным и доверия к ним увидели шанс запустить новые клиентские продукты на основе данных.
Команды ИТ и инфраструктуры прояснили эксплуатационные ограничения. Они указали на сложности масштабирования локальных сред и на необходимость гибридной модели развёртывания, связывающей регулируемые локальные данные с облачными аналитическими нагрузками.
Собрав эти разнообразные точки зрения, сведённые в табл. 4.1, банк Hamerliva построил подробную карту и технических проблем, и бизнес-возможностей. Заодно он начал взращивать поддержку в организации, превращая заинтересованные стороны в активных участников преобразования платформы.
Таблица 4.1 Результаты интервью с заинтересованными сторонами
| Группа заинтересованных сторон | Ключевые наблюдения | Отмеченные проблемы |
|---|---|---|
| Инженеры данных | Хрупкие конвейеры с большой долей ручного труда | Сложная эволюция схемы, дублирующие региональные конвейеры, эксплуатационные издержки |
| Аналитики данных и специалисты data science | Медленный и несогласованный доступ к достоверным данным | Нужны более свежие и понятные данные и меньше ручной предобработки |
| Команды комплаенса и безопасности | Высокие требования по локализации данных, шифрованию и происхождению данных | Отсутствие встроенной проверяемости и динамического контроля доступа |
| Руководство бизнеса | Спрос на более быстрые инсайты и снижение затрат на аналитику | Желание создавать новые продукты на данных упирается в низкую гибкость платформы |
| ИТ и инфраструктура | Проблемы масштабируемости и эксплуатационной сложности | Потребность в гибриде облака и локальной инфраструктуры; трудности с унаследованными ресурсами |
4.2.2 Банк Hamerliva проводит аудит своего технологического стека
Получив вводные от заинтересованных сторон, банк Hamerliva перешёл к фазе технического аудита. На этом этапе они не просто перечислили инструменты. Они оценили, как каждая часть их среды поможет или помешает переходу к архитектуре на основе Iceberg.
Их система хранения была фрагментированной. Локальные кластеры HDFS хранили исторические торговые данные, а локальные NAS - записи о поставщиках и комплаенсе. Несколько бизнес-подразделений самостоятельно внедрили облачные хранилища данных, например Snowflake, что привело к дублированию наборов данных и несогласованному управлению. Был также небольшой, но растущий объём в Amazon S3, в основном для более новой аналитики, что говорило о раннем сдвиге к облачным практикам.
Аудит файловых форматов показал существенную зависимость от CSV и JSON, особенно для данных от внешних поставщиков. Часть более новых наборов данных хранилась в Parquet, но многие ценные данные требовали конвертации формата, чтобы полностью воспользоваться приростом производительности от Iceberg.
Что касается фреймворков обработки, стек банка Hamerliva сочетал старое и новое. Apache Spark обслуживал многие пакетные ETL-конвейеры, особенно в европейском подразделении. В США Informatica и NiFi по-прежнему играли ключевую роль в обработке регуляторных данных. Приём данных в реальном времени шёл через Kafka, но данные часто приходили в самописных форматах, плохо стыкующихся с последующей аналитикой.
Системы метаданных и управления данными были столь же фрагментированы. Hive Metastore управлял метаданными схем для локальных сред HDFS, а происхождение данных и сведения для аудита хранились в отдельных импровизированных реляционных базах. Изменения схемы делались вручную и были рискованными, что приводило к периодическим простоям и замедляло поставку.
Наконец, инструменты запросов и BI обнажили разнообразную, но несогласованную экосистему. Dremio и Presto обслуживали исследовательский анализ на сырых data lake и построенные по ним дашборды. При этом Tableau, Power BI и Snowflake были предпочтительными платформами для дашбордов руководства и финансовой отчётности. Дублирование данных и несогласованная семантика между инструментами регулярно порождали путаницу и неэффективность.
Этот технический аудит, сведённый в табл. 4.2, подтвердил многие болевые точки, о которых говорили заинтересованные стороны. Он также показал, насколько масштабными должны быть изменения. Успеха не добиться постепенными улучшениями - потребуется переосмыслить, как организованы и связаны хранение, обработка, управление данными и аналитика.
Таблица 4.2 Результаты технического аудита
| Область | Текущее состояние | Выявленные болевые точки |
|---|---|---|
| Хранение | HDFS, NAS, S3, Snowflake, BigQuery | Фрагментация, дублирование данных, несогласованное управление |
| Файловые форматы | Преобладают CSV и JSON; Parquet в новых системах | Узкие места производительности, повсеместная потребность в стандартизации форматов |
| Фреймворки ETL/ELT | Spark, Kafka, NiFi, Informatica | Зависимость от унаследованных инструментов, разрыв между пакетом и потоком, разнобой в логике преобразований |
| Метаданные и управление | Hive Metastore, реляционные хранилища метаданных | Ручные изменения схем, ограниченное отслеживание происхождения, несогласованность политик |
| Инструменты запросов и BI | Dremio, Presto, Tableau, Power BI, Snowflake | Дублирование данных между инструментами, несогласованная семантика, пробелы в управлении |
4.2.3 Банк Hamerliva обобщает результаты аудита
Собрав мнения заинтересованных сторон и завершив технический аудит, банк Hamerliva свёл выводы в структурированный отчёт. Цель была не в том, чтобы предписать решения или зафиксировать архитектурный выбор, а в том, чтобы прояснить текущее состояние платформы данных и выделить ключевые проблемы, которые должен будет учесть любой будущий проект. Отчёт стал общей точкой отсчёта для согласования внутренних команд и перехода к следующей фазе - определению требований.
Отчёт был разбит на четыре области: хранение, обработка, управление данными и потребление данных. Каждая область соответствовала своему слою платформы данных. Для каждой команда зафиксировала болевые точки, эксплуатационную неэффективность и открытые вопросы, требующие решения до продолжения работ.
В слое хранения задокументировали фрагментированность инфраструктуры. Данные были разбросаны по HDFS, локальным NAS и нескольким облачным хранилищам. Дублирование наборов данных между этими средами вело к несогласованному управлению, более высоким затратам и дополнительным эксплуатационным издержкам. Оставались открытыми вопросы о локализации данных, сложности интеграции и долгосрочной масштабируемости.
В слое обработки данных аудит обнаружил смесь современных и унаследованных инструментов. Spark и Kafka обслуживали часть процессов, но старые ETL-системы всё ещё были встроены в критически важные конвейеры. Команды также запускали и пакетные, и потоковые потоки, что указывало на необходимость более единой стратегии приёма данных и поднимало вопросы о совместимости и эксплуатационной зрелости.
Управление данными и метаданными оказалось одной из самых фрагментированных областей. Определения схем велись несогласованно между Hive Metastore, внутренними базами данных и импровизированной документацией. Изменения схем в основном делались вручную, а отслеживание происхождения данных или применение политик доступа часто означало написание самописных скриптов или согласование между командами. Это создавало трение при аудитах и вызывало опасения в части соответствия требованиям и доверия к данным.
Наконец, слой запросов и потребления страдал от разрастания инструментов и семантической несогласованности. Использовалось несколько движков и платформ бизнес-аналитики (BI), у каждой со своими допущениями и правами. Бизнес-пользователи нередко видели противоречивые представления одних и тех же данных, что вело к дублирующей работе и долгим циклам проверки. Сами по себе эти инструменты работали хорошо, но их интеграция с вышестоящими системами сильно различалась, ограничивая сквозную прозрачность, как показано в выводах, приведённых в табл. 4.3.
Таблица 4.3 Выводы по итогам интервью и аудита
| Область | Ключевые выводы | Проблемы, требующие решения |
|---|---|---|
| Хранение | Фрагментированная инфраструктура: HDFS, NAS и облачные хранилища | Дублирование данных, несогласованное управление, отсутствие ясной долгосрочной стратегии хранения |
| Обработка | Смесь Spark, Kafka, NiFi и Informatica в пакетных и потоковых задачах | Несовместимость инструментов, избыточные конвейеры, ручное согласование схем |
| Управление данными | Метаданные разбросаны по Hive, реляционным БД и ручным процессам | Ручная эволюция схем, сложность аудита, несогласованный контроль доступа |
| Потребление данных | Использование Dremio, Presto, Snowflake, Tableau и Power BI | Семантический дрейф между инструментами, множество копий данных, разный пользовательский опыт |
4.3 От аудита к требованиям: закладываем основу для проектирования
Когда аудит завершён, следующий шаг - перевести его выводы в чёткий набор требований, которые направят проектирование вашего lakehouse на Iceberg. Сейчас не время выбирать инструменты или фиксировать поставщиков. Вместо этого определите, как выглядит успех - технически и организационно, - чтобы позже сравнивать варианты ясно и уверенно.
Центральную роль в этом переводе играют сценарии использования. Они связывают бизнес-цели и архитектурный выбор. Ваш аудит мог вскрыть болевые точки, ограничения и существующие системы, но требования должны отвечать на вопрос, как платформа будет использоваться для создания ценности. Например, «обновление дашбордов быстрее секунды для инвестиционных аналитиков» - это сценарий использования. «Поддержка ночных выгрузок для регуляторного аудита» - другой. Вместе эти сценарии определяют операционные ситуации, которые должна поддерживать ваша архитектура, и задают технические требования для их выполнения.
Разобравшись со сценариями, сопоставьте их с пятью базовыми компонентами lakehouse на Iceberg: хранением, приёмом данных, каталогом, федерацией и потреблением. Для каждого компонента определите конкретные результаты, которые должна обеспечивать ваша платформа данных. Считайте эти результаты своими требованиями - фильтрами для оценки архитектур и инструментов по тому, насколько они отвечают реальным потребностям, а не по спискам функций или заявлениям поставщиков.
Требование может звучать так: «Локализация данных должна обеспечиваться на уровне региона» (результат для хранения) или «Потоковый приём должен поддерживать инкрементальные upsert-операции без простоя» (потребность приёма, связанная со сценарием с низкой задержкой). Формулируйте требования простым языком, группируйте по компонентам и приоритизируйте исходя из бизнес-ценности и трудозатрат на реализацию.
Хорошие требования проясняют проектные компромиссы и обосновывают последующие архитектурные решения. Они связывают приоритеты заинтересованных сторон с конкретными техническими целями и удерживают ваше внедрение Iceberg в фокусе той ценности, которую оно должно принести.
В следующих разделах мы определим такие требования для каждого компонента lakehouse, опираясь на сценарии использования, выявленные в ходе аудита. Эта схема готовит почву для вашего архитектурного чертежа (см. рис. 4.4). В последующих главах мы разберём каждый компонент, рассмотрев инструменты, компромиссы и проектные паттерны, с помощью которых можно воплотить ваш lakehouse в жизнь.

4.3.1 Определение требований к хранению
Хранение - фундамент вашего lakehouse. Оно определяет, где находятся данные и как ими управляют, как к ним обращаются и как они масштабируются со временем. Определяйте требования к хранению по четырём ключевым направлениям: обязательства по соответствию требованиям, ожидания по производительности, ограничения по стоимости и эксплуатационные реалии. Эти факторы направят ваш выбор между облаком, локальной инфраструктурой и гибридом. Формулируйте требования ясно, чтобы поддержать это решение без предвзятости.
Начните с возврата к результатам аудита. Какие системы хранения используются? Как данные распределены по средам? Есть ли системы, жёстко связанные с чувствительными к комплаенсу нагрузками - например, с торговыми данными, подпадающими под региональные правила локализации? Есть ли системы, раздувающие затраты из-за избыточности или отсутствия многоуровневого хранения?
Опираясь на эти наблюдения, начните формулировать требования в терминах результатов. Делайте их конкретными и проверяемыми, но не фиксируйте технологию или поставщика. Например, если аудит выявил регуляторные потребности, требование может звучать так: «Все персональные данные, собранные в ЕС, должны храниться в дата-центрах ЕС». Если беспокоит стоимость, можно написать: «Холодные данные, к которым не обращались 90 дней, должны автоматически переноситься в дешёвое архивное хранилище». Такие требования выражают потребности, а не решения, оставляя свободу реализации в рамках ваших ограничений.
Стоит также взвесить более широкие компромиссы между разными моделями развёртывания:
- Облачное хранилище даёт масштабируемость, эластичность и более простое сопровождение. Сервисы объектного хранения - Amazon S3, Google Cloud Storage и Azure Blob Storage - обладают высокой надёжностью и хорошо сочетаются с архитектурой Iceberg. Если вы хотите упростить управление инфраструктурой или расширить глобальный доступ, облачное хранилище подойдёт. Но оно приносит и новые сложности: плату за исходящий трафик, задержки для некоторых нагрузок и более сложное прогнозирование затрат. Если облачное хранилище - часть вашей архитектуры, отразите эти потребности в требованиях. Например: «Хранилище должно поддерживать многоуровневое и архивное хранение холодных данных», «Все данные должны шифроваться при хранении и передаче» или «Доступ должен быть пригоден для аудита в целях комплаенса и реагирования на инциденты».
- Локальное хранилище остаётся необходимым во многих отраслях, особенно когда суверенитет данных, физический контроль или регуляторные ограничения не подлежат обсуждению. В таких средах фундаментом по-прежнему могут служить системы вроде HDFS или объектные хранилища корпоративного класса (например, MinIO или NetApp). Типичные требования звучат так: «Система должна поддерживать политики WORM (Write Once, Read Many) для соответствия нормативным требованиям» и «Хранилище должно быть доступно из изолированных сетевых зон без выхода в интернет». Локальное хранилище даёт контроль, но требует внутренней экспертизы, первоначальных вложений и плана управления ёмкостью на длительный срок.
- Гибридные модели хранения встречаются всё чаще, но их сложнее всего проектировать и эксплуатировать. Организации используют их, чтобы балансировать контроль, гибкость и регуляторные ограничения. Часть наборов данных они могут держать локально из-за задержек, стоимости или требований комплаенса, а облако использовать для аналитики, эластичности или долгосрочного хранения. Такой подход может окупиться, но он же создаёт больше эксплуатационной работы и мониторинга, чем полностью локальная или полностью облачная архитектура. В гибридных средах требования должны прямо описывать, как взаимодействуют локальные и облачные системы. Например: «Хранилище должно предоставлять единый интерфейс объектного хранилища в облачной и локальной средах» или «Платформа должна поддерживать единые метаданные и интеграцию каталога поверх разнородных бэкендов хранения». Без ясных стандартов на этой границе гибридные архитектуры становятся хрупкими, трудными в диагностике и дорогими в сопровождении.
Задокументировав требования к хранению, приоритизируйте их. Не все требования одинаково срочны. Некоторые могут быть критичны для соответствия требованиям или производительности - например, шифрование и задержка доступа. Другие отражают долгосрочные амбиции - автоматическое многоуровневое хранение и межрегиональная репликация. Разнесите требования по категориям «критично», «желательно» и «на перспективу». Этот шаг поможет вам уверенно вести переговоры с поставщиками и принимать архитектурные решения. Он также даст заинтересованным сторонам понятный способ оценивать компромиссы.
Требования к хранению определят, насколько отказоустойчивым, эффективным и масштабируемым будет ваш lakehouse на Iceberg. Выберете вы облако, локальную инфраструктуру или гибрид - ваша архитектура должна отвечать ясно сформулированным потребностям, а не допущениям и настройкам по умолчанию.
4.3.2 Определение требований к приёму данных
Приём данных - парадная дверь вашего lakehouse, и её стоит описать заранее. Прежде чем выбирать инструменты или задавать целевые значения задержки, определите типы систем-источников, которые вам нужно интегрировать. Заложитесь на разнообразие и сложность этих источников - от реляционных баз данных и API до SaaS-платформ и потоков событий. Добавление или обновление источников часто оказывается самой трудной и трудоёмкой частью приёма данных. Оно требует хорошего понимания поведения систем-источников, структур данных и ограничений на вставку, обновление и удаление.
После того как источники определены, следующий шаг - составить карту паттернов приёма: что приходит пакетами, что работает в реальном времени и как часто каждой команде нужны обновления. Ищите места, где текущие процессы ломаются: конвейеры, падающие при дрейфе схемы, самописные процессы обновления или задачи, тормозящие доставку. Эти находки направят выбор инструментов и помогут спроектировать платформу устойчивой, масштабируемой и отзывчивой к потребностям бизнеса.
Одна из важнейших вещей, которую нужно определить, - насколько свежими должны быть ваши данные. Соблазнительно считать потоковый приём золотым стандартом, но не всем наборам данных нужны конвейеры реального времени и не каждая команда может надёжно их эксплуатировать. Потоковые архитектуры добавляют эксплуатационной сложности: им нужны контрольные точки, восстановление после ошибок, обработка обратного давления и зачастую отдельный набор инструментов помимо пакетных систем. Если внедрить потоковую обработку без настоящей необходимости, вы потратите инженерные силы впустую и возьмёте на себя лишнюю эксплуатационную нагрузку.
Ваши требования должны соответствовать тому, насколько быстро бизнесу нужно принимать решения. Например, если внутренние дашборды обновляются раз в час и пользователям этого достаточно, пакетный приём может оказаться самым простым и экономичным вариантом. Но если некоторым сценариям (обнаружение мошенничества, алгоритмическая торговля или скоринг ML-модели) нужны свежие данные в пределах секунд, задайте эти целевые значения задержки точно. Требование вроде «Потоковые данные должны становиться доступными для запросов в течение 5 секунд с момента поступления события» даёт инженерной команде ясную и проверяемую цель.
Иногда уместна гибридная модель приёма. Apache Iceberg поддерживает и пакетный, и потоковый приём, поэтому ваша платформа может начать с пакетного и по мере необходимости двигаться к почти реальному времени, не перестраивая стек. Продуманное требование может звучать так: «Приём данных должен поддерживать одновременные пакетные и потоковые обновления одной и той же таблицы с транзакционной согласованностью». Это позволит командам со временем повышать свежесть данных, сохраняя стабильность эксплуатации.
Помимо свежести, требования к приёму должны описывать, как ваша платформа обрабатывает эволюцию схемы, запоздавшие данные и исправления. Это типичные сложности развивающихся конвейеров, особенно когда данные поступают от внешних поставщиков или часто обновляемых операционных систем. Требования вроде «Изменения схемы должны распространяться без остановки конвейеров в нижестоящих системах» или «Приём должен поддерживать upsert-операции и вставки с дедупликацией из потоковых источников» помогут сохранить платформу гибкой и надёжной.
Не забывайте про эксплуатационные вопросы. Спросите, кто владеет задачами приёма данных и сопровождает их, какие инструменты вы используете для оркестрации и как организованы мониторинг и оповещения. В средах со множеством команд и конвейеров требования должны охватывать сопровождаемость и интеграцию: «Инструменты приёма должны интегрироваться с оркестратором и поддерживать метаданные о происхождении задач» или «Сбои приёма должны быть прослеживаемыми и порождать оповещения через существующие системы наблюдаемости».
Наконец, обратите внимание на гарантии целостности данных. В зависимости от сценария вам может потребоваться, чтобы конвейеры приёма обеспечивали упорядоченность, идемпотентность или семантику доставки ровно один раз. Если это не определено заранее, такие вещи часто становятся источником ошибок, задержек, сложности, дополнительных затрат или незаметного повреждения данных.
Задокументировав требования к приёму, сгруппируйте их в несколько категорий, балансирующих техническую строгость и бизнес-ценность. Часть требований может быть необходима для регуляторной или операционной корректности, другие со временем станут целями оптимизации. Такая приоритизация поможет оценивать фреймворки приёма - Spark, Flink, Kafka Connect или решения поставщиков - по тому, что действительно важно: по поддержке нужных вам коннекторов к источникам, а не по общим функциям или заявлениям о производительности.
Хорошо продуманная стратегия приёма данных не в том, чтобы выбрать самый новый или мощный инструмент. Она в том, чтобы данные надёжно поступали в ваш lakehouse, чтобы решение было простым в сопровождении и соответствовало тому, как ваша организация принимает решения. С ясными требованиями к приёму вы создадите чертёж движения данных, который поддержит рост без лишней сложности.
4.3.3 Определение требований к каталогу
Каталог - координационный слой lakehouse на Iceberg. Любая операция чтения или записи, инициированная Spark, Flink, Trino или BI-инструментом, обращается к каталогу, чтобы найти таблицы (см. табл. 4.4), разрешить метаданные и провести обновления. Именно это превращает lakehouse из набора файлов в управляемую, пригодную для запросов и постоянно развивающуюся платформу данных.
При этом роль каталога меняется. Традиционно каталоги работали, отслеживая ссылки на файлы метаданных таблиц Iceberg. Более новые реализации отдают метаданные напрямую из собственных управляемых хранилищ, используя файлы метаданных для надёжности или восстановления, а не как основной источник истины. Некоторые коммерческие и открытые каталоги уже работают так, агрегируя состояние таблиц в реляционных или сервисных системах метаданных вместо того, чтобы полагаться исключительно на поиск по файлам.
Каталог находится на пересечении управления данными, параллелизма и совместимости. Выбор подходящего каталога и ясные требования к тому, как он управляет метаданными и отдаёт их, - одно из самых стратегических решений при внедрении Iceberg. Устройство каталога влияет на масштабируемость, эксплуатационную сложность и на то, насколько легко ваш lakehouse сможет развиваться.
Таблица 4.4 Каталоги Iceberg отслеживают метаданные, храня расположение файлов метаданных
| Таблица | Расположение метаданных |
|---|---|
| sales_data_2024 | s3://company-data/warehouse/sales_data_2024/metadata/00004-abcdefg.metadata.json |
| customer_profiles | s3://company-data/warehouse/customer_profiles/metadata/00012-hijklm.metadata.json |
| inventory_snapshots | s3://company-data/warehouse/inventory_snapshots/metadata/00003-nopqrs.metadata.json |
| web_traffic_logs | s3://company-data/warehouse/web_traffic_logs/metadata/00008-tuvwxy.metadata.json |
Одно из самых критичных решений при определении требований к каталогу - нужна ли вам поддержка спецификации Iceberg REST Catalog. Этот стандарт нацелен на повышение совместимости в экосистеме Iceberg; его используют такие проекты, как Apache Polaris, Project Nessie, Lakekeeper и Apache Gravitino, и он поддерживается в AWS Glue Data Catalog, BigLake от Google и OneLake от Microsoft. REST-каталоги предоставляют единообразный API, чтобы движки и инструменты оркестрации могли стандартным способом читать и записывать метаданные. На практике поддержка различается. Некоторые движки поддерживают только чтение или лишь частично поддерживают запись, поэтому проверьте конкретные возможности каждого инструмента в вашей среде, прежде чем полагаться на полную REST-совместимость.
Каталоги, не поддерживающие спецификацию REST, - традиционный Hive Metastore или некоторые интеграции конкретных поставщиков - как правило, менее совместимы. Они всё ещё могут работать с Iceberg в отдельных средах, но их использование с современными движками может потребовать самописных адаптеров и ограничить продвинутые возможности вроде транзакций над несколькими таблицами. Если ваш аудит выявил разнородный набор инструментов или вы хотите разделить хранение и вычисления, каталоги, совместимые с Iceberg REST, скорее всего, подойдут лучше.
Ещё одна ключевая часть требований к каталогу - управление данными. Каталог служит центральной точкой контроля для определения политик доступа на уровне таблиц во всех движках. Поддержка ролевого управления доступом (RBAC) и атрибутного управления доступом (ABAC) - встроенная или через интеграцию с провайдерами идентификации - может упростить и унифицировать управление безопасностью. Не менее важна обнаруживаемость данных: могут ли пользователи найти нужные наборы данных через поиск по метаданным, теги и видимость происхождения? Хорошо управляемый каталог должен и обеспечивать соблюдение прав, и помогать аналитикам, инженерам и специалистам по data science находить и понимать доступные им наборы данных. Примеры требований: «Каталог должен поддерживать интеграцию RBAC с корпоративными системами идентификации» и «Каталог должен предоставлять надёжную систему прав и метаданные с возможностью поиска для повышения обнаруживаемости наборов данных».
4.3.4 Определение требований к федерации
Даже в зрелых средах данных редко бывает так, чтобы все данные лежали в одном месте. Регуляторные ограничения, организационные барьеры и усилия по модернизации обычно оставляют данные разбросанными по облачным хранилищам, локальным реляционным базам и унаследованным средам Hadoop. Вашему lakehouse на Iceberg не обязательно физически консолидировать все данные, но он должен обеспечивать беспрепятственный логический доступ к ним. Здесь и вступают в игру требования к федерации.
Федерация - это способность вашего движка запросов обращаться к данным из множества систем и соединять их в реальном времени, не перемещая и не копируя их предварительно. Термин может также означать то, насколько хорошо ваша платформа подключается к таким источникам: операционным базам, облачным API и сторонним SaaS-платформам. При сильной федерации вы можете дать более целостный опыт работы с данными, избегая сложности, задержек и затрат на централизацию каждого набора данных.
Ваш аудит должен показать, зависят ли ключевые нагрузки от данных, разбросанных по разным средам. Например, аналитики могут брать профили клиентов из операционной базы и соединять их с аналитическими данными в Iceberg. Это явный признак того, что вам нужен федеративный доступ. Если команды дублируют данные между системами только ради любимого BI-инструмента, федерация может снизить сложность и затраты, дав возможность делать запросы напрямую через границы систем.
Начните с определения того, что в вашей среде значат «связность» и «охват». Например: «Движок запросов должен поддерживать федеративный доступ к Iceberg, JDBC-совместимым базам данных и облачным объектным хранилищам». Как минимум ваша платформа должна подключаться к каждой системе, выявленной в аудите, будь то SQL-хранилища, NoSQL-системы или файловые объектные хранилища.
Федерация - это больше, чем связность. Чтобы она была эффективной, платформе нужна семантическая согласованность. Это значит наличие семантического слоя, где наборы данных смоделированы, управляемы и описаны понятным бизнес-пользователям образом. Одни движки запросов дают это нативно; другие интегрируются с внешними семантическими слоями вроде Semantic Layer от dbt или инструментов AtScale и Cube. Ваше требование может звучать так: «Движок запросов должен предоставлять единую семантическую модель поверх федеративных источников» или «Интеграция семантического слоя должна обеспечивать согласованные определения метрик для наборов данных в Iceberg и Snowflake».
Производительность - ещё один ключевой фактор при оценке возможностей федеративных запросов. Федерация полезна лишь тогда, когда запросы остаются интерактивными и предсказуемо масштабируются с ростом объёмов данных. Для таблиц Iceberg производительность во многом достигается за счёт планирования запросов на основе метаданных, отсечения файлов и векторизованного выполнения в движке. Для не-Iceberg источников производительность обычно упирается в то, насколько эффективно можно перемещать и обрабатывать данные через границы систем.
Не предписывайте конкретную технологию. Вместо этого формулируйте требования вокруг результатов: доступ с низкой задержкой, быстрая обработка в памяти и минимальное перемещение данных при выполнении запроса. Многие движки достигают этого за счёт поколоночных векторизованных моделей исполнения и оптимизированных протоколов обмена данными, таких как Apache Arrow. На практике требования лучше звучат так: «Федеративные запросы должны обеспечивать интерактивную производительность и для Iceberg, и для внешних источников» или «Платформа должна минимизировать перемещение данных и накладные расходы на сериализацию при запросах к не-Iceberg системам».
Оцените также, как движок работает с ускорением запросов, особенно при обращении к удалённым или разнородным источникам. Поддерживает ли он кеширование результатов, материализованные представления, динамическое отсечение? Умеет ли он проталкивать фильтры, соединения или агрегации в системы-источники? Некоторые платформы предлагают ускорение поверх нескольких источников, применяя оптимизации даже когда один запрос охватывает Iceberg и внешние системы. Требование может звучать так: «Ускорение запросов должно работать поверх федеративных источников без ручной материализации».
Ваша стратегия федерации должна учитывать и интерфейсы, и программные интерфейсы (API). Современный движок запросов должен предоставлять стандартные интерфейсы доступа к данным, чтобы работать с BI-инструментами, ноутбуками и приложениями. Сюда входят драйверы JDBC/ODBC, REST API для выполнения запросов и управления платформой, а также более новые протоколы вроде Apache Arrow Flight и ADBC для высокопроизводительного доступа. Можно написать: «Платформа должна поддерживать протоколы JDBC/ODBC, REST и Arrow Flight для всех федеративных наборов данных».
Наконец, подумайте, как организованы автоматизация и эксплуатационное управление. Федерация добавляет архитектурной сложности, поэтому платформа должна помогать держать её под контролем за счёт разумного масштабирования ресурсов, автоматической синхронизации метаданных и применения политик. Требования здесь могут быть такими: «Федеративные запросы должны автоматически оптимизироваться и маршрутизироваться исходя из расположения данных и производительности источника» и «Платформа должна поддерживать автомасштабирование и мониторинг федеративных запросных нагрузок».
Вместе эти требования позволяют вашему lakehouse на Iceberg подключаться к более широкой экосистеме данных, не жертвуя производительностью, управляемостью или пользовательским опытом. Федерация нужна не просто для удобства; она про построение единой аналитической платформы, отражающей реальность того, как ваша организация хранит и использует данные. Ясные требования к федерации и интеграции также позволяют командам обращаться к данным и анализировать их там, где они лежат, закладывая при этом основу для будущей консолидации и упрощения.
4.3.5 Определение требований к потреблению
Последняя категория охватывает то, как люди получают доступ к данным и используют их - через BI-инструменты, интерактивные запросы или процессы машинного обучения. Эти потребности напрямую связаны с пользовательским опытом и производительностью запросов.
Ваш аудит должен показать, от каких инструментов зависят пользователи и как они используют данные сегодня. Медленно ли обновляются дашборды? Полагаются ли аналитики на выгруженные вручную наборы данных для моделирования? Единообразно ли управляется доступ между командами?
Используйте эту информацию, чтобы сформулировать требования к потреблению, например: «Пользователи должны иметь возможность безопасно обращаться к данным из локальных ноутбуков вне корпоративной сети» или «Lakehouse должен поддерживать безопасные межрегиональные запросы, включая доступ аналитиков из США к наборам данных, хранящимся в ЕС».
Учитывайте и совместимость. Если ваши пользователи работают в Dremio, Trino и Snowflake, платформа должна обеспечивать семантическую согласованность между движками. Требования должны описывать, какие инструменты и интерфейсы нужны пользователям, а не только те, которыми они пользуются сейчас.
4.4 Банк Hamerliva определяет свои требования
Проведя аудит технической среды и приоритетов заинтересованных сторон, банк Hamerliva перешёл к следующему шагу: превращению этих выводов в формальный перечень архитектурных требований. Эти требования не предписывают конкретных технологий или инструментов, а задают критерии для оценки будущих проектных решений по пяти ключевым компонентам lakehouse на Iceberg: хранению, приёму данных, каталогу, федерации и потреблению (см. рис. 4.5).

4.4.1 Требования к хранению
Аудит банка Hamerliva показал, что его система хранения крайне фрагментирована. Данные были разбросаны по локальным кластерам HDFS, системам NAS и нескольким облачным хранилищам. Требования комплаенса - прежде всего GDPR в ЕС и правила SEC в США - означали, что определённые наборы данных должны оставаться физически разделёнными по географии. При этом дублирование хранения между регионами и системами раздувало затраты и сложность.
Чтобы закрыть эти потребности, банк Hamerliva сформулировал требования с упором на соответствие нормам, согласованность и совместимость:
- «Все регулируемые данные, собранные в ЕС, должны оставаться в локальных хранилищах, привязанных к региону».
- «Системы хранения должны предоставлять S3-совместимые API для интеграции со всеми движками запросов и фреймворками приёма данных».
- «Холодные данные старше 60 дней должны допускать перенос в архивный уровень хранения, оставаясь доступными для запросов через метаданные Iceberg».
Эти требования дали ясную оптику для сравнения поставщиков локальных объектных хранилищ и оценки того, осуществимы ли гибридные облачные развёртывания без ущерба для соблюдения нормативных требований.
4.4.2 Требования к приёму данных
Банк Hamerliva использовал и пакетные, и потоковые конвейеры данных. Аудит выявил операционную разрозненность и несогласованный набор инструментов между регионами. Приём данных в реальном времени был критически важен для команд алгоритмической торговли, тогда как задачи комплаенса и финансовой отчётности были в основном пакетными и менее чувствительными к задержкам.
Чтобы закрыть обе потребности, они разработали двухрежимную стратегию приёма с точечными требованиями:
- «Потоковый приём должен обрабатывать запоздавшие события и обеспечивать согласованное обновление записей, когда одна и та же логическая сущность поступает несколько раз, сохраняя детерминированный результат при параллельных и повторных записях».
- «Пакетные задачи должны выполняться каждую ночь и оркестрироваться через Apache Spark, интегрированный с существующими DAG в Airflow».
- «Все конвейеры приёма должны поддерживать эволюцию схемы и порождать метаданные о происхождении данных для регистрации в каталоге».
Эти требования подчеркнули потребность в гибких инструментах приёма, способных подстраиваться под меняющиеся нагрузки, сохраняя целостность и прослеживаемость данных.
4.4.3 Требования к каталогу
Слой метаданных был фрагментирован между Hive Metastore, электронными таблицами и внутренними реляционными базами. Ручные изменения схем, ограниченное версионирование и несогласованный контроль доступа были постоянными болевыми точками.
Чтобы унифицировать метаданные и повысить управляемость, банк Hamerliva сформулировал следующие требования:
- «Каталог должен поддерживать спецификацию Iceberg REST Catalog для обеспечения совместимости со всеми движками запросов».
- «Должна быть включена версионируемая эволюция схемы с поддержкой отката и указанием авторства всех изменений».
- «Каталог должен поддерживать RBAC для прав на уровне наборов данных и интегрироваться с корпоративными провайдерами идентификации (например, Active Directory)».
По этим критериям банк Hamerliva смог отобрать варианты каталогов (Polaris, Nessie или AWS Glue) исходя из функциональности и совместимости с моделью управления данными, а не из известности имени или сложившейся практики.
4.4.4 Требования к федерации
Даже начав консолидировать нагрузки, банк Hamerliva по-прежнему имел множество наборов данных, разбросанных по разным системам. Командам часто приходилось дублировать данные или вручную преобразовывать выгрузки, чтобы связать среды.
Поэтому их требования к федерации делали упор на совместимость и единый доступ:
- «Движки запросов должны поддерживать федеративный доступ к таблицам Iceberg, бакетам S3 и локальному HDFS без дублирования данных».
- «Платформа должна предоставлять общий семантический слой для определения переиспользуемой бизнес-логики в федеративных запросах».
- «Федеративные запросы должны единообразно применять контроль доступа на уровне строк и столбцов ко всем источникам».
Это позволило банку Hamerliva оценивать движки вроде Dremio и Trino не только по работе с Iceberg, но и по способности запрашивать его вместе с унаследованными и операционными хранилищами данных, не ослабляя управление данными.
4.4.5 Требования к потреблению
Самые серьёзные проблемы, вскрытые аудитом, были в потреблении данных. Дашборды страдали от всплесков задержек, а семантика различалась между инструментами. В результате аналитики часто строили теневые конвейеры, чтобы обойти эти ограничения. Требования к потреблению были нацелены на создание согласованного, производительного и управляемого опыта для всех потребителей данных.
Ключевые требования включали следующее:
- «Интерактивные дашборды должны возвращать результаты запросов в течение 5 секунд для типичных аналитических нагрузок».
- «Движки запросов должны применять политики доступа на уровне строк, заданные в каталоге и согласованные с корпоративными ролями».
- «Платформа должна предоставлять стандартные программные и SQL-интерфейсы доступа, необходимые нижестоящим инструментам, включая поддержку поколоночного обмена данными там, где инструменты от него зависят».
- «Специалисты по data science должны иметь возможность обращаться к таблицам Iceberg и анализировать их в процессах на Python с помощью инструментов и библиотек, принятых в организации».
С учётом этих требований банк Hamerliva смотрел не только на то, умеет ли инструмент делать запросы к Iceberg. Инструмент также должен был поддерживать аналитиков, бизнес-пользователей и специалистов по data science с согласованной семантикой и правилами безопасности.
4.4.6 От требований к проектированию
Вместе эти требования стали фундаментом процесса архитектурного проектирования в банке Hamerliva. Они не сняли всех открытых вопросов, но дали команде ясные и проверяемые критерии для оценки инструментов, поиска компромиссов и удержания решений в согласии с бизнес-целями и ожиданиями заинтересованных сторон. Что важнее, они задали общий язык и направление, благодаря чему команды инженерии, управления данными и аналитики смогли двигаться вперёд вместе. В следующих главах мы пройдём по каждому компоненту lakehouse на Iceberg и посмотрим, как разные инструменты отвечают этим и другим требованиям.
4.5 Архитектурный план и презентационный тур
Когда у вас есть полный набор требований, следующий шаг внедрения Iceberg - архитектурное планирование. На этом этапе вы примете ключевые решения: выберете технологии, определите стратегии федерации и опишете, как компоненты вашего lakehouse будут работать вместе ради ваших целей.
Однако архитектурный план - это не просто техническая схема. Он рассказывает историю о том, как будет развиваться ваша платформа, какие компромиссы вы приняли и как этот выбор согласуется с приоритетами заинтересованных сторон. Чтобы добиться успеха, нужно ясно донести план и добиться, чтобы его подтвердили команды, которые будут его строить, эксплуатировать или испытывать его влияние. Иначе говоря, внедрение начинается с согласования, а не с изменений в инфраструктуре.
Ваш архитектурный план должен охватывать все пять компонентов lakehouse на Iceberg (хранение, приём данных, каталог, федерацию и потребление) и показывать, как они взаимодействуют. Стремитесь к чертежу, отражающему выводы аудита, а также масштаб вашей организации, её положение в части соответствия требованиям и возможности команд.
Когда план готов, важно широко им поделиться - провести презентационный тур по заинтересованным сторонам. Представьте предлагаемую архитектуру каждой группе, покажите, как она решает их болевые точки и цели, и соберите обратную связь, чтобы доработать проект до начала внедрения. Этот шаг укрепляет доверие, вскрывает слепые зоны и взращивает сторонников в каждом подразделении, делая внедрение более гладким, а сотрудничество - более устойчивым. Посмотрим, как эту фазу прошёл банк Hamerliva.
4.5.1 Банк Hamerliva создаёт свой архитектурный план
С требованиями на руках банк Hamerliva перешёл к фазе архитектурного планирования. Это не была работа одной команды данных. Это была скоординированная работа межфункциональной группы из инженеров платформ, архитекторов данных, специалистов по комплаенсу и руководителей аналитики. Вместе они сформировали план, технически осуществимый, отвечающий регуляторным требованиям и соответствующий реальным сценариям использования.
Задачей группы было спроектировать промышленную архитектуру lakehouse на Iceberg, которая закроет ближайшие потребности компании, оставив пространство для развития. Они стремились к системе современной и сопровождаемой, которая упростит операции с данными при соблюдении ограничений управления и сделает аналитику более отзывчивой в масштабах всей компании.
Вместо того чтобы бросаться выбирать инструменты, они вернулись к пяти ключевым компонентам lakehouse на Iceberg и сопоставили свои требования с архитектурными паттернами и технологиями. Каждое решение они взвешивали с точки зрения компромиссов по стоимости, контролю, производительности и сложности интеграции.
Хранение
Банк Hamerliva выбрал гибридную модель хранения как основу своего lakehouse. Amazon S3 назначили основным объектным хранилищем для аналитических нагрузок, особенно для данных, которым важны эластичность, масштабируемость и близость к облачным вычислениям. Чтобы удовлетворить требования локализации данных и регуляторные нормы, прежде всего GDPR и правило SEC 17a-4, они развернули кластеры MinIO локально в своих европейских и американских дата-центрах. Эти экземпляры MinIO давали S3-совместимое объектное хранилище с дополнительным преимуществом локального контроля, изолированных от сети сред и шифрования данных при хранении.
Приём данных
Для перемещения и подготовки данных банк Hamerliva принял двухрежимную стратегию приёма, согласованную с существующей инфраструктурой и разнообразными источниками данных. Apache Spark сохранили для пакетных процессов, оркеструемых через Apache Airflow, чтобы обрабатывать структурированные отчётные данные, журналы комплаенса и исторические записи о сделках.
Для приёма, близкого к реальному времени, ввели Apache Flink и Kafka Connect, чтобы обрабатывать высокочастотные потоки: биржевые тики и события заявок. Эти конвейеры непрерывно записывают новые записи в таблицы Iceberg, позволяя нижестоящим системам обращаться к свежим данным с минимальной задержкой. Процессы обновления и исправления обрабатываются контролируемыми пакетными заданиями, что обеспечивает согласованность данных без опоры на семантику удалений на стороне потоковой обработки, которую трудно гарантировать между движками.
Такой подход балансирует простоту и корректность: потоковый приём используется для высокопроизводительных нагрузок, состоящих преимущественно из добавлений, а более сложная логика обновления и сверки остаётся за пакетными задачами, где проще организовать проверку, аудит и восстановление.
Интеграция API, SaaS-платформ и операционных баз данных сложна, поэтому банк Hamerliva добавил инструмент на основе коннекторов, чтобы упростить подключение новых источников. Команда рассматривала такие инструменты, как Fivetran, Airbyte и Qlik, для автоматизации приёма из распространённых приложений, облегчая жизнь и инженерам данных, и предметным командам. Этот многослойный подход позволил банку модернизироваться постепенно, не останавливая повседневную работу.
Каталог
Команда выбрала Apache Polaris в качестве центрального сервиса метаданных и каталога. Polaris поддерживает спецификацию Iceberg REST Catalog - критическое требование для совместимости движков и управления таблицами через API. Он также предлагает нативный RBAC и интегрируется с существующим провайдером идентификации банка Hamerliva. Поскольку Polaris работает и в локальных, и в облачных средах, у команды появилось единое место для просмотра наборов данных и управления ими, где бы те ни находились. Путешествия во времени и атомарный журнал коммитов дополнительно укрепляют надёжность и прослеживаемость платформы.
Федерация
Для федеративных запросов и объединения данных между системами банк Hamerliva стандартизировался на Dremio как основном движке запросов. Благодаря нативному для Iceberg ускорению, моделированию семантического слоя и исполнению на основе Apache Arrow, Dremio поддерживал и высокопроизводительную аналитику, и удобное для пользователей исследование данных. Он мог федерировать запросы к S3, HDFS и реляционным системам, помогая банку минимизировать дублирование данных и поддерживать аналитические сценарии, охватывающие несколько предметных областей. Он также предоставлял REST API и эндпоинты Arrow Flight, закрывая требования к федерации и для разработчиков приложений, и для специалистов по data science.
Потребление
Для бизнес-пользователей Tableau интегрировали с Dremio через стандартные ODBC-коннекторы. Такая связка обеспечила управляемую самообслуживаемую BI-аналитику с низкими задержками для ad hoc отчётности и дашбордов руководства. Dremio выступал основным движком запросов для этих нагрузок, применяя одни и те же семантические определения и правила доступа во всех дашбордах.
Специалистам по data science банк Hamerliva предоставил доступ к таблицам Iceberg через специализированные аналитические движки и процессы на Python, а не через прямые манипуляции с таблицами. Курируемые наборы данных Iceberg открывались через движки запросов, оптимизированные под интерактивную и пакетную аналитику. Это позволяло пользователям ноутбуков исследовать данные, конструировать признаки и обучать модели машинного обучения без самописных ETL-выгрузок. Типичные сценарии включали сегментацию клиентов и конвейеры обнаружения мошенничества, которым нужен своевременный и согласованный доступ к данным на уровне транзакций.
На всех путях потребления семантический слой Dremio сохранял согласованность определений, а Polaris применял правила доступа во время выполнения запроса. В результате нагрузки BI, аналитики и data science работали на общем управляемом представлении данных, не привязывая пользователей к единственному способу доступа или движку исполнения.
Рассмотрение итогового плана
Приняв решения по каждому компоненту, группа собрала исчерпывающее руководство по архитектуре. Этот документ выходил за рамки технических спецификаций и включал следующее:
- Сквозные схемы потоков данных и топологии систем
- Стратегии многоуровневого хранения в S3 и MinIO
- Карту зарегистрированных в каталоге наборов данных с указанием регуляторной классификации
- Карты происхождения данных, показывающие, как конвейеры приёма связаны с аналитическими результатами
- Поэтапный план миграции, приоритизирующий наборы данных по частоте обращения, чувствительности и сложности преобразований
- Резервные процедуры, включая варианты действий при отказах каталога или движка
- План управления изменениями для вывода из эксплуатации унаследованных ETL-задач и перевода пользователей на новые инструменты
Банк Hamerliva представил этот план как предложение, а не как окончательную директиву, и ясно дал понять, что открыт к обсуждению и правкам. Это показало заинтересованным сторонам, что их мнение важно и что развёртывание будет формироваться в постоянном сотрудничестве. Руководство по архитектуре было написано ясным языком, с пояснениями и иллюстрациями и для технической, и для нетехнической аудитории - в подготовке к последовавшему презентационному туру.
Этот план, обобщённый на рис. 4.6, служил эталонной архитектурой, связывающей технические компоненты с результатами для пользователей. PyIceberg, нативная библиотека Iceberg для Python, была важна тем, что позволяла ноутбукам и конвейерам машинного обучения читать и записывать таблицы Iceberg напрямую из Python. Это означало, что специалисты по data science могли исследовать признаки, собирать наборы данных и обучать модели без дополнительных ETL-шагов. Включение ИИ-агентов в проект указывало на зарождающиеся сценарии - автоматическое обнаружение аномалий и системы рекомендаций реального времени, которым нужен быстрый управляемый доступ к курируемым наборам данных. Обсуждение проекта с заинтересованными сторонами помогло командам проверить допущения, добиться согласованности и уточнить план внедрения. Время, вложенное в межфункциональное планирование, обеспечило и хорошую архитектуру lakehouse, и его поддержку по всей организации.

4.5.2 Банк Hamerliva проводит презентационный тур
С надёжным архитектурным планом на руках банк Hamerliva сосредоточился на одной из важнейших и часто упускаемых фаз модернизации платформы - презентационном туре. Эта фаза была не просто разбором технического проекта; она была нужна, чтобы добиться согласованности, укрепить доверие и дать голос каждой группе заинтересованных сторон до начала внедрения.
Тур построили как серию адресных брифингов под конкретные роли. Каждую встречу подстраивали под интересы и обязанности аудитории, подчёркивая, что это совместная работа, а не директива сверху. Сессии провели с инженерами данных, бизнес-аналитиками, специалистами по data science, сотрудниками комплаенса, командами ИТ-эксплуатации и руководством. Цель была в прозрачности, в выявлении неожиданных опасений и в появлении ранних сторонников новой платформы.
Каждый брифинг начинался с напоминания контекста: целей, выявленных в ходе аудита, ограничений, определённых при сборе требований, и более широкой бизнес-мотивации перехода на Apache Iceberg. Затем докладчики проходили по соответствующим разделам архитектурного плана. Например:
- На сессиях с комплаенсом и управлением рисками команда разбирала обязательства по GDPR и правилу SEC 17a-4. Затем показывала, как гибридная архитектура хранения с кластерами MinIO для региональной локализации данных вместе с поддержкой RBAC в Polaris сохранит, а во многих случаях и улучшит соответствие нормативным требованиям.
- На встречах с командами инженерии данных фокус смещался на стратегию приёма данных. Схемы показывали, как сохранятся существующие конвейеры Spark, как для сценариев реального времени будет введён Flink и как такие инструменты, как NiFi и Informatica, будут выводиться из эксплуатации по поэтапному плану миграции. Инженерам поручили проверить допущения о зависимостях конвейеров и передаче данных между задачами.
- Для бизнес-аналитиков и специалистов по data science сессии были посвящены улучшению обнаруживаемости, свежести и доступности данных. Команда демонстрировала, как семантический слой Dremio унифицирует определения метрик между инструментами, как скрытое партиционирование Iceberg повысит производительность дашбордов и как специалисты по data science получат доступ к Arrow Flight для программных сценариев.
На каждой сессии руководство по архитектуре служило общей точкой опоры. Это был не статичный документ, а живой справочник. Участников поощряли комментировать, критиковать и изучать его прямо в ходе обсуждения. Модераторы также спрашивали, соответствуют ли предлагаемые изменения реальным рабочим процессам и где сохраняется эксплуатационное трение.
Эти обсуждения привели к нескольким содержательным уточнениям:
- Команда аналитики захотела получить ранний доступ к курируемым наборам данных в S3, чтобы ускорить разработку прототипов. Это привело к перестановке приоритетов фаз миграции: наиболее востребованные дашборды вынесли в начало графика развёртывания.
- Сотрудники комплаенса попросили усилить контроль аудита метаданных. В результате архитектурная команда добавила в Polaris возможности экспорта журналов и мониторинга и запланировала интеграцию журналов аудита с внутренними системами управления событиями и информацией безопасности (SIEM).
- ИТ-эксплуатация обозначила опасения по поводу управления затратами на гибридное хранение. Руководство по архитектуре дополнили стратегиями многоуровневого хранения и эксплуатационными SLA для оповещений о ёмкости и автоматических политик жизненного цикла.
Эти сессии улучшили план и обеспечили поддержку. Заинтересованные стороны увидели, что их мнение воспринимают всерьёз, и стали ощущать ответственность за успех плана. В нескольких командах участники вызвались стать связующими звеньями перехода - коллегами, которые останутся вовлечёнными в процесс внедрения, помогут другим освоиться и будут решать межфункциональные вопросы в ходе развёртывания.
К концу тура банк Hamerliva добился большего, чем просто серии презентаций для разных команд: он выстроил межфункциональную согласованность. Каждое подразделение понимало обоснование изменений, масштаб предстоящего и свою роль в преобразовании. Что важнее, каждое видело, как предлагаемый lakehouse напрямую улучшит его работу.
В следующих главах мы подробно рассмотрим каждый из пяти компонентов lakehouse на Iceberg. Мы разберём компромиссы, проектные паттерны и варианты инструментов, которые помогут вам сделать лучший выбор для вашей организации, начиная с фундамента - хранения.
Итоги
- Переход на lakehouse на основе Apache Iceberg предполагает принятие стратегических решений, укоренённых в реальных потребностях вашей организации.
- Проведите структурированный аудит текущей архитектуры данных, переведите его выводы в применимые требования и постройте архитектурный план, согласованный с заинтересованными сторонами.
- Вовлекайте заинтересованные стороны из разных ролей и функций, чтобы выявить технические и организационные потребности.
- Документируйте и классифицируйте ваши текущие инструменты, системы хранения и практики управления данными.
- Прежде чем переходить к внедрению, критически важно достичь согласия и ясности во всех подразделениях.
- Презентационный тур формирует общее понимание и обратную связь, способные превратить предложенную архитектуру в межфункциональную инициативу, снижая трение и обеспечивая долгосрочную поддержку.