Що таке 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 переривається на півдорозі?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат