Skip to content

korchasa/awesome-clickhouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome ClickHouse

A curated list of awesome ClickHouse software.

Documentation

Language bindings

C++

Elixir

JavaScript/Typescript

  • ClickHouse/clickhouse-js - Official Node.js client for ClickHouse, written purely in TypeScript, thoroughly tested with actual ClickHouse versions.

Golang

  • ClickHouse/ch-go - Low-level Go Client for ClickHouse
  • ClickHouse/clickhouse-go - Golang driver for ClickHouse
  • mailru/go-clickhouse - Go SQL database driver for Yandex ClickHouse
  • roistat/go-clickhouse - Golang Yandex ClickHouse connector
  • uptrace/go-clickhouse - Golang ClickHouse client. ClickHouse client for Go 1.18+. This ClickHouse client uses native protocol to communicate with ClickHouse server and requires Go 1.18+ in order to use generics. This is not a database/sql driver, but the API is compatible. Main features are: ClickHouse native protocol support and efficient column-oriented design.API compatible with database/sql.Bun-like query builder.
  • vahid-sohrabloo/chconn - chconn is a low-level ClickHouse database driver for Golang with a connection pool.
  • zeromicro/cds - Data syncing in golang for ClickHouse.

Java

Kotlin

.Net

  • DarkWanderer/ClickHouse.Client - .NET client for ClickHouse
  • DotNetNext/SqlSugar - SqlSugar ORM is a library providing Object/Relational Mapping (ORM) for .Net applications
  • Octonica/ClickHouseClient - ClickHouse .NET Core driver is a .NET Core driver for ClickHouse in a form of ADO.NET DbProvider API. This driver supports all ADO.NET features and includes support for binary protocol, compression, timezones, and most ClickHouse column types.
  • ilyabreev/ClickHouse.Net - netcore abstractions and helpers for Clickhouse.Ado

Node.js

ODBC

PHP

