Awesome ClickHouseJavaScript/Typescript

TimonKK/clickhouse

⭐ 222 JavaScript repository created 2016-06-23

This project is a NodeJS client for ClickHouse, a fast open-source column-oriented database management system. The client allows developers to send queries to ClickHouse over its HTTP interface, facilitating interaction with the database from NodeJS applications. It supports a variety of features including executing queries, streaming results, handling sessions, and inserting data efficiently. The client can be installed via npm and provides a simple API to create a ClickHouse instance with customizable options such as URL, port, authentication, compression, and query formatting. It supports executing queries both as promises and with callbacks, enabling flexible integration into different asynchronous workflows. One of the key features is the ability to stream query results, which can be handled asynchronously or with event listeners, allowing for efficient processing of large datasets without loading everything into memory at once. The client also supports inserting data through streams, which is useful for bulk data operations. Session management is supported, allowing queries to be associated with specific sessions, which is beneficial for applications requiring isolated or stateful interactions with the database. The client also supports parameterized queries, enhancing security and flexibility by allowing dynamic query parameters. Additional capabilities include piping readable streams to writable streams with transformation, inserting arrays of objects directly, and compatibility with TLS/SSL for secure connections. The project includes tests to ensure reliability and has a changelog documenting updates and improvements. Overall, this NodeJS client for ClickHouse provides a comprehensive and flexible interface for developers to interact with ClickHouse databases, supporting a wide range of use cases from simple queries to complex data streaming and insertion scenarios.

https://github.com/TimonKK/clickhouse

asynchronousbulk-insertcallbackclickhousedata-insertiondata-transformationdatabase-clienthttp-interfacenodejsparameterized-queriespromisequery-executionsession-managementstreamingtls/ssl

Also in JavaScript/Typescript

ClickHouse/clickhouse-js

Official JavaScript client for ClickHouse database providing streaming support and compatibility across Node.js and web environments.

apla/node-clickhouse

A Node.js driver providing a simple and powerful interface to interact with the ClickHouse database, supporting efficient query execution and bulk data loading.