BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Глубокое погружение в новые таблицы Amazon S3

Глубокое погружение в новые таблицы Amazon S3

На конференции AWS re:Invent 2024 компания AWS представила таблицы Amazon S3, специализированное решение для масштабируемого хранения и управления табличными данными на основе стандарта Apache Iceberg. Прежде чем погрузиться в изучение таблиц Amazon S3, необходимо понять, что такое «формат открытых таблиц» и Apache Iceberg.

 

Что такое формат открытых таблиц (OTF)?

В традиционных базах данных процесс создания данных для чтения обычно включает в себя установку программного обеспечения базы данных, создание базы данных, определение схем и таблиц или внешних таблиц, а затем чтение данных из них. В отличие от этого, при использовании открытого формата таблиц данные хранятся непосредственно в файловых форматах, таких как Apache Parquet, Apache ORC или Apache Avro, в рамках озера данных. Вместо того чтобы загружать данные в традиционную базу данных, формат открытых таблиц позволяет организовывать и управлять этими файлами как виртуальными таблицами, которые фактически находятся поверх каталогов файлов.

Для упрощения работы с запросами можно использовать систему каталогов, например AWS Glue Catalog, которая регистрирует эти виртуальные таблицы, позволяя таким механизмам запросов, как Apache Spark, Trino или AWS Athena, беспрепятственно получать доступ к данным и обрабатывать их. Среди доступных форматов открытых таблиц наиболее широко распространены Apache Iceberg, Delta Lake и Apache Hudi. Эти форматы высоко ценятся за их производительность, масштабируемость и расширенные возможности, включая поддержку запросов с временным перемещением и эволюцию схемы.

 

Apache Iceberg

Apache Iceberg - это формат таблиц с открытым исходным кодом для больших наборов данных в озерах данных, в котором добавлена поддержка ACID-транзакций, эволюции схемы и запросов с перемещением во времени. Он помогает  управлять данными в облачных системах хранения, таких как AWS S3 (тип бакета - general purpose), делая озера данных похожими на традиционные базы данных с улучшенной производительностью, целостностью данных и гибкостью для аналитических рабочих нагрузок.

До сих пор существовало только два типа бакетов S3: оригинальный бакет общего назначения и бакет с каталогом, связанный с S3 Express, представленный на re:Invent 2023, который имеет более высокую производительность и поддерживает иерархическое хранение данных. Третий тип бакета, представленный на re:Invent 2024, - Amazon S3 Table Bucket.

 

 

Таблицы Amazon S3

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

При использовании таких таблиц данные хранятся в специальном типе бакета S3, называемом табличным бакетом, в котором таблицы организованы как подресурсы. Эти бакеты поддерживают формат Apache Iceberg, что позволяет легко управлять данными и выполнять к ним запросы.

Вы можете использовать стандартный SQL для запросов к этим таблицам с помощью таких популярных инструментов, как Amazon Athena, Amazon Redshift и Apache Spark, что делает аналитику простой и доступной. Таблицы S3 созданы для повышения производительности запросов при сохранении низких затрат на хранение данных.

 

######################
## Create s3 table bucket
########################

aws s3control create-table-bucket \
    --account-id <AWS_ACCOUNT_ID> \
    --bucket-name  data-bucket

######################
## Create Amazon s3 table
########################
aws s3control create-table \
    --account-id <AWS_ACCOUNT_ID> \
    --bucket-name my-table-bucket \
    --table-name my_table \
    --table-type ICEBERG \
    --namespace namespace1

 

Новая таксономия

Пространства имен: Логическая группировка таблиц S3, называемая пространствами имен. Эти пространства имен не являются физическими ресурсами, как таблицы S3 или бакеты таблиц, они представляют собой организационные инструменты, помогающие более эффективно управлять таблицами. Пространства имен облегчают контроль доступа и масштабирование управления данными.

Бакет таблицы S3 & Политики таблицы: Теперь Вы можете писать политики для бакета, таблицы, основанные на ресурсах, и политики для конкретного пространства имен.

ARN таблицы: У каждой таблицы теперь есть свой ARN. Это значит, что теперь Вы можете однозначно идентифицировать их и писать ресурсозависимые политики.

Конечная точка таблиц S3: У нас появилась новая конечная точка интерфейса для таблиц s3, специфичная для каждого региона.

API операций с таблицами S3: Для операционных целей введены новые API: ListTable,CreateTable,GetTableMetadataLocation,UpdateMetadataLocation,DeleteTable

Управление API таблиц S3: Введены новые API для управления PutTablePolicy,PutTableBucketPolicy,PutTableMaintenanceConfig,PutTableBucketMaintenanceConfig

 

Физическая структура файла S3

 

Почему именно таблицы Amazon S3?

Таблицы Amazon S3 сочетают в себе масштабируемость, производительность и управляемость современной системы хранения таблиц. Повышая производительность, обеспечивая безопасность на уровне таблиц и оптимизируя расходы на хранение, они решают основные проблемы управления табличными данными в масштабе, что делает их мощным средством хранения данных.

 

