В отличие от каменных зданий, архитектуры данных постоянно меняются. Сегодня рассмотрим новую архитектурную модель под названием BigLake, выпущенную Google весной 2022 года. Что это такое, как устроено, чем похоже на Lakehouse, озеро данных и Data Mesh, а также чем от них отличается и какую пользу несет для конвейеров аналитики Big Data.
Что такое BigLake
Чтобы объединить преимущества архитектурной модели Lakehouse с облачным озером данных (Data Lake) и классическим DWH на BigQuery, позволяя создавать Data Meshe и реализовывать data-driven управление, корпорация Google выпустила BigLake. Созданный на основе BigQuery, BigLake представляет собой механизм хранения, который позволяет унифицировать хранилища данных и озера с унифицированным детальным контролем доступа и высокой производительностью запросов в мультиоблачных хранилищах и открытых форматах.
BigLake устраняет необходимость предоставлять конечным пользователям доступ на уровне файлов: политики безопасности можно применять на уровне таблиц, строк и столбцов хранилища объектов, аналогичного BigQuery. Унифицированная аналитика больших данных обеспечивается за счет единого доступа к ним в Google Cloud и механизмах с открытым исходным кодом, включая BigQuery, Vertex AI, Dataflow, Spark, Presto, Trino и Hive с помощью коннекторов BigLake. А централизованное управление политиками безопасности и их применение во всех механизмах запросов реализуется с API коннекторов.
Таблицы BigLake получают доступ к данным Google Cloud Storage с помощью ресурса подключения. Ресурс подключения может быть связан с одной таблицей или произвольной группой таблиц в проекте. Помимо таблиц BigLake, вы также можете выбрать такие источники, как Cloud SQL, AWS или Azure, для выполнения анализа данных на разных облачных платформах. Таким образом, можно получить доступ к внутреннему хранилищу Google, а также к кросс-платформенным данным в Microsoft Azure, AWS или BigQuery с помощью SQL без необходимости их кэширования и дублирования в разных средах. Это облегчает практическую реализацию новой гибридной архитектуры Lakehouse, которая сочетает лучшие элементы озер и хранилищ данных. А Google Analytics Hub и возможность контролировать доступ к данным позволяют внедрить подход Data Mesh и усилить управление данными.
BigLake отделяет доступ к таблице от базовых данных облачного хранилища посредством делегирования безопасного доступа на уровне строк и столбцов пользователям и конвейерам обработки данных, не предоставляя им полный доступ к самой таблице. После создания таблицы BigLake можно выполнять запросы к ней так же, как и к другим таблицам BigQuery. Напомним, BigQuery обеспечивает контроль доступа на уровне строк и столбцов: каждый пользователь видит только ту часть данных, которую ему разрешено просматривать. Политики управления применяются при любом доступе к данным через API BigQuery, который недоступен в облачных средах AWS и Azure. Но именно BigQuery Storage API позволяет пользователям получать доступ к авторизованным данным с помощью механизмов запросов с открытым исходным кодом, таких как Apache Spark. Как это устроено, рассмотрим далее.
Как устроен новый механизм хранения данных от Google
Поскольку таблицы BigLake в хранилищах объектов предназначены для упрощения модели доступа для таблиц, подключенных к ним, рекомендуется использовать именно таблицы BigLake для создания и поддержания подключений к этим хранилищам объектов. Допустимо применять внешние таблицы в тех случаях, когда управление не является обязательным, или для специального обнаружения данных и манипулирования ими. На таблицы BigLake в хранилищах объектов распространяются те же ограничения, что и на таблицы BigQuery. В частности, BigLake не поддерживает аутентификацию персонального кластера Dataproc, а учетные данные пользователя должны передаваться с помощью параметра gcpAccessToken. Альтернативой является использование учетной записи службы виртуальной машины (VM) Dataproc в качестве прокси для групп пользователей.
Таблицы BigLake доступны только для чтения: их нельзя изменять с помощью операторов DML или других методов. Таблицы BigLake поддерживают следующие пять форматов: AVRO, CSV, JSON, ORC и Parquet. Аналитики данных обычно имеют роль пользователя BigQuery и могут читать данные и выполнять запросы. Однако, дата-аналитики не должны иметь возможности считывать объекты непосредственно из облачного хранилища, чтобы не нарушать ограничения доступа, установленные администраторами хранилища данных. Также не рекомендуется привязывать таблицы к подключениям, т.к. это чревато риском создания новых таблиц BigLake без контроля доступа.
В целом в BigLake сохраняется классическая модель обеспечения информационной безопасности:
- администраторы озера данных отвечают за политики управления идентификацией и доступом (IAM) для сегментов и объектов Cloud Storage;
- администраторы хранилища данных создают, удаляют и обновляют таблицы BigLake с ролями IAM администратор BigQuery или владелец данных BigQuery;
- за подключение к хранилищу отвечает администратор подключения BigQuery.
Администраторы озера данных несут ответственность за предоставление прав на чтение соединениям, которыми управляют администраторы хранилища данных. В свою очередь, администраторы хранилища данных определяют таблицы BigLake, устанавливают соответствующие элементы управления доступом, например, безопасность столбцов и строк, и предоставляют доступ к таблицам BigLake аналитикам данных.
Таблицы BigLake совместимы с Analytics Hub. Наборы данных, содержащие таблицы BigLake, можно публиковать в виде списков Analytics Hub. Подписчики Analytics Hub могут подписаться на эти списки, которые предоставляют доступный только для чтения набор данных, называемый связанным набором данных, в своем проекте. Подписчики могут запрашивать все таблицы в связанном наборе данных, включая все таблицы BigLake. В заключение отметим, что в проектах Data Science можно совместно использовать BigQuery ML с BigLake в облачном хранилище, чтобы обучать и запускать модели Machine Learning.
Как внедрить современные архитектурные модели в свои ИТ-проекты аналитики больших данных, вы узнаете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:
Источники