Вышел проект ClickHaskell — клиент и протокол ClickHouse на Haskell Обложка: Skyread

Вышел проект ClickHaskell — клиент и протокол ClickHouse на Haskell

Новости
Главное:

  • Разработчик Дмитрий Ковалёв создал проект ClickHaskell — реализацию собственного протокола и клиента для СУБД ClickHouse на языке Haskell.
  • Исходный код ClickHaskell доступен на GitHub под лицензией BSD 3-Clause; проект подчеркивает типобезопасность, низкие зависимости и потокобезопасный сетевой код.
  • 14 декабря 2025 года вышла версия ClickHaskell 1.0.0 с поддержкой новых типов данных, TLS, улучшениями CI/CD и расширенной функциональностью протокола.

Разработчик Дмитрий Ковалёв представил новый открытый проект под названием ClickHaskell — реализацию собственного протокола и клиента системы управления базами данных ClickHouse, выполненную на функциональном языке программирования Haskell. Исходный код решения опубликован на платформе GitHub под лицензией BSD 3-Clause, что гарантирует открытость и возможность свободного использования.

По словам автора, выбор в пользу связки ClickHouse и Haskell обусловлен философией обеих технологий. ClickHouse известна как быстрая и эффективная СУБД с открытым исходным кодом, ориентированная на интенсивную работу с данными и архитектуру, основанную на событиях. Аналогично, Haskell — язык, поддерживающий функциональное программирование и лямбда-выражения, что близко к внутреннему устройству ClickHouse.

ClickHaskell отличается уникальным типобезопасным API с минимальным использованием шаблонов, небольшим числом внешних зависимостей, а также потокобезопасным, хорошо документированным сетевым кодом. Проект поддерживает расширяемый конвейер CI/CD и частично формализует реализацию протокола ClickHouse, что обещает удобство разработки и интеграции. Вместе с тем, разработчик отмечает ограничения — наличие всего одного активного сопровождающего, пока что ограниченную поддержку функций протокола и статичность API.

14 декабря 2025 года была выпущена первая стабильная версия ClickHaskell 1.0.0. Среди ключевых нововведений — добавление команды function, расширенная поддержка типов данных Bool, DateTime64, UInt256, а также перечислений Enum8 и Enum16. Частично реализована работа с массивами Array(T) и поддержка передачи настроек сервера. Для повышения безопасности подключения включена поддержка TLS. Кроме того, улучшено разрешение ошибок ClickHaskell typeclass в среде Haskell Language Server (HLS), что содействует удобству разработки.

Таким образом, ClickHaskell становится заметным шагом в направлении создания типобезопасного, расширяемого и функционально ориентированного клиента для ClickHouse, что может заинтересовать разработчиков, предпочитающих проекты на Haskell и работающих с большими объемами данных.

Tagged