ClickHouse的简单部署和应用

本文探讨了ClickHouse作为OLAP数据库的优缺点,包括高效率、并行处理和集群配置。然而,由于其不支持事务、高并发限制和特定SQL语法问题,作者决定放弃使用。介绍了搭建过程及应用场景,最后聚焦于ClickHouse的局限性和替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

人类的悲欢并不相通,我只觉得他们吵闹

引言

市面上比较流行的KFC套餐中的C就是ClickHouse,很多做实时和架构的同学都比较熟悉这个工具了,我会结合一下,部署和在业务中的使用简单的聊一下,以及之后为什么要抛弃CK。
ClickHouse是俄罗斯第一大搜索引擎Yandex开发的列式储存的OLAP数据库,单机和集群的查询性能快到飞起,OLAP中单表查询最快的工具,没有之一。今日头条、腾讯、携程、快手都在使用CK,对PB级别的数据进行分析。
优点:

  • 1.真正的面向列的DBMS
  • 2.数据高效压缩=>0.2
  • 3.磁盘存储的数据=>减少内存使用
  • 4.多核并行处理=>多核多节点并行化大型查询
  • 5.在多个服务器上分布式处理
  • 6.SQL语法支持
  • 7.数据有序存储=>ClickHouse支持在建表时,指定将数据按照某些列进行sort by。
  • 8.主键索引+ 稀疏索引

搭建(docker)

Dockerfile

FROM centos:7
MAINTAINER clickhouse

RUN yum install -y curl
RUN curl -s https://packagecloud.io/install/repositories/Altinity/clickhouse/script.rpm.sh | bash
RUN yum install -y clickhouse-server clickhouse-client
RUN mkdir -p /var/clickhouse/log
RUN mkdir -p /var/clickhouse/data

ADD clickhouse-start.sh /

ENTRYPOINT ["sh","/clickhouse-start.sh"]

clickhouse-start.sh

#!/bin/bash
set -e
exec /etc/init.d/clickhouse-server start & tail -f /dev/null

config.xml 基础配置,不多做赘述,这里把log和data的目录改成/var/clickhouse/…,不懂私聊我
metrika.xml 可以理解为集群的配置,以高可用的一种 3个分片,2个副本为例
简单说一下这个这个架构,一般情况先搭个单机,不用考虑这些问题,如果要搭建一个高可用的集群,比较靠谱的是有分片有副本,ck采用的是指定一个分配指定两个副本的方式,比如my_cluster集群的第一个shard是由ck01和ck02构成的,即一个分片由两个副本构成,然后在ck01上指定宏变量的macros是 01 01

机器 shard replica
ck01 01 01
ck02 01 02
ck03 02 01
ck04 02 02
ck05 03 01
ck06 03 02
<yandex>
    <clickhouse_remote_servers>
        <my_cluster>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>ck01</host>
                    <port>9000</port>
                </replica>
                 <replica>
                    <host>ck02</host>
                    <port>9000</port>
                </replica>
            </shard>
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>ck03</host>
                    <port>9000</port>
                </replica>
                 <replica>
                    <host>s-hadoop-log04</host>
                    <port>9000</port>
                </replica>
            </shard>
            <shard>
                <internal_replication>true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值