Firebolt зовут на Product Showdown 25 августа
Но внезапно обнаружились записи весенних сессии
https://vimeo.com/522252264
https://vimeo.com/511021032
Коротко:
- Архитектура Snowflake-like - хранение на s3, независимо запускаемые compute инстансы + слой оркестрации и метадаты.
- Хранение данных очень похоже на clickhouse: колонки, партиции и сжатие.
Колонки сортируются по PRIMARY KEY в пределах партиции (видимо). Для тех, кто не знаком с clickhouse, замечу, что PK в данном случае не имеет ничего общего с уникальностью. Это sparse index, который определяет поля, по которым будет проводиться сортировка (в пределах партиции).
- Есть еще 2 типа индексов - aggregated и join.
Aggregate похож на materialized view. Но это не точно: https://vimeo.com/512940949
Join похож на... обычный индекс: https://vimeo.com/512937916
Пока индексы нужно создавать вручную, но потом система сама начнет их рекомендовать. Почему не делать автоматически - хз.
- Есть ДВА доступных движка: read/write для general purpose (ETL) и read only для data analytics.
Движки выбираются в специальном интерфейсе (а не из SQL, как ожидалось бы) и запускаются на EC2 инстансах, размер которых нужно выбрать до запуска. Можно указать auto-stop период для каждого инстанса: 20 минут/час/никогда.
- Упоминается Firebolt ETL на SQL.
Из уникальных фич: импорт из kafka.
- Заявляется в 10 раз более эффективное расходование ресурсов aws.
$16 snowflake vs $1.54 firebot. Табличка сравнения содержит запросы #1, #2, #3, #4 и #5. Что бы это ни значило....
- Вопрос из зала #1: чем вы отличаетесь от snowflake?
- во-первых, мы быстрее
- во-вторых, мы даем вам больше свободы выбора железа
- в-третьих, мы дешевле
¯\_(ツ)_/¯
- Вопрос из зала #2: какой дилект SQL вы поддерживаете?
- Postgre-sh
- Вопрос из зала #3: сколько времени занимает изменение размера compute-инстанса?
- 2-3 минуты
Формально получается, что firebolt - это оркестратор managed баз.
Скорее всего только Posgresql. В разделе про неструктурированные данные идет речь о функции unnest, которая есть, кажется, только в Posgresql и BigQuery.
Еще возникают интересные вопросы, например, об уровне изоляции транзакций в read/write движке. Теоретически, его же можно применять не только для ETL.
Можно же, да?..
Пока рано говорить об удобстве использования, но выбор движка в интерфейсе, 3 настройки автостопа, и запуск инстанса за 2-3 минуты заставляет приуныть...
Post #847
1.78K