Общие сведения о Delta Lake
Delta Lake — это уровень хранения с открытым кодом, который добавляет семантику реляционной базы данных в обработку озера данных на основе Spark. Таблицы в озерах Microsoft Fabric — это таблицы Delta, которые обозначаются значком треугольной дельты (FX) в таблицах в пользовательском интерфейсе Lakehouse.
Разностные таблицы — это абстракции схемы файлов данных, хранящихся в разностном формате. Для каждой таблицы lakehouse хранит папку, содержащую файлы данных Parquet , и папку _delta_Log , в которой сведения о транзакции регистрируются в формате JSON.
К преимуществам использования таблиц Delta относятся следующие преимущества:
- Реляционные таблицы, поддерживающие запросы и изменение данных. С помощью Apache Spark можно хранить данные в разностных таблицах, поддерживающих операции CRUD (создание, чтение, обновление и удаление). Иными словами, вы можете выбирать, вставлять, обновлять и удалять строки данных так же, как и в реляционной системе баз данных.
- Поддержка транзакций ACID. Реляционные базы данных предназначены для поддержки изменений транзакционных данных, которые обеспечивают атомарность (транзакции выполняются как одна единица работы), согласованность (транзакции покидают базу данных в согласованном состоянии), изоляцию (внутрипроцессные транзакции не могут влиять друг на друга) и устойчивость (когда транзакция завершается, внесенные изменения сохраняются). Delta Lake обеспечивает ту же поддержку транзакций в Spark с помощью журнала транзакций и сериализуемой изоляции для параллельных операций.
- Управление версиями данных и переход во времени. Так как все транзакции регистрируются в журнале транзакций, можно отслеживать несколько версий каждой строки таблицы и даже использовать функцию перехода во времени для получения предыдущей версии строки в запросе.
- Поддержка данных пакетной и потоковой передачи. Хотя большинство реляционных баз данных включают таблицы, в которых хранятся статические данные, Spark включает встроенную поддержку данных потоковой передачи через API Spark Structured Streaming. Таблицы Delta Lake можно использовать в качестве приемников (назначений) и источников для потоковой передачи данных.
- Стандартные форматы и взаимодействие. Базовые данные для разностных таблиц хранятся в формате Parquet, который обычно используется в конвейерах приема озера данных. Кроме того, можно использовать конечную точку аналитики SQL для озера Microsoft Fabric для запроса таблиц Delta в SQL.