Я добавил DuckDB в sqlize.online

rozhnev 22 минуты назад Я добавил DuckDB в sqlize.online 4 мин 506 SQL * Базы данных * DIY или Сделай сам Кейс Привет, Хабр! Кто не знает, я уже почти пять лет развиваю свой проект sqlize.online - SQL песочницу, где...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: rozhnev 22 минуты назад Я добавил DuckDB в sqlize. online 4 мин 506 SQL * Базы данных * DIY или Сделай сам Кейс Привет, Хабр! Кто не знает, я уже почти пять лет развиваю свой проект sqlize.
online - SQL песочницу, где можно быстро накидать SQL, погонять JOIN или скинуть кому-то воспроизводимый пример запроса. Песочница уже поддерживает все основные реляционные базы данных от SQLite до Oracle, но я постоянно ищу как ещё можно расширить функционал, обновляю версии баз данных на актуальные, добавляю тестовые наборы данных и т. DuckDB я хотел прикрутить туда давно, с тех пор как узнал об этой легковесной аналитической базе.
Технические детали
Когда я сам начал использовать её в рабочих проектах то понял, насколько круто иметь локальный OLAP под рукой. Нмоного о DuckDBЕсли совсем грубо - это «SQLite для аналитики». Векторизованный движок под OLAP, тяжёлые агрегации на одном ядре, без забот о транзакциях.
Подобно SQLite, DuckDB не требует отдельного сервера и работает как библиотека внутри процесса языка программирования вызывающего ее функции. DuckDB читает данные из файлов CSV и Parquet на лету, хоть с диска, хоть по HTTP, без отдельного шага загрузки и позволяет использовать SQL для анализа этих данных. Для песочницы это прямо то что нужно - можно сразу дать людям что-то настоящее вместо таблицы из двух строк.
Останавливало меня лишь то, что бэкенд проекта написан на PHP и я добавляю базы данных которые поддерживаются драйвером PDO. До недавних пор нормального драйвера к DuckDB просто не существовало. MySQL, Postgres, SQLite - пожалуйста, через PDO из коробки, даже ClickHouse - благодаря совместимости интерфейса с MySQL.
Отраслевые последствия
С небольшими ухищрениями подключил SQL Server и Oracle, а DuckDB - нет. В очередной беседе ИИ подкинул мне ссылку на проект pdo_duckdb Ильи Альшанецкого. Реальный PDO-драйвер.
Пазл сложился, дальше дело техники - архитектура бэкенда отработана так что добавление новой базы нужно только написать расширение базового класса с функциями поддержки новой базы. Сборка контейнераКаждая версия PHP в моём проекте живёт в своём Docker - контейнере, поэтому сначала пересобираю образ с поддержкой DuckDB. Библиотека pdo_duckdb требует PHP 8.
online несколько пулов PHP под разные версии, PHP 7. 0 сразу отваливается по версии. 1+ не всё гладко - готовые бинарники в последнем релизе есть только под 8.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.






