Англійський словник для 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 для виробництва як файл тільки для читання, а базу даних локального аналізу як файл для читання і запису, щоб я міг об’ єднати дані з обох джерел. » *

Практичні рекомендації

  1. DuckDB знаходиться в процесі, тому немає сервера, який можна запустити — просто імпортуйте бібліотеку і запустіть SQL
  2. «Я запитав все озеро даних S3, вказуючи read_parquet() на префікс верхнього рівня з шаблоном glob»
  3. Розширення spatial дозволяє DuckDB виконувати геопросторові запити без експорту даних до PostGIS
  4. Наш інтерактивний панелі керування запускає DuckDB в браузері з використанням WASM збірки — затримка впала з 800 мкс до менш ніж 50 мкс
  5. «Завантажте розширення 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';

Пам’ ятайте, чітке і точне спілкування є ключем до успішного співробітництва у будь- якій технічній сфері. Спрямуйте увагу на передачу * намірів * і демонстрацію вашого розуміння, а не просто на переклад слів безпосередньо.

Поширені запитання

Про що ця стаття "Англійський словник для DuckDB Analytics"?

Вивчіть англійську лексику, яку використовують аналітики даних і інженери у DuckDB — пояснення OLAP у процесі, запитів Parquet, розгортання WASM, MotherDuck і розширень DuckDB.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійський словник для DuckDB Analytics"?

Приблизно 8 min.