Перейти к содержимому

Что происходит, когда база данных становится популярной? (с Ханнесом Мюляйзеном)

Developer Voices

0:00 / 0:00

Что происходит, когда база данных становится популярной? (с Ханнесом Мюляйзеном)

17 378 просмотров · 10 дней назад
Developer Voices
35,3 тыс. подписчиков
17 378 просмотров · 10 дней назад
Создание чего-то действительно нужного людям должно быть счастливым концом. Но за этим следует расплата: запросы на новые функции, о которых вы не просили, запросы на слияние, которые вы предпочли бы не поддерживать вечно, пользователи, требующие того, что вы поклялись никогда не создавать, и — если вам не повезет — компания, где отдел продаж тихо начинает решать, над чем работать инженерам. DuckDB потратила последние два с половиной года на проработку этого списка. Так как же оставаться командой разработчиков баз данных, когда успех постоянно пытается превратить вас во что-то другое? Ханнес Мюляйзен, соавтор DuckDB, возвращается, чтобы рассказать о найденных ими решениях. Их решение проблемы нежелательных запросов на слияние заключалось в механизме расширения, который затем заставил их сделать каждую часть движка подключаемой — включая парсер, что означало удаление 20 000 строк грамматики yacc из Postgres и переписывание SQL-парсинга на основе PEG. Их решением проблемы, требовавшей клиент-серверной архитектуры, стал Quack — протокол, разработанный людьми, которые уже опубликовали статью о том, почему все существующие протоколы передачи данных в базы данных неверны. А их ответом на Apache Iceberg, после трёх лет его реализации, стал DuckLake: отказаться от файлов метаданных Avro и JSON и хранить метаданные в базе данных, исходя из того, что в REST-каталоге Iceberg всё равно есть Postgres. Что приводит нас к новости, которую Ханнес сообщает в этом эпизоде: DuckDB Labs приобретается AWS, в то время как фонд DuckDB, проект и его лицензия остаются на своих местах. Возникает вопрос, почему прибыльная, самофинансируемая компания из 30 человек в Амстердаме согласилась на такую ​​сделку, какие обязательства вы включаете в контракты, когда опасаетесь, что сегодняшние обещания могут пережить нынешнее руководство, и каково это — снова иметь начальника после пяти лет без него. Если вам интересно, как проект с открытым исходным кодом сохраняет свою техническую сущность после перехода в корпоративную среду — или вы просто хотите узнать, почему разбор SQL-запросов сложнее, чем разбор почти чего угодно другого, — у Ханнеса есть несколько хороших ответов. --- Поддержите Developer Voices на Patreon:   / developervoices   Поддержите Developer Voices на YouTube: https://www.youtube.com/@DeveloperVoi... Наш предыдущий эпизод с Ханнесом:    • DuckDB: How to Build 100x Faster Analytics...   DuckDB: https://duckdb.org/ DuckDB Foundation: https://duckdb.foundation/ DuckLabs (ранее DuckDB Labs): https://ducklabs.com/ DuckLake: https://ducklake.select/ Quack (клиент-серверный протокол DuckDB): https://duckdb.org/quack/ DuckDB v2.0: Ваша база данных заслуживает лучшего парсера: https://duckdb.org/2026/08/20/duckdb-... Расширяемый во время выполнения Парсеры (статья CIDR 2025): https://duckdb.org/pdf/CIDR2025-muehl... Не держите мои данные в заложниках (статья VLDB 2017): https://www.vldb.org/pvldb/vol10/p102... cpp-peglib: https://github.com/yhirose/cpp-peglib GNU Bison: https://www.gnu.org/software/bison/ PEP 617 – Новый парсер PEG для CPython: https://peps.python.org/pep-0617/ PRQL: https://prql-lang.org/ Apache Iceberg: https://iceberg.apache.org/ Apache Parquet: https://parquet.apache.org/ Apache Avro: https://avro.apache.org/ Apache Thrift: https://thrift.apache.org/ Protocol Buffers: https://protobuf.dev/ Apache Arrow Flight SQL: https://arrow.apache.org/docs/format/... Amazon S3 Tables: https://aws.amazon.com/s3/features/ta... SQLite: https://www.sqlite.org/ PostgreSQL: https://www.postgresql.org/ pandas: https://pandas.pydata.org/ Apache Spark: https://spark.apache.org/ Snowflake: https://www.snowflake.com/ Databricks: https://www.databricks.com/ CWI (Centrum Wiskunde & Informatica): https://www.cwi.nl/en/ DuckCon #7, Амстердам: https://duckdb.org/events/2026/06/24/... Крис на Bluesky: https://bsky.app/profile/krisajenkins... Крис на Mastodon: http://mastodon.social/@krisajenkins Крис в LinkedIn:   / krisjenkins   --- 0:00 Вступление 4:42 Что такое DuckDB и зачем создавать её с нуля? 8:41 Создание быстрой и удобной для пользователя базы данных 15:05 Почему одноузловая архитектура лучше распределенной 20:30 Кряканье и почему протоколы передачи данных по базам данных ужасны 30:32 Скрытые издержки перехода на клиент-серверную архитектуру 37:33 Как работает механизм расширений DuckDB 42:40 Почему SQL — главный босс парсинга 50:14 Переписывание парсера DuckDB с помощью PEG 57:02 Айсберг и почему DuckDB пришлось его поддерживать 1:06:52 Проблемы с Avro 1:10:05 DuckLake: поместите метаданные в базу данных 1:15:29 От инструмента для ноутбука до корпоративного стека данных 1:23:43 Главная новость: DuckDB Labs присоединяется к AWS 1:32:31 Отсутствие обратной связи в реальных рабочих нагрузках 1:38:43 Каково это Снова начальник 1:41:44 Триггеры, хранимые процедуры и DuckDB 2.0 1:45:02 Заключение