• 沒有找到結果。

ClickHouse由C++语言开发,定位为DBMS,支持HTTP和Native TCP两种网络接口协 议,支持JDBC、ODBC等多种驱动方式,推荐使用社区版本的clickhouse-jdbc来进行 应用程序开发。

8.1.2 常用概念

基本概念

cluster

cluster(集群)在ClickHouse里是一种逻辑的概念,它可以由用户根据需要自由 的定义,和我们通常理解的集群有一定的差异。多个ClickHouse节点之间是一种 松耦合的关系,各自独立存在。

shards

shard(分片)是对cluster的横向切分,1个cluster可以由多个shard组成。

replicas

replica(副本),1个shard可以有多个replica组成。

partition

partition(分区),针对的是本地replica而言的,可以理解为是一种纵向切分。

MergeTree

ClickHouse拥有非常庞大的表引擎体系,MergeTree作为家族系统最基础的表引 擎,提供了数据分区、一级索引和二级索引等功能。在创建表的时候需要指定表 引擎,不同的表引擎会决定一张数据表的最终“性格”,比如数据表拥有何种特 性、数据以何种形式被存储以及如何被加载。

8.1.3 开发流程

开发流程中各阶段的说明如图1 ClickHouse应用程序开发流程和表1 ClickHouse应用开 发的流程说明 所示。

应用开发指南 8 ClickHouse 开发指南(普通模式)

8-1 ClickHouse 应用程序开发流程

8-1 ClickHouse 应用开发的流程说明

阶段 说明 参考文档

了解基本概 念

在开始开发应用前,需要了解

ClickHouse的基本概念。 常用概念 准备开发和

运行环境 ClickHouse的应用程序支持多种 语言开发,主要为Java语言,推 荐使用IntelliJ IDEA工具,请根 据指导完成开发环境配置。

准备开发和运行环境

根据场景开 发工程

提供样例工程,帮助用户快速了 解ClickHouse各部件的编程接 口。

配置并导入样例工程

运行程序及 查询结果

用户可以直接通过运行结果查看

应用程序运行情况。 在Windows下调测程序

在Linux下调测程序

8.2 环境准备

应用开发指南 8 ClickHouse 开发指南(普通模式)

8.2.1 准备开发和运行环境

准备开发环境

在进行应用开发时,要准备的开发和运行环境如表8-2所示。

8-2 开发环境

准备项 说明

操作系统 ● 开发环境:Windows系统,支持Windows7以上版 本。

● X86客户端:Oracle JDK:支持1.8版本;IBM JDK:支持1.8.5.11版本。

● TaiShan客户端:OpenJDK:支持1.8.0_272版本。

说明基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。

IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动 参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设

安装和配置IntelliJ IDEA 开发环境的基本配置,建议使用2019.1或其他兼容版 本。

说明

● 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。

● 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为 Oracle JDK。

● 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为 Open JDK。

● 不同的IntelliJ IDEA不要使用相同的workspace和相同路径 下的示例工程。

准备项 说明

7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版 本。

a. 登录FusionInsight Manager页面,选择“集群 > 概览 > 更多 > 下载客户

端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点

8.2.2 配置并导入样例工程