Улучшенная производительность

Таблицы Amazon S3 Tables созданы специально для эффективной обработки аналитических данных. Используя формат Apache Iceberg, таблицы S3 повышают производительность запросов благодаря таким функциям, как обрезка разделов и индексирование метаданных. По сравнению с традиционным самоуправляемым табличным хранилищем:

  • Более быстрое выполнение запросов: таблицы S3 обеспечивает до 3 раз более высокую производительность запросов благодаря оптимизации доступа к данным и их обработки.
  • Поддержка одновременных рабочих нагрузок: Обеспечивают высокопроизводительные операции чтения и записи, поддерживая до 10 раз больше транзакций в секунду.
  • Запросы с перемещением во времени: Получение исторических версий данных с минимальными накладными расходами, что обеспечивает более быстрый и надежный аудит и отладку.

 

Безопасность на уровне таблиц

Управление доступом и разрешениями для табличных данных в озерах данных традиционно было сложным. Таблицы S3 обеспечивают надежные механизмы безопасности:

  • Контроль доступа в зависимости от пространства имен: Группируйте таблицы по пространствам имен (например, HR или Finance) и устанавливайте подробные политики для контроля доступа для различных команд или отделов.
  • Политики на основе ресурсов: Применяйте политики для конкретных ресурсов на уровне таблицы или бакета, чтобы контролировать, кто может читать, записывать или изменять данные.
  • Интеграция с AWS IAM: беспрепятственное управление доступом пользователей с помощью разрешений, связанных с AWS Identity and Access Management (IAM).

 

Оптимизированные затраты на хранение

Таблицы Amazon S3 помогают снизить затраты на хранение и управление большими наборами данных несколькими способами:

  • Эффективное управление метаданными: Древовидная структура метаданных Apache Iceberg сокращает накладные расходы на управление миллионами или миллиардами файлов, что приводит к снижению операционных затрат.
  • Сокращение дублирования: В отличие от традиционных систем, нет необходимости дублировать данные между озерами и хранилищами, что значительно экономит затраты на хранение и обработку.

 

Автоматизированное обслуживание!!!

Вы определяете политику обслуживания для таблицы S3 с помощью API PutTableMaintenanceConfiguration. Политика определяет правила для таких задач, как частота уплотнения, истечение срока действия данных или сохранение снимков.

AWS автоматически применяет все эти политики через регулярные промежутки времени или на основе указанных Вами условий. Процессы обслуживания запускаются без ручного вмешательства, обеспечивая оптимизацию всей таблицы.

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

#########################
#table-maintenance-config.json
########################### 
{   "TableMaintenanceConfiguration": {
    "Compaction": {
      "Enabled": true,
      "MaxFileSizeMB": 128,
      "CompactionFrequencyHours": 24
    },     "SnapshotRetention": {
      "Enabled": true,
      "MaxSnapshots": 5,
      "RetentionPeriodDays": 30
    },     "GarbageCollection": {
      "Enabled": true,
      "OrphanedFileRetentionDays": 7
    }   } } 

aws s3control put-table-maintenance-configuration \
    --account-id <AWS_ACCOUNT_ID> \
    --table-name <TABLE_NAME> \
    --table-maintenance-configuration file://table-maintenance-config.json 
    

Уплотнение

Раздел Compaction определяет настройки для объединения маленьких файлов в большие, что повышает производительность запросов и уменьшает оверхеды на метаданные.Enabled: Указывает, включено ли автоматическое уплотнение или нет. true включает процесс уплотнения.MaxFileSizeMB Указывает целевой максимальный размер уплотненных файлов в мегабайтах. Пример: 128 означает, что файлы будут уплотняться на фрагменты размером до 128 МБ.CompactionFrequencyHours: Устанавливает частоту выполнения процесса уплотнения. Пример: 24 означает, что уплотнение будет происходить раз в 24 часа.

 

SnapshotRetention

Раздел SnapshotRetention управляет политикой сохранения моментальных снимков таблиц, которые используются для запросов с перемещением во времени и версионирования.Enabled: Указывает, включено ли сохранение моментальных снимков. Пример: true включает политику сохранения.MaxSnapshots: Определяет максимальное количество сохраняемых снимков. Пример: 5 означает, что будут сохранены только последние 5 снимков.RetentionPeriodDays: Определяет максимальный возраст (в днях) для сохраняемых снимков.Пример: 30 означает, что снимки старше 30 дней будут автоматически удаляться.

 

GarbageCollection

Секция GarbageCollection обрабатывает очистку «осиротевших» файлов, которые представляют собой файлы данных, на которые больше не ссылается ни один активный снимок.Enabled: Указывает, включена ли сборка мусора. Пример: true включает процесс очистки.OrphanedFileRetentionDays: Указывает, как долго должны храниться осиротевшие файлы перед удалением. Пример: 7 означает, что «осиротевшие» файлы будут храниться в течение 7 дней, прежде чем будут удалены.

 

