Англійський словник для DuckDB Analytics
Вивчіть англійську лексику, яку використовують аналітики даних і інженери у DuckDB — пояснення OLAP у процесі, запитів Parquet, розгортання WASM, MotherDuck і розширень DuckDB.
DuckDB швидко став інструментом вибору для локального і вбудованого аналізу, заробивши прізвисько « SQLite для аналізу ». Інженери і аналітики даних, які працюють з Python, R або ноутбуками даних постійно використовують словник DuckDB у документації, блогах і обговореннях у спільноті. Ця стаття містить терміни, які вам слід знати, щоб вільно і професійно обговорювати DuckDB.
Ключовий словник
** В процесі OLAP ** DuckDB — це база даних OLAP (Online Analytical Processing), що означає, що вона виконується всередині процесу вашої програми, а не на окремому сервері. Немає мережевого зв’ язку, немає пулу з’ єднань, немає фонової служби для керування. Аналізатори кажуть, що DuckDB працює «в процесі» або «вбудований» Приклад: “Оскільки DuckDB знаходиться в процесі, скрипт Python запитує 50 мільйонів рядків безпосередньо в пам’яті без будь-яких мережевих витрат.”
** Колонне зберігання **
DuckDB зберігає дані у стовпцевому форматі, тобто всі значення у стовпчику зберігаються разом. Цей метод оптимальний для аналітичних запитів, які агрегують декілька стовпчиків у багатьох рядках. Аналізатори кажуть, що DuckDB використовує «стовпчасте зберігання» або «виконання, орієнтоване на стовпці»
Приклад: “Колонне зберігання дозволяє DuckDB обчислити суму стовпця revenue по 100 мільйонів рядків, читаючи тільки цей один стовпець з диска.”
** read_ parquet () **
read_parquet() є DuckDB SQL функція, яка запитує файли Parquet безпосередньо, без імпорту їх до бази даних спочатку. Він може читати локальні файли, S3 шляхи, і HTTP URL. Аналізатори «використовують», «викликають» або «запитують через» read_parquet().
Приклад: “Замість завантаження даних до таблиці, я запитав їх безпосередньо за допомогою SELECT * FROM read_parquet('s3://my-bucket/data/*.parquet').”
** Розширення SQL (типи LIST, STRUCT, MAP) **
DuckDB розширює стандартний SQL з складними вкладеними типами: LIST (впорядковані масиви), STRUCT (названі поля), і MAP (пари ключ-значення). За допомогою цих команд ви зможете працювати з напівструктурованими даними безпосередньо у SQL. Аналізатори «використовують», «запитують» і «не запитують» ці типи.
- Приклад: « Стовпчик JSON був розглянутий як
STRUCT, тому я міг отримати доступ до вкладених полів з позначенням крапкою безпосередньо в запиту SQL. »*
** Розгортання WASM ** DuckDB може працювати в веб-браузері через WebAssembly (WASM). Цей параметр надає вам змогу вбудувати повноцінну аналітичну базу даних у веб- програму на стороні клієнта без використання сервера. Розробники «розгортають DuckDB через WASM», «запускають DuckDB у браузері», або «використовують DuckDB WASM build» Приклад: «Ми вбудували DuckDB WASM build в нашу панель управління звітами, щоб користувачі могли запускати ad-hoc SQL запити в браузері без втручання в наші сервери.»
Мать-Качка MotherDuck — це хмарний сервіс, побудований на DuckDB, який додає співпрацю, постійне зберігання і хмарний рівень виконання. Аналізатори «з’єднуються з MotherDuck», «розгортають MotherDuck», або «використовують MotherDuck для спільної аналітики»
- Приклад: « Ми використовуємо MotherDuck для спільних наборів даних нашої команди, тому кожен запитує ті ж самі дані без керування виділеним сервером. »*
** Розширення DuckDB **
DuckDB підтримує систему плагінів, що називається розширення, які додають функціональність, наприклад, читання з Postgres (postgres розширення), Iceberg (iceberg розширення), просторових даних (spatial розширення), або файлів Excel (excel розширення). Розробники «встановлюють», «завантажують» і «використовують» розширення.
Приклад: «Я встановив розширення httpfs для запиту файлів Parquet безпосередньо з S3 без їхнього спочатку завантаження.»
** Потокові набори результатів ** DuckDB може повертати результати запиту поступово як потік, замість завантаження всього в пам’ ять за раз. Це важливо для великих наборів результатів. Розробники «потоку результатів», «використовують потокове API», або «збирають результати в пакетах»
- Приклад: « Для експорту 500 мільйонів рядків я використовував потокове API набору результатів для запису результатів у файл Parquet шматок за шматком замість завантаження всього в DataFrame. » *
Фрази і фразеологізми
“запитувати файли Паркет безпосередньо” Стандартний опис найвідомішої можливості DuckDB — читання Parquet без попереднього кроку імпортування. « Безпосередньо » — це ключове слово, яке відрізняє підхід DuckDB.
- Приклад: « DuckDB дозволяє вам запитувати файли Parquet безпосередньо з S3 з повною підтримкою SQL, включаючи з’єднання і функції вікна. »*
** “запустити DuckDB у переглядачі” ** Стандартна фраза для випадку використання WASM. « У переглядачі » — не « на інтерфейсі » або « на стороні клієнта » Приклад: «Ми запускаємо DuckDB у браузері для нашого інтерактивного конструктора звітів — користувачі можуть фільтрувати і агрегувати без виклику API backend.»
** “використовувати DuckDB для локальної аналітики” ** Описує типовий процес роботи з DuckDB як з локальним інструментом під час дослідження і розробки даних. « Локальний аналіз » — це загальноприйнята фраза у спільноті DuckDB. Приклад: “Я використовую DuckDB для локальної аналітики при дослідженні нового набору даних — він обробляє 10 ГБ CSV-файлів швидше, ніж панди на моєму ноутбуці.”
“сканувати файли Паркету” Описує читання DuckDB файла Parquet під час виконання запиту. « Сканувати » — це технічний термін, який є більш точним, ніж « читати » у дискусіях щодо швидкодії запиту.
- Приклад: « Якщо ввімкнено обрізання розділів, DuckDB потрібно буде перевірити лише три файли Parquet з 200 у теці розділу. » *
** “додати базу даних” ** DuckDB підтримує долучення декількох файлів баз даних у одному сеансі. Команди «приєднують», «від’єднують» і «запитують» приєднані бази даних.
- Приклад: « Я долучив файл DuckDB для виробництва як файл тільки для читання, а базу даних локального аналізу як файл для читання і запису, щоб я міг об’ єднати дані з обох джерел. » *
Практичні рекомендації
- DuckDB знаходиться в процесі, тому немає сервера, який можна запустити — просто імпортуйте бібліотеку і запустіть SQL
- «Я запитав все озеро даних S3, вказуючи
read_parquet()на префікс верхнього рівня з шаблоном glob» - Розширення
spatialдозволяє DuckDB виконувати геопросторові запити без експорту даних до PostGIS - Наш інтерактивний панелі керування запускає DuckDB в браузері з використанням WASM збірки — затримка впала з 800 мкс до менш ніж 50 мкс
- «Завантажте розширення
jsonдля автоматичного аналізу JSON-стовпців у типи STRUCT, які можна запитуваті з точковою нотацією»
Необхідно уникати помилок
** Виклик DuckDB як «сервера бази даних » ** DuckDB є вбудованою базою даних — вона не має серверного режиму за замовчуванням (MotherDuck додає можливість роботи в хмарі). У більшості контекстів неправильно говорити « наш сервер DuckDB ». Промовте « наш екземпляр DuckDB » або « вбудована база даних DuckDB »
** Використання слова « імпорт » замість « запит безпосередньо » ** Однією з головних переваг DuckDB є те, що ви можете робити запити до файлів Parquet і CSV без спочатку імпортувати їх до таблиці. Сказати «імпортувати файл Parquet в DuckDB» не дає розуміння мети — скажіть «запитати файл Parquet безпосередньо»
Плутанина “розширення” і “функція”
read_parquet() є вбудованою функцією. Розширення httpfs або postgres є додатком, який потрібно встановити. Функції завжди доступні; розширення слід завантажувати явно. Не викликати функцію як розширення і навпаки.
Summary
Словниковий запас DuckDB — OLAP в процесі, колонне зберігання, read_parquet(), розширення SQL, розгортання WASM, MotherDuck і потокові набори результатів — відображає його позицію як найшвидше зростаючий інструмент в екосистемі інженерії даних. Вміння користуватися цими термінами допоможе вам впевнено спілкуватися у дискусіях команди з даними, писати точні статті у блогах і документацію, а також брати участь у активній спільноті DuckDB на GitHub і Discord. Найкращими англійськими ресурсами у цьому просторі є блог DuckDB, де основна команда регулярно публікує докладні технічні статті, і документація DuckDB, яка використовує послідовний словник і містить чіткі, практичні приклади.
На практиці: Навігація Nuance - Відгуки і співпраця
Будьмо чесними; вивчення нової технічної галузі є достатньо складним. Додаток складностей професійної англійської може здатися приголомшливим, особливо коли ви намагаєтеся зрозуміти зворотній зв’ язок щодо вашого коду або ефективно співпрацювати з колегами. Це не просто про те, щоб знати * слова * для “запит” і “схема”; це про розуміння того, як ці слова використовуються в контексті – особливо при обговоренні потенційних проблем або пропонування змін. Однією з поширених пасток для носіїв англійської мови, які не є її рідними носієм, є припущення, що прямий переклад з їх рідної мови завжди буде працювати. Наприклад, фраза, яка звучить досить логічно в одній мові, може бути сприйнята як надто настійлива або не має деталей в іншій.
Розглянемо такий сценарій: ви надіслали запит на звантаження для інтеграції нового розширення DuckDB у MotherDuck. Ваш старший інженер, Сара, залишає коментар до вашого опису PR: « Це добре, але логіка запиту могла б отримати користь від більш чіткого оброблення нульових значень. Розгляньте можливість обгортання обчислення в COALESCE, щоб уникнути несподіваних результатів. “Тепер, якщо ви просто відповісти “Гаразд”, неясно, чи вона очікує, що ви негайно вирішите проблему, чи просто підтвердите отримання. Більш нюансована відповідь, яка демонструє розуміння і бажання співпрацювати, буде на зразок: «Дякую, що звернула на це увагу, Сара! Я погоджуюся; функція COALESCE є хорошою пропозицією для обробки потенційних нульових значень у обчисленні. Я вбудую це у логіку запиту і оновлю PR змінами. » Зауважте використання таких фраз, як « Я погоджуюсь », « гарна пропозиція » і « Я вбудую ». Це не просто ввічливі формальності; вони сигналізують про залучення і активне вирішення проблем — якості, які високо цінуються у середовищі спільної розробки. Аналогічно, якщо ви отримували зворотній зв’ язок під час перегляду коду щодо продуктивності, сказати «Запит повільний» не достатньо. Кращий підхід буде таким: “Я помітив, що час виконання запиту перевищує нашу цільову 1 секунду для цього набору даних. Я розгляну потенційні проблеми індексування і досліджу альтернативні стратегії фільтрування для оптимізації продуктивності»
Крім того, при описі вашої роботи у повідомленні про перенесення або документації важливо вказати точність. Уникайте нечітких термінів, наприклад, « виправлена вада » — замість цього вкажіть * що * було виправлено і * чому *. Наприклад, « Виправлення: Оптимізовано предикат з’ єднання для поліпшення швидкодії запиту у великих таблицях » містить набагато більше інформації, ніж останній. Такий рівень деталізації показує, що ви ретельно розумієте проблему і її рішення. Це також допомагає майбутнім розробникам (і вам самим!) швидко зрозуміти контекст зміни.
-- Example DuckDB query demonstrating COALESCE usage
SELECT
COALESCE(SUM(sales), 0) AS total_sales,
COUNT(*) AS customer_count
FROM
orders
WHERE
order_date BETWEEN '2023-01-01' AND '2023-12-31';
Пам’ ятайте, чітке і точне спілкування є ключем до успішного співробітництва у будь- якій технічній сфері. Спрямуйте увагу на передачу * намірів * і демонстрацію вашого розуміння, а не просто на переклад слів безпосередньо.