Ваше ХД не встает после ребута. Какую систему вы сможете лично сами починить (оживить, поднять из бекапа)?
Anonymous Poll
22%
Greenplum
10%
Hadoop
35%
Postgres
37%
Clickhouse
35%
Postgres
9%
Starrocks
15%
Trino (Presto, Cedrus)
56%
Зачем мне это знать? Есть же DevOPS, вендор, облако и подрядчики!
Архитектор Данных
Ваше ХД не встает после ребута. Какую систему вы сможете лично сами починить (оживить, поднять из бекапа)?
Моя топовая история починки чего-либо тянулась нон-стоп 32 часа.
Это был Greenplum заказчика, который несколькими последовательными командами gprecoverseg вывели в «нештатный» режим. Ночная смена под жестким sla плюс неудачное стечение обстоятельств.
Через примерно час я сказал что кластеру хана и данным хана, и пошел восстанавливать из бекапа. Пока команда инцидента из 6 или 8 человек проходила стадии Отрицание-Гнев-Торг-Принятие, терабайты уже поднимались в резерв кластер.
Потом звали вендора, искали причину, писали бумажки, клялись-божились что больше никогда-никогда. Нагоняли с заказчиком дельту из источников, крепились под нагрузку х4 от обычной. Перенастраивали DNS и все виды коннектов-фаерволлов на резервный кластер.
Были веселые выходные. Бизнес-заказчик в понедельник увидел отчеты как ни в чем ни бывало.
Записали как учения по отказоустойчивости 🤪
Это был Greenplum заказчика, который несколькими последовательными командами gprecoverseg вывели в «нештатный» режим. Ночная смена под жестким sla плюс неудачное стечение обстоятельств.
Через примерно час я сказал что кластеру хана и данным хана, и пошел восстанавливать из бекапа. Пока команда инцидента из 6 или 8 человек проходила стадии Отрицание-Гнев-Торг-Принятие, терабайты уже поднимались в резерв кластер.
Потом звали вендора, искали причину, писали бумажки, клялись-божились что больше никогда-никогда. Нагоняли с заказчиком дельту из источников, крепились под нагрузку х4 от обычной. Перенастраивали DNS и все виды коннектов-фаерволлов на резервный кластер.
Были веселые выходные. Бизнес-заказчик в понедельник увидел отчеты как ни в чем ни бывало.
Записали как учения по отказоустойчивости 🤪
🔥20 5🤯2 2👍1👌1😇1
Безопасность в Iceberg-Lakehouse
Берем Iceberg REST Catalog в виде Apache Polaris. Коннектим его к Трино как каталог. При этом передаем общие принципала и креды. Все подключается и успешно создаем, удаляем, работаем со схемами и таблицами.
Теперь хотим подцепиться к тому же каталогу через PyIceberg. С теми же кредами. И Ловим 401 на попытке прочитать таблицу? Почему?
Потому что PyIceberg честный и спрашивает креды на значимые действия с таблицей. Подчинаяется ролевой модели поляриса в этом плане. А трино просто взял metadata.json из каталога и пошел сам по S3 расшифровывать айсберговскую дату и метадату, никакого разрешения от каталога ему для этого не нужно. Ну и свою ролевую модель поверх наложил.
Одна и та же таблица, одна схема подключения, но два представления о прекрасном от двух движков данных.
Напоследок - доступные роли в Полярисе, грантов которых PyIceberg от нас ждет. Грантуется это исключительно через CURL.
# Доступные права в поларис
В другом каталоге Iceberg REST роли могут быть другие. В JDBC/Hive каталогах - вообще своя атмосфера.
Берем Iceberg REST Catalog в виде Apache Polaris. Коннектим его к Трино как каталог. При этом передаем общие принципала и креды. Все подключается и успешно создаем, удаляем, работаем со схемами и таблицами.
Теперь хотим подцепиться к тому же каталогу через PyIceberg. С теми же кредами. И Ловим 401 на попытке прочитать таблицу? Почему?
Потому что PyIceberg честный и спрашивает креды на значимые действия с таблицей. Подчинаяется ролевой модели поляриса в этом плане. А трино просто взял metadata.json из каталога и пошел сам по S3 расшифровывать айсберговскую дату и метадату, никакого разрешения от каталога ему для этого не нужно. Ну и свою ролевую модель поверх наложил.
Одна и та же таблица, одна схема подключения, но два представления о прекрасном от двух движков данных.
Напоследок - доступные роли в Полярисе, грантов которых PyIceberg от нас ждет. Грантуется это исключительно через CURL.
# Доступные права в поларис
[
CATALOG_MANAGE_ACCESS,
CATALOG_MANAGE_CONTENT,
CATALOG_MANAGE_METADATA,
NAMESPACE_CREATE,
TABLE_CREATE,
VIEW_CREATE,
NAMESPACE_DROP,
TABLE_DROP,
VIEW_DROP,
NAMESPACE_LIST,
TABLE_LIST,
VIEW_LIST,
NAMESPACE_READ_PROPERTIES,
TABLE_READ_PROPERTIES,
VIEW_READ_PROPERTIES,
NAMESPACE_WRITE_PROPERTIES,
TABLE_WRITE_PROPERTIES,
VIEW_WRITE_PROPERTIES,
TABLE_READ_DATA,
TABLE_WRITE_DATA,
NAMESPACE_FULL_METADATA,
TABLE_FULL_METADATA,
VIEW_FULL_METADATA
]В другом каталоге Iceberg REST роли могут быть другие. В JDBC/Hive каталогах - вообще своя атмосфера.
Горжусь теми 151 подписчиками, кто выбрали Лейкхаус.
Только не забудьте познакомиться с моделью безопасности. И особенностями комплаенса с ней тех сервисов, которые планируете использовать.
Это я еще про крутилку S3 ключей для различных команд не вспомнил. И то что локейшены в одном каталоге можно (и наверняка понадобится) размазать по разным бакетам для ролевки.
Потом на эти все художества смотрит ваш корпоративный кибербез в растерянном недоумении.
———————————————
13-ти хадуперам: мадам зе месье, мое уважение!
Только не забудьте познакомиться с моделью безопасности. И особенностями комплаенса с ней тех сервисов, которые планируете использовать.
Это я еще про крутилку S3 ключей для различных команд не вспомнил. И то что локейшены в одном каталоге можно (и наверняка понадобится) размазать по разным бакетам для ролевки.
Потом на эти все художества смотрит ваш корпоративный кибербез в растерянном недоумении.
———————————————
13-ти хадуперам: мадам зе месье, мое уважение!
😁7 7 3
Forwarded from СМАРТЛАБ НОВОСТИ
Мощность подключённых к сети дата-центров в России достигла 5 ГВт, большая часть сосредоточена в Москве и Санкт-Петербурге — Замминистра энергетики Пётр Конюшенко
Читать далее
👉 https://smartlab.news/i/203772
мы в max
Читать далее
👉 https://smartlab.news/i/203772
мы в max
По заявкам.
Разные движки воспринимают ролевую модель айсберг-лейкхауса по-разному. И с этим надо смириться и воспринимать как вариант нормы.
Поэтому учимся защищать данные даже в тех ситуациях, когда конкретный движок решит забить на правила.
Один из способов- начать работать с S3 ключами.
А как? А вот так.
1️⃣ команде пользователю данных выдаем ключ не на весь бакет, а более гранулярно. Пользуемся тем, что если default location у нас s3://ice-bucket/data, то объекты по умолчанию будут разложены по префиксам s3://ice-bucket/data/schema/table.
Вот и выписываем их гранулярно на схемы и таблицы. Эти же ключи раскладываем по ноутбукам, спаркам, трино каталогам, аэрфлоу и тд.
2️⃣ В айсберг таблице есть параметр location. Это корень обхода дерева метадаты айсберг и то куда айсберг складывает свой стафф. По умолчанию он берется из настроек коннектора и каталога.
Так вот, ничего не мешает этот локейшен точечно переопределить. Например на s3://ice-bucket/secret/ или s3://secret-bucket или (внезапно!) hdfs://path
И все будет работать до тех пор пока чтец обладает правами на предоставленных ему s3 ключах.
Причем во многих s3 реализациях нельзя на один ключ грантовать права в разных бакетах. Разнося таблицы по бакетам мы получаем гарантию, что команды из чистой зоны физически не смогут добраться до секретной зоны со своими ключами.
Вот так мы добавляем доп слой гарантированной безопасности, который будет работать на низком уровне даже если сервисы джейлбрейкнут Ranger или REST Catalog. (А они ведь могут!)
Не забудьте только навайбкодить сервис, который будет выпускать, отзывать, аудировать и раскладывать в конфиги и волты ваши s3 ключи! 😎
Разные движки воспринимают ролевую модель айсберг-лейкхауса по-разному. И с этим надо смириться и воспринимать как вариант нормы.
Поэтому учимся защищать данные даже в тех ситуациях, когда конкретный движок решит забить на правила.
Один из способов- начать работать с S3 ключами.
А как? А вот так.
Вот и выписываем их гранулярно на схемы и таблицы. Эти же ключи раскладываем по ноутбукам, спаркам, трино каталогам, аэрфлоу и тд.
Так вот, ничего не мешает этот локейшен точечно переопределить. Например на s3://ice-bucket/secret/ или s3://secret-bucket или (внезапно!) hdfs://path
И все будет работать до тех пор пока чтец обладает правами на предоставленных ему s3 ключах.
Причем во многих s3 реализациях нельзя на один ключ грантовать права в разных бакетах. Разнося таблицы по бакетам мы получаем гарантию, что команды из чистой зоны физически не смогут добраться до секретной зоны со своими ключами.
Вот так мы добавляем доп слой гарантированной безопасности, который будет работать на низком уровне даже если сервисы джейлбрейкнут Ranger или REST Catalog. (А они ведь могут!)
Не забудьте только навайбкодить сервис, который будет выпускать, отзывать, аудировать и раскладывать в конфиги и волты ваши s3 ключи! 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
✍7 3 2
Подпишетесь на канал, в котором явные ИИ ген посты?
Anonymous Poll
49%
Точно нет. ⚔️
38%
Да, не проблема, если интересно и полезно. 👍
13%
Посмотреть ответы
А ведь теперь Ютуб может сам генерить вот этот жанр видео сколь угодно массово.
Менторский контент, неторопливый монтаж, картинки и видео со стоков. То что раньше требовало сотни часов нарратива и монтажа от миллионов криэторов, теперь сделает толковая ИИ ферма.
Значит и рекламой делиться с ними незачем.
Менторский контент, неторопливый монтаж, картинки и видео со стоков. То что раньше требовало сотни часов нарратива и монтажа от миллионов криэторов, теперь сделает толковая ИИ ферма.
Значит и рекламой делиться с ними незачем.
💯8😁3
RustFS анонсировал S3 Tables функционал.
https://rustfs.com/blog/rustfs-s3-tables-iceberg-rest-catalog-quickstart/
Что такое S3 Tables? Это по сути Iceberg REST Catalog, встроенный прямо в коробку S3
https://rustfs.com/blog/rustfs-s3-tables-iceberg-rest-catalog-quickstart/
Что такое S3 Tables? Это по сути Iceberg REST Catalog, встроенный прямо в коробку S3
Rustfs
RustFS Launches S3 Tables: Apache Iceberg Tables Inside an Open-Source Object Store
RustFS now ships built-in S3 Tables — an Apache Iceberg REST Catalog running inside the object storage kernel. Create and query Iceberg tables with Spark, DuckDB, or PyIceberg, no plugins required. Open source under Apache 2.0.