20 мая 2026 г.

SQL-workbench в браузере (DuckDB-WASM)

Активный

SQL-workbench прямо в браузере, который превращает портфолио в queryable публичный data product на DuckDB-WASM.

Идея

Портфолио data-инженера должно быть не только читаемым, но и queryable. Этот проект публикует метаданные самого сайта — статьи, проекты и агрегаты активности — как небольшой документированный публичный датасет и позволяет любому выполнять SQL по нему прямо в браузере. Без бэкенда и API-ключей: движок DuckDB-WASM скомпилирован в WebAssembly и работает полностью на стороне клиента.

Как это работает

Build-шаг экспортирует реестр контента в версионируемые таблицы JSON/CSV/Parquet и catalog.json с описанием каждой таблицы и колонки. На странице DuckDB-WASM запускается в Web Worker, регистрирует опубликованные файлы и выполняет запросы локально:

SELECT tag, COUNT(*) AS mentions
FROM (
  SELECT UNNEST(STRING_SPLIT(tags, '|')) AS tag FROM articles
  UNION ALL
  SELECT UNNEST(STRING_SPLIT(tags, '|')) AS tag FROM projects
)
GROUP BY tag
ORDER BY mentions DESC;

Результат показывается таблицей и быстрым bar chart, EXPLAIN выводит план запроса, а текущий запрос кодируется в hash URL — так любой запрос можно расшарить ссылкой.

Trade-off'ы

  • WASM против hosted query API. WASM оставляет всё статикой, бесплатной в хостинге и приватной (запросы не покидают браузер) ценой однократной загрузки движка.
  • Курируемый датасет против сырых событий. Публикуются только публичные агрегированные метаданные — без приватных событий и сырых API payloads — поэтому датасет остаётся маленьким, документированным и воспроизводимым.

Открыть живой SQL-workbench →

Обсуждение

Этот пост был полезен?

Войдите, чтобы ставить лайки и комментировать.

Имя и аватар из выбранного провайдера хранятся в собственной базе сайта, чтобы показывать вашу активность.