housepower/ClickHouse-Native-JDBC
ClickHouse Native JDBC is a high-performance native protocol JDBC driver for accessing ClickHouse databases in Java and integrating with Apache Spark.
The ClickHouse/clickhouse-java project is a comprehensive repository that provides Java clients and a JDBC driver specifically designed for the ClickHouse database. Supported by the ClickHouse team, this project offers essential tools for Java developers to interact with ClickHouse via HTTP protocol efficiently. The repository includes two main components: the Java Client and the JDBC Driver. The Java Client serves as the core API for database interaction, while the JDBC Driver implements the JDBC specification, facilitating seamless communication with ClickHouse through the Java Client API. The project features two versions of both components: Client V1 and Client V2. Client V2 is a newer iteration developed to address the need for significant rewrites in the original client, allowing users to migrate without disruption. This version supports advanced features such as HTTP connection, HTTP compression with LZ4, HTTPS, client SSL certificates (mTLS), HTTP proxy with authentication, Java object serialization/deserialization, connection pooling, named parameters, retry on failure, log comments, session roles, SSL client authentication, and session timezone management. While some features like failover, load balancing, and server auto-discovery are present in Client V1 but not in V2, the newer client aims to provide a more robust and modernized experience. The JDBC Driver has also been updated to be compatible with Client V2 and to better comply with JDBC specifications. The project includes detailed installation instructions, with artifacts available on Maven Central and nightly builds accessible via OSS Sonatype. It also provides extensive documentation, usage examples, and demos, including Spring demo services and JDBC examples. Additionally, the repository offers an R2DBC driver for reactive programming support and other miscellaneous artifacts like the ClickHouse Java Unified Client and HTTP Client. The project maintains compatibility with all active LTS versions of ClickHouse and encourages continuous upgrades to benefit from security fixes and improvements. Contributions are welcomed, with guidelines provided in the contributing guide. Overall, ClickHouse/clickhouse-java is a vital resource for Java developers working with ClickHouse, offering a well-maintained, feature-rich, and versatile set of tools to facilitate database connectivity and operations.
https://github.com/ClickHouse/clickhouse-java
ClickHouse Native JDBC is a high-performance native protocol JDBC driver for accessing ClickHouse databases in Java and integrating with Apache Spark.
clickhouse4j is a lightweight and faster alternative to the official ClickHouse JDBC driver, offering reduced dependencies, smaller size, and enhanced performance for Java applications.