Удивился второй раз в жизни при работе над инфрой. Первый раз был, когда переезд с Postgres на BigQuery в Blockchain com ускорил (на самом деле!) запросы в 100 раз и снизил стоимость в 10.
Тестировали Iceberg поверх Parquet
AWS Glue + Iceberg: стоимость ↓2.3x, скорость ↑3x
AWS EMR Serverless + Iceberg: стоимость ↓31x, скорость ↑6x
Databricks Serverless on Delta Lake: стоимость ↓3.5x, скорость ↑12x
Полез разбираться, как алгоритмически работает Iceberg поверх Parquet, и в очередной раз убедился, как же приятно читать/смотреть такие инженерные вещи, когда ребята садятся решать человеческие проблемы и находят простые решения.
Умные метаданные: знает статистики каждого файла без его чтения
Убирает дорогие LIST операции в S3 (экономия I/O)
Predicate pushdown: исключает файлы еще на этапе планирования
Hidden partitioning: автоматически находит нужные данные по любым колонкам ( У паркета тоже есть, но не так хорошо)
Snapshot isolation: читает консистентное состояние без блокировок
Главное - важность проверки разных платформ под конкретные бенчмарки. То, что работает для одного типа нагрузок, может быть неоптимально для другого.
P.S. Databricks показал отличные результаты с Delta Lake, но это уже другая история
Post #1643
236
Forwarded from Время Валеры
- 🔥 2