ClickHouse安装教程:开启你的列式数据库之旅

ClickHouse是一个高性能的列式数据库管理系统,适用于在线分析处理(OLAP)。以下是ClickHouse的一些基本使用步骤:

  1. 下载二进制文件:您可以通过运行以下curl命令在Linux、FreeBSD或macOS上本地下载ClickHouse:

    curl https://clickhouse.com/ | sh

此安装方式也是目前官方推荐的安装方式,执行完后,会下载二进制文件

  1. 安装应用:按照上一步输出的命令提示执行

    ./clickhouse install

中间会提示输入数据库密码,输入后回车

看到这个就是安装成功了

  1. 启动服务器:运行以下命令来启动ClickHouse服务器:

    clickhouse start

  1. 启动客户端 :使用clickhouse-client连接到您的ClickHouse服务。打开一个新的终端,切换到保存clickhouse二进制文件的目录,然后运行以下命令:

    clickhouse-client --password xxx

Warnings:

  • Delay accounting is not enabled, OSIOWaitMicroseconds will not be gathered. You can enable it using echo 1 > /proc/sys/kernel/task_delayacct or by using sysctl.
  • Maximum number of threads is lower than 30000. There could be problems with handling a lot of simultaneous queries.

一般不用管它,当然也可以调怎一下:

  • 延迟计算未启用:这意味着OSIOWaitMicroseconds(操作系统输入/输出等待时间的微秒数)将无法收集。要解决这个问题,您可以通过以下命令启用延迟计算:

    echo 1 > /proc/sys/kernel/task_delayacct

  • 线程数低于30000 :这个警告表明,当前设置的线程数可能不足以处理大量的同时查询。您可以通过修改ClickHouse的配置文件来增加线程数。在/etc/clickhouse-server/config.xml文件中找到max_threads设置,并根据您的服务器性能和负载情况进行调整。如:

    ... 30000 ...

调整后,重启ClickHouse服务

  1. 创建表 :使用CREATE TABLE定义一个新表。ClickHouse中的典型SQL DDL命令工作正常,但需要添加一个ENGINE子句。使用MergeTree可以利用ClickHouse的性能优势:

    CREATE TABLE my_table (
    user_id UInt32,
    message String,
    timestamp DateTime
    ) ENGINE = MergeTree PRIMARY KEY (user_id, timestamp)

  1. 插入数据 :您可以使用熟悉的INSERT INTO TABLE命令与ClickHouse一起使用,但重要的是要理解,每次插入到MergeTree表都会在存储中创建一个部分(文件夹)。为了最小化部分,一次性批量插入大量行(成千上万甚至数百万):

    INSERT INTO my_table (user_id, message, timestamp)
    VALUES
    (101, 'Hello, ClickHouse!', now()),
    (102, 'Insert a lot of rows per batch', yesterday()),
    (102, 'Sort your data based on your commonly-used queries', today()),
    (101, 'Granules are the smallest chunks of data read', now() + 5)

  1. 查询新表:您可以像使用任何SQL数据库一样编写SELECT查询:

    SELECT * FROM my_table ORDER BY timestamp

ClickHouse图形客户端

上面我们使用的是命令行客户端连接clickhouse,当然也是有图形客户端可以使用的,我们来看看DBeaver,基本上和MySQL一样。

相关推荐
隔窗听雨眠14 分钟前
从取数到行动:数据分析失效的链路拆解与闭环重建
大数据·数据挖掘·数据分析
网教盟人才服务平台20 分钟前
PTP 标准化渗透能力落地,规范商用安全测试全流程
大数据·安全·web安全
金融小师妹25 分钟前
多因子定价模型:联储决议临近,黄金+1.1%的宏观驱动与走势分析
大数据·逻辑回归·线性回归
ClouGence32 分钟前
SQL 效率天花板!开源 CloudDM,自带一站式 AI SQL 助手
数据库·sql·开源
演艺大赏34 分钟前
Kyuubi + SparkSQL 查询时间戳少 8 小时解决:spark.sql.hive.convertMetastoreParquet 导致的显示偏差完整
大数据
Decay__44 分钟前
附-01 · MySQL 压测与容量规划 —— sysbench 基准测试、容量评估与参数基线
运维·数据库·sql·mysql·架构
这个DBA有点耶1 小时前
主从切换报成功,业务却写不进去——数据层脑裂与应用层连接残留的两类假成功
数据库·架构·dba
qq_452396231 小时前
第八篇:《VACUUM、自动清理与膨胀治理》
jvm·数据库·oracle
大大大大晴天1 小时前
Agent Loop 深度解析:理解、规划、行动、观察与纠错
大数据·agent
SelectDB技术团队1 小时前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层