0Pricing
Cloud & IT Cert Prep · Урок

Секционирование журналов для ускорения и снижения стоимости

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

«Секционирование журналов для ускорения и снижения стоимости» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Стоимость сканирования

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

Что такое секция

Секция разделяет данные таблицы по значениям одного или нескольких столбцов, обычно по компонентам даты, сопоставленным с префиксами S3. Журналы CloudTrail уже организованы по пути region/year/month/day, поэтому секционирование по этим значениям соответствует физической структуре и позволяет Athena пропускать папки, не попадающие в запрос.

Отсечение секций

Когда запрос фильтрует данные по столбцу секционирования, Athena выполняет отсечение секций: читает только соответствующие префиксы и игнорирует остальные. Запрос за один день при правильном секционировании сканирует лишь малую долю хранилища. Без отсечения тот же запрос просканировал бы всё, включая данные, которые ему заведомо не нужны.

Добавление секций вручную

Один из способов зарегистрировать секции — ALTER TABLE ADD PARTITION, сопоставив значение секции с её расположением в S3. Это работает, но неудобно для ежедневных данных журналов, поскольку секцию пришлось бы добавлять каждый день. Такой подход подходит для разовой загрузки исторических данных, но не масштабируется для постоянно поступающих журналов.

Проекция секций

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

TBLPROPERTIES (
  'projection.enabled'='true',
  'projection.dt.type'='date',
  'projection.dt.range'='2023/01/01,NOW',
  'projection.dt.format'='yyyy/MM/dd'
)

Сканеры Glue для секций

Сканер Glue также может по расписанию обнаруживать новые секции и добавлять их в каталог. Это автоматизирует управление секциями для изменяющихся данных, однако для предсказуемой структуры на основе дат проекция секций обычно проще и не требует оплаты сканера.

Колонночные форматы усиливают экономию

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

Сжатие

Сжатие данных журналов с помощью форматов GZIP или Snappy ещё сильнее уменьшает объём сканируемых байтов и стоимость хранения. Athena прозрачно читает сжатые файлы. Вместе с секционированием и колонночным хранением сжатие завершает тройку методов, делающих анализ журналов в большом масштабе доступным по стоимости.

Проектирование секций для безопасности

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

Контроль показателей сканирования

Athena сообщает объём сканируемых данных для каждого запроса. Контроль этого показателя помогает понять, работает ли секционирование: хорошо секционированный запрос с ограничением по времени должен сканировать мегабайты, а не терабайты. Если запрос сканирует намного больше ожидаемого, вероятно, Ваш фильтр не соответствует столбцам секционирования.

Объединение методов оптимизации

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

Быстрая проверка

Проверьте свои знания о секционировании.

Повторение

Секционирование разделяет данные таблицы по столбцам, обычно по дате, чтобы Athena выполняла отсечение секций и сканировала только нужные префиксы, сокращая расходы и время. Для растущих журналов отдавайте предпочтение проекции секций, а не ручному ADD PARTITION или сканерам. Сочетайте секции с колонночным форматом Parquet и сжатием для значительной экономии, секционируйте журналы безопасности по дате и учётной записи и отслеживайте показатель сканируемых данных.

Часто задаваемые вопросы

Урок «Секционирование журналов для ускорения и снижения стоимости» бесплатный?

Да — полный текст урока «Секционирование журналов для ускорения и снижения стоимости» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.

Чему я научусь в уроке «Секционирование журналов для ускорения и снижения стоимости»?

Организуйте данные так, чтобы расследования выполнялись быстрее и обходились дешевле. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?

Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Секционирование журналов для ускорения и снижения стоимости»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?

Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Запрос журналов S3 с помощью Athena
  2. Создание таблиц на основе данных CloudTrail
  3. Расследование инцидентов с помощью запросов SQL
  4. Секционирование журналов для ускорения и снижения стоимости
← Назад к Cloud & IT Cert Prep