Контроль доступа к таблицам Amazon S3

Уровень бакета таблицы

{
  "Version": "2012-10-17",
  "Statement": [
    {       "Effect": "AllowBucketAction",
     "Principal": {
     "AWS": "arn:aws:iam::123456789012:role/dataengineer"
    },       "Action": [
        "s3tables:GetTableMetadataLocation",
        "s3tables:GetTableData",
        "s3tables:ListTables",
        "s3tables:GetTableMaintenanceConfig",
        "s3tables:GetTableBucketMaintenanceConfig"
      ],       "Resource": "arn:aws:s3tables:us-east-1:123456789012:bucket/data-bucket/table/*"
    }   ] }

 

Политика контроля доступа на уровне таблицы:

{
  "Version": "2012-10-17",
  "Statement": [
    {       "Effect": "AllowTableAction",
     "Principal": {
     "AWS": "arn:aws:iam::123456789012:role/dataengineer"
    },       "Action": [
        "s3tables:GetTableMetadataLocation",
        "s3tables:GetTableData"
       ],       "Resource": "arn:aws:s3tables:us-east-1:123456789012:bucket/data-bucket/table/table-UUID"
    }   ] }

 

Политика управления доступом на уровне пространства имен:

{
  "Version": "2012-10-17",
  "Statement": [
    {       "Effect": "AllowTableAction",
     "Principal": {
     "AWS": "arn:aws:iam::123456789012:role/dataengineer"
    },       "Action": [
        "s3tables:GetTableMetadataLocation",
        "s3tables:GetTableData"
       ],       "Resource": "arn:aws:s3tables:us-east-1:123456789012:bucket/data-bucket/table/*"
 "condition": {
 "StringLike" : {
          "s3tables:namespace":"namespace1"
          }       }     }   ] }

 

Интеграция создания озера

Вы можете включить Lake Formation и добиться контроля доступа на уровне базы данных, таблицы или даже столбца.

 

Преимущества Lake Formation

  • Разрешения на уровне столбцов: Разрешите определенным пользователям доступ только к определенным столбцам таблицы.
  • Фильтрация на уровне строк: Ограничьте доступ к строкам на основе фильтров (например, отдел = 'HR').
  • Унифицированный контроль доступа: Обеспечение согласованных правил доступа в таких службах, как Athena, EMR и Redshift Spectrum.

 

Пример с Lake Formation: в Lake Formation можно создать такие разрешения, как: Предоставить аналитику данных доступ к таблице table1, но только к столбцам sales и region.

Такие механизмы запросов, как Amazon Athena, Apache Spark и другие, соблюдают все эти элементы управления доступом. Когда пользователь запрашивает таблицу S3, начинается проверка разрешений. При использовании Lake Formation детализированные политики доступа (например, доступ на уровне столбцов) применяются автоматически.

 

Аварийное восстановление

Эта возможность есть в дорожной карте aws, но на данный момент она недоступна. Таблицы AWS S3 предназначены только для регионов! Однако для достижения этой цели Вы можете использовать свое собственное решение.

 

Заключение

Таблицы Amazon S3 значительно упрощают управление и запросы к большим объемам данных, решая такие проблемы, как производительность, безопасность и стоимость. Они помогают компаниям модернизировать свои системы данных и оптимизировать аналитику. Однако настройка аварийного восстановления (DR) по-прежнему требует ручного вмешательства.

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
За Apache Iceberg – будущее. Чего ждать от 2025 года?
Следующая статья →
Объектное хранилище в облаке с открытым исходным кодом, совместимое с S3

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ПАО «Транснефть» – крупнейшая российская нефтепроводная компания. «Транснефть» обеспечивает транспортировку более 85% добываемых в России нефти и нефтепродуктов.

  • Российский филиал одного их ведущих мировых производителей и дистрибьютеров косметики Estee Lauder Companies Inc. выбрал аналитическую платформу Loginom для предиктивной аналитики продаж как в офлайн-, так и в онлайн-канале.

  • Русклимат
    Русклимат — международный торгово-производственный холдинг, концентрирующий опыт ведущих мировых производителей индустрии климата, мощный потенциал конструкторских бюро и лабораторий индустриального дизайна.
     
    Компания образована в 1996 году. За более чем двадцатилетнюю историю Русклимат прошел путь от локальной компании до мощной вертикально-интегрированной многопрофильной структуры.
     
  • Novikov group – первый российский ресторанный холдинг, основанный в 1991 году. Это команда профессионалов под управлением Аркадия Новикова, реализующая широкий спектр услуг в сфере гостеприимства: от проведения event-мероприятия до управления рестораном, от установления стандартов сервиса до контроля качества готовой продукции, от построения бизнес-плана проекта до реализации франшизы.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.