Python

  • ClickHouse/clickhouse-connect - Python package for connecting Python to ClickHouse, supporting various data structures including Pandas DataFrames, Numpy Arrays, PyArrow Tables, SQLAlchemy 1.3 and 1.4, and Apache Superset 1.4+
  • Infinidat/infi.clickhouse_orm - A Python library for working with the ClickHouse database (https://clickhouse.yandex/). It allows you to define model classes whose instances can be written to the database and read from it.
  • carrotquest/django-clickhouse - The project aims to integrate Yandex Clickhouse database into Django projects.
  • cloudflare/sqlalchemy-clickhouse - ClickHouse dialect for SQLAlchemy.
  • ibis-project/ibis - Ibis is a Python library that provides a lightweight, universal interface for data wrangling. It helps Python users explore and transform data of any size, stored anywhere.
  • kszucs/pandahouse - Pandas interface for Clickhouse database
  • long2ice/asynch - asynch is an asyncio ClickHouse Python Driver with native (TCP) interface support
  • maximdanilchenko/aiochclient - Lightweight async http(s) ClickHouse client for python 3.6+ with types converting
  • mymarilyn/aioch - aioch is a library for accessing a ClickHouse database over native interface from the asyncio. It wraps features of clickhouse-driver for asynchronous usage. The package can be installed using pip. For more information see clickhouse-driver usage examples. aioch is distributed under the MIT license.
  • mymarilyn/clickhouse-driver - ClickHouse Python Driver with native interface support
  • tobymao/sqlglot - SQL parser, transpiler, optimizer, and engine
  • xzkostyan/clickhouse-sqlalchemy - ClickHouse dialect for SQLAlchemy to ClickHouse database

R

  • IMSMWU/RClickhouse - R package for a DBI interface to the Yandex Clickhouse Database Providing Basic 'dplyr' Support

Ruby

  • PNixx/clickhouse-activerecord - A Ruby database ActiveRecord driver for ClickHouse. Support Rails >= 5.2. Support ClickHouse version from 20.9 LTS.
  • archan937/clickhouse - A Ruby database driver for ClickHouse (also Clickhouse CLI and web GUI included).
  • shlima/click_house - A modern Ruby database driver for ClickHouse. ClickHouse is a high-performance column-oriented database management system developed by Yandex which operates Russia's most popular search engine

Rust

  • loyd/clickhouse.rs - A typed client for ClickHouse that uses serde for encoding/decoding rows and RowBinary encoding. Supports HTTP and HTTPS. Provides multiple APIs for selecting, inserting, and watching live views. Includes compression and decompression functionalities.
  • suharev7/clickhouse-rs - Asynchronous ClickHouse client library for Rust programming language.

Scala

  • crobox/clickhouse-scala-client - Clickhouse Scala Client that uses Akka Http to create a reactive streams implementation to access the Clickhouse database in a reactive way.

Other sdk/libraries

UIs

GUI

  • HouseOps/HouseOps - HouseOps is a simple ClickHouse client based on Electron, React and Blueprint UI Toolkit for rapid application development.
  • VKCOM/lighthouse - LightHouse is a lightweight GUI interface for ClickHouse. Interface is inspired by Sequel Pro.
  • inkeio/dbm - DBM is an open source database management system supporting various platforms such as ClickHouse, Presto, Trino, MySQL, PostgreSQL, Apache Druid, and ElasticSearch. It can query data from any SQL-speaking datastore or data engine.
  • metrico/clickhouse-mate - Advanced User-Interface for ClickHouse
  • smi2/clickhouse-frontend - This project is a JavaScript library for ClickHouse data visualization. The repository has been renamed to TABIX, and this repository is now deprecated. Further development will be continued in a new repository - https://github.com/smi2/tabix.ui. More information about the project is available at https://tabix.io/doc/.
  • sqlpad/sqlpad - SQLPad is a web app for writing and running SQL queries and visualizing the results. It supports multiple databases via ODBC.
  • tabixio/tabix - Open source simple business intelligence application and sql editor tool for Clickhouse.

CLI

  • clickhouse-cli - Built-in CLI client
  • hatarist/clickhouse-cli - A third-party client for the Clickhouse DBMS server that works over the HTTP port and implements common and PostgreSQL-like commands. It provides autocompletion, syntax highlighting, multiquery and multiline modes, and pager support for the data output.

CHUI(Chat-based User Interface) or CHUBACA(Chat-Based Client:)

Integrations

  • Altinity/clickhouse-grafana - Clickhouse datasource for grafana
  • Altinity/clickhouse-mysql-data-reader - Utility to read mysql data
  • Altinity/clickhouse-sink-connector - Altinity Replicator for ClickHouse (Lightweight version) that replicates data from MySQL, PostgreSQL, and MongoDB to ClickHouse with support for DDL in MySQL via a single executable and lightweight tool.
  • ClickHouse/clickhouse-kafka-connect - ClickHouse Kafka Connector is the official Kafka Connect sink connector for ClickHouse written in Java
  • ClickHouse/dbt-clickhouse - The Clickhouse plugin for dbt (data build tool)
  • ClickHouse/graphouse - Graphouse allows you to use ClickHouse as a Graphite storage. It provides a TCP server to receive metrics with Graphite plaintext protocol, an HTTP API for metric search and data retrieval (with graphite-web python module), and an HTTP API for metric tree management.
  • ClickHouse/metabase-clickhouse-driver - ClickHouse database driver for the Metabase business intelligence front-end
  • ContentSquare/chproxy - Chproxy is an HTTP proxy and load balancer for the ClickHouse database. It is an open-source community project and not an official ClickHouse project. Full documentation is available on the official website.
  • DmitryBe/spark-clickhouse - spark to yandex clickhouse connector
  • ITECOMMPAY/kibouse - Kibouse is a Go tool that can be used to provide supporting Kibana as analytics and search dashboard for Clickhouse.
  • Infinidat/infi.clickhouse_fdw - A PostgreSQL foreign data wrapper for ClickHouse
  • Percona-Lab/PromHouse - PromHouse is a long-term remote storage with built-in clustering and downsampling for Prometheus 2.x on top of ClickHouse.
  • Percona-Lab/clickhousedb_fdw - PostgreSQL's Foreign Data Wrapper For ClickHouse
  • VaBezruchko/spark-clickhouse-connector - Package for integration between Yandex Clickhouse and Apache Spark. Allows to execute SQL queries, filter rows, manage partition granularity, provide failover and data locality, load-balancing, cluster auto-discovery, and throttle consuming database resources.
  • akvorado/akvorado - A flow collector, enricher and visualizer that receives flows (currently Netflow/IPFIX and sFlow), enriches them with interface names (using SNMP), geo information (using MaxMind), and exports them to Kafka, then ClickHouse. It also exposes a web interface to browse the collected data.
  • auxten/chdb - chDB is an embedded SQL OLAP Engine powered by ClickHouse
  • bryzgaloff/airflow-clickhouse-plugin - The most popular ClickHouse plugin for Airflow. Provides ClickHouseOperator, ClickHouseHook and ClickHouseSqlSensor based on mymarilyn/clickhouse-driver.
  • bytedance/Jeddak-DPSQL - DPSQL (Privacy Protection SQL Query Service) - This project is a microservice Middleware located between the database engine ( Hive , Clickhouse , etc.) and the application system. It provides transparent SQL query result desensitization capabilities.
  • clickvisual/clickvisual - ClickVisual is a lightweight browser-based logs analytics and logs search platform for ClickHouse. It supports visual query dashboard, query histogram, and raw logs for SQL.
  • cloudflare/flow-pipeline - A set of tools and examples for GoFlow, a NetFlow/IPFIX/sFlow collector by Cloudflare
  • cyber-drop/ethereum_analytical_db - Ethereum data access solution that can be used for analytics and application development that works on a fast DB - Clickhouse.
  • easysql/easy_sql - Easy SQL is built to ease the data ETL development process. With Easy SQL, you can develop your ETL in SQL in an imperative way. It defines a few simple syntax on top of standard SQL, with which SQL could be executed one by one. Easy SQL also provides a processor to handle all the new syntax. Since this is SQL agnostic, any SQL engine could be plugged-in as a backend. There are built-in support for several popular SQL engines, including SparkSQL, PostgreSQL, Clickhouse, FlinkSQL, Aliyun Maxcompute, Google BigQuery. More will be added in the near future.
  • flant/loghouse - Ready to use log management solution for Kubernetes storing data in ClickHouse and providing web UI.
  • go-graphite/carbon-clickhouse - Graphite metrics receiver with ClickHouse as storage
  • go-graphite/graphite-clickhouse - Graphite cluster backend with ClickHouse support
  • growthbook/growthbook - Open Source Feature Flagging and A/B Testing Platform
  • housepower/clickhouse_sinker - clickhouse_sinker is a sinker program that transfer kafka message into ClickHouse. Refers to docs to see how it works.
  • housepower/spark-clickhouse-connector - Spark ClickHouse Connector build on DataSourceV2 API
  • ildus/clickhouse_fdw - clickhouse_fdw is a Foreign Data Wrapper (FDW) for ClickHouse column oriented database, written in C++.
  • itinycheng/flink-connector-clickhouse - Flink SQL connector for ClickHouse. Support ClickHouseCatalog and read/write primary data, maps, arrays to clickhouse.
  • jaegertracing/jaeger-clickhouse - Jaeger ClickHouse storage plugin implementation
  • jitsucom/jitsu - Jitsu is an open-source Segment alternative. Fully-scriptable data ingestion engine for modern data teams. Set-up a real-time data pipeline in minutes, not days
  • knadh/sql-jobber - A distributed job-queue built specifically for queuing and executing heavy SQL read jobs asynchronously, written in Go.
  • larsnovikov/horgh-replicator - Golang binlog replication from MySQL to MySQL, PostgreSQL, Vertica, Clickhouse
  • mindis/prom2click - Prometheus remote storage adaptor for Clickhouse written in Golang.
  • mintance/nginx-clickhouse - Simple nginx logs parser & transporter to ClickHouse database.
  • mlcraft-io/mlcraft - MLCraft is a low-code metrics layer and a modern open-source alternative to Looker. It offers a new way of working with data through creating individual dashboards for different roles and teams or stakeholder groups, and tracking changes across multiple data sources with a unified dashboard. It is built using Cube.js as a primary query layer and is suitable for handling trillions of data points.
  • nikepan/clickhouse-bulk - ClickHouse insert collector in Go language that groups requests and sends them to ClickHouse servers.
  • pinba-server/pinba-server - simple and fast pinba server with storage in clickhouse

Ops

  • AlexAkulov/clickhouse-backup - Tool for easy ClickHouse backup and restore with cloud storages support
  • AlexeySetevoi/ansible-clickhouse - ansible role for clickhouse
  • Altinity/clickhouse-backup - Tool for easy ClickHouse backup and restore with cloud storages support
  • Altinity/clickhouse-operator - The Altinity Operator for ClickHouse creates, configures and manages ClickHouse clusters running on Kubernetes
  • ClickHouse/clickhouse_exporter - This is a simple server that periodically scrapes ClickHouse stats and exports them via HTTP for Prometheus consumption.
  • Slach/clickhouse-flamegraph - CLI utility for building a flamegraph based on system.trace_log in ClickHouse
  • amacneil/dbmate - Dbmate is a database migration tool that will keep your database schema in sync across multiple developers and your production servers. It is a standalone command line tool that can be used with Go, Node.js, Python, Ruby, PHP, or any other language or framework you are using to write database-backed applications. This is especially helpful if you are writing multiple services in different languages, and want to maintain some sanity with consistent development tools.
  • burningalchemist/sql_exporter - Database agnostic SQL exporter for Prometheus
  • bytebase/bytebase - Database CI/CD for DevOps teams. https://www.bytebase.com
  • clickhouse-copier - Copies (and reshards) data from one cluster to another cluster
  • clickhouse-local - Allows running SQL queries on data without stopping the ClickHouse server, similar to how awk does this
  • copybird/copybird - Cloud-native universal backup tool for databases and files
  • delium/clickhouse-migrator - Clickhouse migrator is a Python library that helps with data migration to Clickhouse database
  • grafana/clickhouse-datasource - Grafana plugin for querying and visualizing ClickHouse data within Grafana
  • housepower/ckman - ckman is a tool used to manage and monitor ClickHouse database.
  • ivi-ru/flink-clickhouse-sink - Flink sink for Clickhouse powered by Async Http Client that provides high-performance loading of data to ClickHouse. Supports two triggers for data loading: by timeout and by buffer size. Example usage and configuration provided in the description.
  • justwatchcom/sql_exporter - Flexible SQL Exporter for Prometheus.
  • long2ice/synch - Sync data from other DB to ClickHouse, current support postgres and mysql, and support full and increment ETL.
  • plutov/clickhouse-helm - A fully functioning replicated ClickHouse environment with CLI, Graphite and Tabix UI included, implemented with Helm chart.
  • tetafro/clickhouse-cluster - A simple clickhouse cluster with docker-compose
  • trickstercache/trickster - Trickster is an HTTP reverse proxy/cache for http applications and a dashboard query accelerator for time series databases, written in Go.
  • zlzforever/ClickHouseMigrator - ClickHouse database migration tool written in C# for .NET 5.0.

Examples

  • AlexeyKupershtokh/clickhouse-maxmind-geoip - A demonstration how to use ClickHouse with MaxMind GeoIP2 databases for geolocation
  • ClickHouse/github-explorer - GitHub dataset from GH Archive containing all events in all repositories since 2011 in structured format, uploaded into ClickHouse with 3.1 billion records. The repository provides a list of queries to answer almost any question about GitHub.
  • droher/boxball - Prebuilt Docker images with Retrosheet's complete baseball history data for many analytical frameworks. Includes Postgres, cstore_fdw, MySQL, SQLite, Clickhouse, Drill, Parquet, and CSV.
  • toddwschneider/nyc-taxi-data - Import public NYC taxi and for-hire vehicle (Uber, Lyft) trip data into a PostgreSQL or ClickHouse database. Scripts to download, process, and analyze data from 3+ billion taxi and for-hire vehicle (Uber, Lyft, etc.) trips originating in New York City since 2009.

Social

License

CC0

About

A curated list of awesome ClickHouse software.

Topics

Resources

License

Stars

Watchers

Forks