ClickHouse/clickhouse-java
ClickHouse/clickhouse-java is a repository providing Java clients and a JDBC driver for efficient interaction with the ClickHouse database, supporting modern features and compatibility with active ClickHouse versions.
clickhouse4j is a lightweight and high-performance alternative to the official ClickHouse JDBC driver designed to provide faster and more efficient database connectivity for Java applications interacting with ClickHouse. The project focuses on reducing the size and dependencies of the driver, eliminating libraries such as Guava, Jackson, and Apache Http Client, resulting in a significantly smaller jar file (approximately 850kb compared to the original 5.6mb). This reduction in size contributes to faster load times and lower memory usage. The driver incorporates various micro-optimizations that enhance performance, including a notable 40% speed improvement in batch inserts. It also introduces a utility class called CopyManager, which simplifies the process of reading from and writing to files or streams, facilitating bulk data operations such as exporting query results to CSV or JSON formats and importing data from files into ClickHouse tables. clickhouse4j supports JSON and JSONCompact formats for select queries, enabling flexible data retrieval options. The project is compiled against Java 8, ensuring compatibility with a wide range of Java environments. Migration from the official ClickHouse JDBC driver is straightforward, requiring only a change in the driver class name and JDBC URL syntax. The project is suitable for developers seeking a more efficient and lightweight JDBC driver for ClickHouse, especially in environments where minimizing dependencies and optimizing performance are critical. It supports essential JDBC features and provides additional utilities to streamline data management tasks. The repository includes instructions for usage, examples of CopyManager operations, and build requirements, making it accessible for integration into existing Java projects.
https://github.com/Blynk-Technologies/clickhouse4j
ClickHouse/clickhouse-java is a repository providing Java clients and a JDBC driver for efficient interaction with the ClickHouse database, supporting modern features and compatibility with active ClickHouse versions.
ClickHouse Native JDBC is a high-performance native protocol JDBC driver for accessing ClickHouse databases in Java and integrating with Apache Spark.