ClickHouse 是 Yandex(俄罗斯最大的搜索引擎)开源的一个用于实时数据分析的基于列存储的数据库,其处理数据的速度比传统方法快很多。

    Cloudopt Next 为 ClickHouse 提供了插件,您只需要在配置文件中配置后并启动插件既可。

    在使用前请先自行引用相应的依赖,请自行添加版本号。

    RocketMQ 是 3.0.0.0-BETA6 引入的,请确保版本高于等于 3.0.0.0-BETA6。

    1. <dependency>
    2. <groupId>net.cloudopt.next</groupId>
    3. <artifactId>cloudopt-next-clickhouse</artifactId>
    4. <version>${version}</version>
    5. </dependency>
    6. <dependency>
    7. <groupId>ru.yandex.clickhouse</groupId>
    8. <artifactId>clickhouse-jdbc</artifactId>
    9. <version>${version}</version>
    10. </dependency>
    11. <dependency>
    12. <groupId>com.zaxxer</groupId>
    13. <artifactId>HikariCP</artifactId>
    14. <version>${version}</version>
    15. </dependency>

    Next 的 ClickHouse 使用的是 JDBC 连接,并且使用 HikariCP 作为线程池管理,在配置文件中仅需要配置 JDBC 连接字符串即可。

    1. {
    2. "clickhouse": {
    3. "jdbcUrl": "jdbc:clickhouse://localhost:8123/default"
    4. }
    5. }

    然后你需要将插件加载到启动的地方。

    1. fun main(args: Array<String>) {
    2. NextServer.addPlugin(ClickHousePlugin())
    3. NextServer.run()
    4. }

    使用的时候与正常的 JDBC 操作方法基本相同。取出连接池的连接后就可以开始操作了。

    val statement = ClickHouseManager.hikariDataSource.connection.createStatement()
    val result = statement.executeQuery("show databases")
    assert(result != null)