Обновить

От «DWH мертвы» до гибридных схем: эволюция Lakehouse за последние три года

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели6.8K
Всего голосов 5: ↑4 и ↓1+3
Комментарии12

Комментарии 12

Еще одна жертва рекламы, так и не видевшая дата лейков. в лейках нет ACID, мало того там нет самих транзакций. там попросту не к чему ACID пристегнуть. конкретно у Databrisks с его Delta форматом таблица это просто папочка, в папочке json с метой. поменять два json в единый момент времени не возможно, соответственно транзакционно записать изменения в несколько таблиц Delta не может. да и Датабрикс мелким шрифтом везде уточняет, что у них атомарность в рамках одной таблички.

дальше читать уже не стал.

В лейках не было ACID, а в лейкхаусах поддержка появилась, пусть и в рамках одной таблицы. Для инженеров данных уже это во благо - того уровня ACID, который есть в базах данных, тут никто не ждет.

ни в лейкак, ни в лейкхаусах нет самого понятия транзакция, соответственно "должны были принести гарантии полноценных баз данных в S3" пока далековато.

Вроде никто и не обещал полноценную OLTP-транзакционность в хранилищах S3. Если ее изобрести, то получится просто БД, дорогая и неэффективная для больших данных.
Вы сами упомянули, что транзакционность того же Iceberg ограничена отдельными таблицами и она при этом эффективно реализует атомарные операции без потери согласованности. А большего и не надо.

мы одну и ту же статью читали ? в той что читал было обещание "должны были принести гарантии полноценных баз данных в S3" и на полном серьезе утверждается "это действительно работает. Delta Lake, Iceberg и Hudi обеспечивают надежные ACID-гарантии"

Ну так, ACID не равно транзакции. Lakehouse дает большую консистентность, чем Data Lake и это плюс.

Хочется полноценных транзакций в Lakehouse так их есть, скажем в DuckLake.

На сколько помню у Берштейна то что соответствовало ACID, то может называться транзакцией, т.е. ACID=транзакция.

а девочки рисующую рекламу из DuckDB читали Берштейна, они точно понимают о чем говорят или как у датабрика ? если я открою DeckDB в Dbeaver и параллельно моя программа будет менять в транзакции несколько таблиц ? наверняка же Dbeaver ничего не будет знать о внешних для него транзакциях и вычитает неконсистентную кашу.

DuckDB и Ducklake это разное. Разница такая же как между Icеberg и скажем Trion его использующим.

В Ducklake полноценные транзакции включая DDL, и не на одну операцию, а на сколько угодно и над сколько угодно таблиц. В параллельной сессии до коммита не видно изменений, включая вставленные строики или вновь созданные обькеты схемы.

Если серьезно хотите говорить про ACID то отсылайте хоть к тому кто эти принципы сформулирвал, а не к пересказчикам.

Ну то есть, если подходить к этой истории как к обычному коммерческому проекту -- провалено.
Основные функции либо работают частично, либо не работают вовсе.

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

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

По рынку бегает 100500 20-30 летних CDO, которые за плечами не имеют ни одного реализованного хранилища и кричат, что лейкхаус все полечит. Ударятся лбом, часть повзрослеют и будут выбирать не "универсальное спасение" а технологии подходящие для задачи.

Полностью согласен, особенно насчет молодых CDO.
Проблема, в основном, в том что они обычно всем остальным не дают пилить другие решения :)

Таки зачем переходить с data lake на lakehouse? Этот вопрос не раскрыт.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации