DuckDB поддерживает стриминг?! В статье они выделяют 3 архитектурных паттерна стриминга (потоковой аналитики) __🧱 Паттерн материализованного представления (Materialized View Pattern) Часто реализуется с помощью облачных хранилищ данных, поддерживающих материализованные представления (например, BigQuery или Snowflake). Поток событий записывается в «сырую» таблицу, а поверх неё создаётся материализованное представление. Этот подход обычно имеет более высокую задержку обновления по сравнению со следующими двумя, хотя точных сравнений пока немного.__ __ ⚙️ Паттерн потокового движка (Streaming Engine Pattern) Здесь используется классический ETL-подход. Отдельный процесс (потоковый движок) читает сообщения из источника, выполняет запросы «на лету» и сохраняет результаты в постоянной таблице. Типичные движки — Spark Streaming, Flink, Kafka Streams и более новый Arroyo. Такой подход часто сопровождается сложностями: управление «водяными знаками» (watermarks), состоянием, потреблением памяти при бесконечных запросах и т.п.__ __ 🗄 Паттерн потоковой базы данных (Streaming Database Pattern) Похож на предыдущий по задержке, но значительно проще в использовании. Потоковые базы данных вроде RisingWave или Materialize могут напрямую читать поток данных и обновлять материализованное представление «на лету». Они стремятся сохранять ACID-консистентность и позволяют клиентам выполнять запросы через PostgreSQL-совместимый протокол. __ Согласно статье, DuckDB поддерживает 1й и 2й вариант. Так же можно напрямую писать запросы к Кафке через Tributary Extension.