Що таке Delta Lake?
Свайпніть щоб показати меню
Delta Lake — це відкритий шар зберігання даних, який забезпечує надійність для data lakes. Надає транзакції ACID, масштабовану обробку метаданих і об'єднує потокову та пакетну обробку даних. У Databricks Delta є форматом за замовчуванням для всіх таблиць.
Якщо традиційні файли — це проблема, Delta Lake — це рішення. Коли ви зберігаєте свої дані про diamonds як Delta table у workspace.workshop.diamonds, це вже не просто файл на диску — це стає "інтелектуальною" таблицею.
Delta Lake працює шляхом поєднання стандартних файлів даних (Parquet) із прихованим Transaction Log.
1. ACID-транзакції
Це основа надійності Delta. ACID означає Atomicity, Consistency, Isolation, and Durability.
Простими словами: Операції з даними виконуються "все або нічого". Якщо ви оновлюєте 50 000 рядків у таблиці diamonds і кластер виходить з ладу на рядку 49 999, Delta відкотить усі зміни. Ви ніколи не отримаєте напівзаписану або пошкоджену таблицю.
2. Журнал транзакцій ("Мозок")
Кожного разу, коли ви додаєте, видаляєте або змінюєте дані у вашій таблиці diamonds, Delta фіксує цю дію у центральному реєстрі під назвою Delta Log.
Під час виконання запиту Databricks спочатку перевіряє Log, щоб визначити, які файли є дійсними та релевантними, а не сканує всі файли у папці. Це забезпечує надзвичайно швидкий пошук серед мільйонів рядків.
3. Контроль та еволюція схеми
Delta Lake виконує роль контролера — суворого, але гнучкого за потреби.
- Контроль: якщо ви намагаєтеся вставити запис про diamond, де "Price" є рядком замість числа, Delta відхилить запис і видасть помилку. Це забезпечує чистоту даних;
- Еволюція: якщо виникає необхідність додати новий стовпець (наприклад, "Store_Location"), Delta дозволяє безпечно змінювати схему без переписування всієї історичної вибірки даних.
4. Версіонування та подорож у часі
Оскільки кожна зміна фіксується у журналі транзакцій, Delta Lake зберігає інформацію про те, як виглядала ваша таблиця у будь-який момент її історії.
Це називається подорож у часі. Якщо ви випадково видалили дані з workspace.workshop.diamonds, можна просто вказати Databricks "переглянути таблицю у стані 10 хвилин тому" та відновити втрачені дані.
5. Відкриті стандарти
Хоча Databricks створила Delta Lake, це відкритий формат. Це означає, що ваші дані не "прив'язані" до конкретного постачальника — ви отримуєте продуктивність висококласної бази даних із гнучкістю відкритого хмарного сховища.
1. Що робить "Журнал транзакцій" у Delta Lake?
2. Що відбувається, якщо операція "Запис" у таблицю Delta переривається на півдорозі?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Що таке Delta Lake?
Delta Lake — це відкритий шар зберігання даних, який забезпечує надійність для data lakes. Надає транзакції ACID, масштабовану обробку метаданих і об'єднує потокову та пакетну обробку даних. У Databricks Delta є форматом за замовчуванням для всіх таблиць.
Якщо традиційні файли — це проблема, Delta Lake — це рішення. Коли ви зберігаєте свої дані про diamonds як Delta table у workspace.workshop.diamonds, це вже не просто файл на диску — це стає "інтелектуальною" таблицею.
Delta Lake працює шляхом поєднання стандартних файлів даних (Parquet) із прихованим Transaction Log.
1. ACID-транзакції
Це основа надійності Delta. ACID означає Atomicity, Consistency, Isolation, and Durability.
Простими словами: Операції з даними виконуються "все або нічого". Якщо ви оновлюєте 50 000 рядків у таблиці diamonds і кластер виходить з ладу на рядку 49 999, Delta відкотить усі зміни. Ви ніколи не отримаєте напівзаписану або пошкоджену таблицю.
2. Журнал транзакцій ("Мозок")
Кожного разу, коли ви додаєте, видаляєте або змінюєте дані у вашій таблиці diamonds, Delta фіксує цю дію у центральному реєстрі під назвою Delta Log.
Під час виконання запиту Databricks спочатку перевіряє Log, щоб визначити, які файли є дійсними та релевантними, а не сканує всі файли у папці. Це забезпечує надзвичайно швидкий пошук серед мільйонів рядків.
3. Контроль та еволюція схеми
Delta Lake виконує роль контролера — суворого, але гнучкого за потреби.
- Контроль: якщо ви намагаєтеся вставити запис про diamond, де "Price" є рядком замість числа, Delta відхилить запис і видасть помилку. Це забезпечує чистоту даних;
- Еволюція: якщо виникає необхідність додати новий стовпець (наприклад, "Store_Location"), Delta дозволяє безпечно змінювати схему без переписування всієї історичної вибірки даних.
4. Версіонування та подорож у часі
Оскільки кожна зміна фіксується у журналі транзакцій, Delta Lake зберігає інформацію про те, як виглядала ваша таблиця у будь-який момент її історії.
Це називається подорож у часі. Якщо ви випадково видалили дані з workspace.workshop.diamonds, можна просто вказати Databricks "переглянути таблицю у стані 10 хвилин тому" та відновити втрачені дані.
5. Відкриті стандарти
Хоча Databricks створила Delta Lake, це відкритий формат. Це означає, що ваші дані не "прив'язані" до конкретного постачальника — ви отримуєте продуктивність висококласної бази даних із гнучкістю відкритого хмарного сховища.
Дякуємо за ваш відгук!