首页 > 其他分享 >Clickhouse 23.8.9.54 部署安装

Clickhouse 23.8.9.54 部署安装

时间:2024-10-17 22:17:38浏览次数:8  
标签:bin usr Creating 9.54 server etc Clickhouse clickhouse 23.8

Clickhouse 23.8.9.54 部署安装

ClickHouse 是一个开源的列式数据库管理系统(DBMS),专为高性能的在线分析处理(OLAP)而设计。它由 Yandex 于 2016 年开源,专门应对需要处理大量数据并进行快速分析查询的场景。ClickHouse 最显著的特性是其列式存储架构,使得它在处理大数据集时,具有极快的查询速度和高效的资源利用率。

ClickHouse 的关键特点:
  1. 列式存储
    • 数据按列存储,而不是按行存储。列式存储能够在查询时只读取所需的列,大大减少了 I/O 开销,特别适合执行复杂的分析查询。
  2. 高性能查询
    • ClickHouse 针对大规模数据集进行了优化,可以在极短的时间内返回复杂的聚合查询结果。它能够处理包含数十亿到数万亿行的数据,常用于实时分析场景。
  3. 数据压缩
    • ClickHouse 内置了高效的压缩算法,通过将数据进行有效压缩,节省存储空间,并在数据读取时进行解压。数据压缩与列式存储结合,进一步提升查询性能。
  4. 支持实时数据插入和查询
    • ClickHouse 可以在数据不断更新的情况下进行实时查询,非常适合需要实时监控、日志分析等场景。
  5. 分布式与水平扩展
    • ClickHouse 支持大规模分布式部署,通过水平扩展集群来处理更多数据。它的架构能够轻松扩展到上千个节点,并保持高性能。
  6. 支持标准 SQL
    • ClickHouse 支持标准 SQL 语法,这使得熟悉 SQL 的用户可以轻松上手。它还扩展了 SQL 语法来支持特定的分析需求,如超大数据集的聚合查询和复杂计算。
  7. 数据的近实时查询
    • ClickHouse 提供近实时的查询能力,在处理日志、监控等实时数据流时非常高效。它常用于广告分析、网站流量监控、用户行为分析等领域。
  8. 丰富的聚合函数和分析功能
    • ClickHouse 提供了丰富的聚合和分析函数,如 sum(), avg(), min(), max(), group by 等。它还支持窗口函数、分组函数、甚至时间序列分析功能。
  9. 可靠性与高可用性
    • ClickHouse 支持复制和故障转移机制,能够保证在某些节点失效的情况下,数据仍然可以正常读取,并保持高可用性。

​ 以下是 ClickHouse 与其他常见数据库(如 MySQL、PostgreSQL、MongoDB)之间的优缺点对比表格:

特性ClickHouseMySQLPostgreSQLMongoDB
数据模型列式数据库,适用于分析型和大数据查询行式数据库,OLTP(在线事务处理)行式数据库,支持 OLTP 和 OLAP文档数据库,基于 JSON-like 文档
查询性能高速分析查询,优化了大规模数据的读取速度查询速度较慢,适合小数据量或事务处理查询性能较好,支持复杂查询和事务对简单查询性能较好,大数据时性能会下降
适用场景数据仓库、大数据分析、实时分析传统关系型数据库,事务处理复杂查询和大规模数据处理非结构化数据存储,分布式存储
事务支持不支持 ACID 事务,主要用于分析性查询支持 ACID 事务完整支持 ACID 事务支持事务但性能不如关系型数据库
水平扩展优秀的水平扩展能力,适合大规模分布式部署水平扩展能力有限,主要依赖主从复制支持水平扩展,但配置复杂优秀的水平扩展,天然分布式设计
压缩内置强大的压缩算法,优化存储空间数据压缩能力较弱支持压缩,但并非默认开启支持压缩,但压缩率不如 ClickHouse
索引支持使用稀疏索引,优化了大数据的查询性能支持 B-tree 和全文索引支持 B-tree、GIST、GIN 等多种索引类型支持索引,但复杂查询时索引作用有限
写入性能写入性能高,批量写入速度非常快单次写入性能较好,但批量写入不如 ClickHouse写入性能中等,事务处理时性能下降写入性能较高,特别是无模式数据时
查询语言类似 SQL,支持标准 SQL 查询语法标准 SQL 语法支持标准 SQL,扩展性强查询语言为 MongoDB 的 BSON 语法
备份与恢复支持部分备份和复制,但操作稍复杂备份和恢复机制成熟,操作简便备份和恢复机制完善,支持 WAL 机制支持备份与恢复,但操作复杂
实时性支持实时数据分析和查询实时查询性能一般实时查询性能较好支持实时性,但复杂查询性能下降
社区与支持社区活跃,较多企业级支持和文档社区庞大,成熟的企业级支持社区强大,拥有大量扩展和插件社区活跃,支持丰富的开源工具和文档
扩展性插件较少,主要聚焦于大数据分析拥有大量插件,易于集成第三方工具插件与扩展丰富,支持多种场景支持多种扩展,易与其他分布式工具结合
存储要求存储占用小,尤其适合大规模数据集对存储要求较高,数据量大时存储成本增加中等存储占用存储要求较高,尤其是大规模数据集

注:部署Clickhouse数据库通常要依赖于zookeeper来管理分布式集群中的数据复制、分片、协调等任务。

​ 由于zk配置安装相对简单,这里只提供ZooKeeper 配置文件(zoo.cfg)相关建议配置:

一、zookeeper相关配置:

1.编辑ZooKeeper 配置文件(zoo.cfg)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
clientPort=2181
server.1=zookeeper1-hostname-or-ip:2888:3888
server.2=zookeeper2-hostname-or-ip:2888:3888
server.3=zookeeper3-hostname-or-ip:2888:3888
  • tickTime:ZooKeeper 服务器之间或客户端与服务器之间的心跳时间间隔,单位为毫秒。这里设置为 2000 毫秒(2 秒)。
  • initLimit:ZooKeeper 集群启动时,Follower 节点允许与 Leader 节点同步的时间限制。如果超过这个时间,Follower 节点会被认为不可用。
  • syncLimit:Follower 节点与 Leader 节点之间保持同步的最大延迟时间。
  • dataDir:ZooKeeper 保存快照文件的目录,存储节点数据。
  • clientPort:客户端连接 ZooKeeper 的端口,通常为 2181
  • server.N:定义 ZooKeeper 集群的节点信息,N 是节点编号,后面的 IP 地址或主机名、端口 2888 用于节点间通信,端口 3888 用于选举 Leader。
2.为每个 ZooKeeper 节点指定 myid 文件

在每个 ZooKeeper 节点的 dataDir 目录下,创建一个名为 myid 的文件,文件中存放该节点的 ID,对应于 zoo.cfg 中的 server.N 号。例如,如果当前节点在 zoo.cfg 中配置为 server.1,则 myid 文件内容为:

1
3. 启动 ZooKeeper

配置完成后,在每个 ZooKeeper 节点上启动 ZooKeeper 服务:

./zkServer.sh start

使用以下命令检查 ZooKeeper 集群状态:

./zkCli.sh status

二、Clickhouse数据库的安装部署:

1.下载Clickhouse23.8.9.54离线安装包

​ 下载链接1:packages.clickhouse.com/tgz/stable/

​ 下载链接2:https://github.com/ClickHouse/ClickHouse/releases

:建议使用第二个下载链接,但需使用加速器或者科学上网!

2.配置服务器的主机映射
  • 以下演示两个节点的Clickhouse分片集群配置,主机配置如下:
IPHostname内存核心所需磁盘空间
192.168.116.90clickhouse0132G6个100G
192.168.116.91clickhouse0232G6个100G
  • 两台主机分别配置映射关系:

    echo "192.168.116.90 clickhouse01" >> /etc/hosts
    echo "192.168.116.91 clickhouse02" >> /etc/hosts
    
    • 本地域名解析让本地机器通过主机名来访问相应的服务器,而无需记住或手动输入 IP 地址。
  • 多个节点主机名不能重复,如果主机名一样,需要修改主机名,一定要配置 不然集群会有问题!

特别注意:Zookeeper 版本 需要 在 3.4.6 以上,并且不要跟clickhouse部署在同一个服务器,要部署在一个 cpu比较稳定得服务器, 当clickhouse使用cpu过高时,服务器短时间内会卡顿,ZK会受到影响导致CK数据混乱。

3.安装客户端

​ 1)配置Clickhouse用户:

useradd clickhouse 
passwd clickhouse

vi /etc/sudoers
%wheel  ALL=(ALL)       ALL
%clickhouse     ALL=(ALL)       ALL

​ 2)解压安装包并执行安装脚本:

tar -xzvf "clickhouse-common-static-23.8.9.54-amd64.tgz"
sudo "clickhouse-common-static-23.8.9.54/install/doinst.sh"

tar -xzvf "clickhouse-common-static-dbg-23.8.9.54-amd64.tgz"
sudo "clickhouse-common-static-dbg-23.8.9.54/install/doinst.sh"

tar -xzvf "clickhouse-server-23.8.9.54-amd64.tgz"
sudo "clickhouse-server-23.8.9.54/install/doinst.sh"

​ 执行clickhouse-server 安装脚本日志如下,37行为设置default用户的密码:

ClickHouse binary is already located at /usr/bin/clickhouse

Creating symlink /usr/bin/clickhouse-server to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-client to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-local to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-benchmark to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-copier to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-obfuscator to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-git-import to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-compressor to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-format to /usr/bin/clickhouse.

Symlink /usr/bin/clickhouse-extract-from-config already exists but it points to /root/clickhouse. Will replace the old symlink to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-extract-from-config to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-keeper to /usr/bin/clickhouse.

Creating symlink /usr/bin/clickhouse-keeper-converter to /usr/bin/clickhouse.

Creating clickhouse group if it does not exist.

groupadd -r clickhouse

Creating clickhouse user if it does not exist.

useradd -r --shell /bin/false --home-dir /nonexistent -g clickhouse clickhouse

Will set ulimits for clickhouse user in /etc/security/limits.d/clickhouse.conf.

Creating config directory /etc/clickhouse-server.

Creating config directory /etc/clickhouse-server/config.d that is used for tweaks of main server configuration.

Creating config directory /etc/clickhouse-server/users.d that is used for tweaks of users configuration.

Data path configuration override is saved to file /etc/clickhouse-server/config.d/data-paths.xml.

Log path configuration override is saved to file /etc/clickhouse-server/config.d/logger.xml.

User directory path configuration override is saved to file /etc/clickhouse-server/config.d/user-directories.xml.

OpenSSL path configuration override is saved to file /etc/clickhouse-server/config.d/openssl.xml.

Creating log directory /var/log/clickhouse-server.

Creating data directory /var/lib/clickhouse.

Creating pid directory /var/run/clickhouse-server.

chown -R clickhouse:clickhouse ‘/var/log/clickhouse-server’

chown -R clickhouse:clickhouse ‘/var/run/clickhouse-server’

chown clickhouse:clickhouse ‘/var/lib/clickhouse’

groupadd -r clickhouse-bridge

useradd -r --shell /bin/false --home-dir /nonexistent -g clickhouse-bridge clickhouse-bridge

chown -R clickhouse-bridge:clickhouse-bridge ‘/usr/bin/clickhouse-odbc-bridge’

chown -R clickhouse-bridge:clickhouse-bridge ‘/usr/bin/clickhouse-library-bridge’

Enter password for default user: ----此处设置default用户的密码

Password for default user is saved in file /etc/clickhouse-server/users.d/default-password.xml.

Setting capabilities for clickhouse binary. This is optional.

Cannot set ‘net_admin’ or ‘ipc_lock’ or ‘sys_nice’ or ‘net_bind_service’ capability for clickhouse binary. This is optional. Taskstats accounting will be disabled. To enable taskstats accounting you may add the required capability later manually.

Allow server to accept connections from the network (default is localhost only), [y/N]: y

The choice is saved in file /etc/clickhouse-server/config.d/listen.xml.

chown -R clickhouse:clickhouse ‘/etc/clickhouse-server’

ClickHouse has been successfully installed.

Start clickhouse-server with:

sudo clickhouse start

Start clickhouse-client with:

clickhouse-client --password

4.安装Client工具:
tar -xzvf "clickhouse-client-23.8.9.54-amd64.tgz"
sudo "clickhouse-client-23.8.9.54/install/doinst.sh"
5.有些版本需要建立证书,否则以ckickhouse用户无法启动。

​ 报错信息如下:

<Error> CertificateReloader: Cannot obtain modification time for certificate file /etc/clickhouse-server/server.crt, skipping update. errno: 2, strerror: No such file or directory

​ 如出现以上报错,root执行

openssl req -subj "/CN=localhost" -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout /etc/clickhouse-server/server.key -out /etc/clickhouse-server/server.crt
openssl dhparam -out /etc/clickhouse-server/dhparam.pem 4096

​ 第二个命令执行时间较长 耐心等待

6.配置config.xml
vim /etc/clickhouse-server/config.xml
  • 下面几行加在 第一个 <remote_servers>之上,否则无法使metrika.xml中集群信息生效:

    • 进入vim界面之后按ESC输入:/remote_server可快速匹配,在 <remote_servers>上方添加即可:
    <zookeeper incl="zookeeper-servers" optional="true" />
    <include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>
    <remote_servers incl="clickhouse_remote_servers" />
    <macros incl="macros" optional="true" />
    
    • 添加完类似这样:
    <zookeeper incl="zookeeper-servers" optional="true" />
    <include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>
    <remote_servers incl="clickhouse_remote_servers" />
    <macros incl="macros" optional="true" />
    
    <remote_servers>
    	<!-- Test only shard config for testing distributed storage -->
    	<default>
    
7.修改监听地址
vim /etc/clickhouse-server/config.d/listen.xml
  • IPv4:

    <clickhouse>
        <listen_host>0.0.0.0</listen_host>
    </clickhouse>
    
  • IPv6:

    <clickhouse>
        <listen_host>::</listen_host>
    </clickhouse>
    
8.配置储存路径
tee /etc/clickhouse-server/config.d/data-paths.xml << 'EOF'
<clickhouse>
    <path>/var/lib/clickhouse</path>
    <tmp_path>/var/lib/clickhouse/tmp</tmp_path>
    <user_files_path>/var/lib/clickhouse/user_files</user_files_path>
    <format_schema_path>/var/lib/clickhouse/format_schemas</format_schema_path>
</clickhouse>
EOF
9.配置集群信息

编写配置集群信息:

vim /etc/clickhouse-server/config.d/metrika.xml
  • 多节点:

    <?xml version="1.0"?>
    <yandex>
      <zookeeper-servers>
         <node index="1">
           <host>192.168.0.10</host>
           <port>2181</port>
         </node>
         <node index="2">
            <host>192.168.0.11</host>
            <port>2181</port>
         </node>
            <node index="3">
            <host>192.168.0.12</host>
            <port>2181</port>
         </node>
      </zookeeper-servers>
    
      <remote_servers>
        <zz_cluster> <!-- 集群名称-->
         <shard> <!--集群的第一个分片-->
           <internal_replication>true</internal_replication>
           <!--该分片的第一个副本-->
           <replica> 
             <host>192.168.116.90</host>
             <port>9000</port>
             <user>default</user>
             <password>xxxxxxx</password>
           </replica>
             <!--该分片的第二个副本-->
             <replica> 
               <host>192.168.116.91</host>
               <port>9000</port>
               <user>default</user>
               <password>xxxxxxx</password>
             </replica>
         </shard>
         
         <shard> <!--集群的第二个分片-->
           <internal_replication>true</internal_replication>
           <!--该分片的第一个副本-->
           <replica>  
             <host>192.168.116.92</host>
             <port>9000</port>
             <user>default</user>
             <password>xxxxxxx</password>
           </replica>
             <!--该分片的第二个副本-->
             <replica>
               <host>192.168.116.93</host>
               <port>9000</port>
               <user>default</user>
               <password>xxxxxxx</password>
             </replica>
         </shard>
    
         <shard> <!--集群的第三个分片-->
           <internal_replication>true</internal_replication>
           <!--该分片的第一个副本-->
           <replica>  
             <host>192.168.116.94</host>
             <port>9000</port>
             <user>default</user>
             <password>xxxxxxx</password>
           </replica>
             <!--该分片的第二个副本-->
             <replica>
               <host>192.168.116.95</host>
               <port>9000</port>
               <user>default</user>
               <password>xxxxxxx</password>
             </replica>
         </shard>
        </zz_cluster>
      </remote_servers>
      <macros>
        <shard>01</shard> <!--根据规划的分片名来设置,同一个分片的主副实例的分片名要设置成相同的。-->
        <replica>rep_90_91</replica> <!--不同的实例放的副本名称不能一样!!建议主机名或ip关键字,如:此副本名称rep_90_91对应192.168.116.91主机,如果是192.168.116.90主机可以写成rep_91_90。-->
      </macros>
    </yandex>
    
    • xxxxxxx部分修改为自己安装时的实际密码
    • 每一个shard代表一个分片,建议一个分片配置两个主机,一个主一个备
    • xxxxxx每个节点的replica配置不同,可以根据该配置文件规则做出修改
  • 双节点:

    <?xml version="1.0"?>
    <yandex>
      <zookeeper-servers>
         <node index="1">
           <host>192.168.0.10</host>
           <port>2181</port>
         </node>
         <node index="2">
            <host>192.168.0.11</host>
            <port>2181</port>
         </node>
            <node index="3">
            <host>192.168.0.12</host>
            <port>2181</port>
         </node>
      </zookeeper-servers>
    
      <clickhouse_remote_servers>
        <zz_cluster> <!-- 集群名称-->
         <shard> <!--集群的第三个分片-->
           <internal_replication>true</internal_replication>
           <!--该分片的第一个副本-->
           <replica>  
             <host>192.168.116.90</host>
             <port>9000</port>
             <user>default</user>
             <password>xxxxxxx</password>
           </replica>
             <!--该分片的第二个副本-->
             <replica>
               <host>192.168.116.91</host>
               <port>9000</port>
               <user>default</user>
               <password>xxxxxxx</password>
             </replica>
         </shard>
       </zz_cluster>
      </clickhouse_remote_servers>
      <macros>
        <shard>01</shard> <!--根据规划的分片名来设置,同一个分片的主副实例的分片名要设置成相同的。-->
        <replica>rep_90_91</replica> <!--不同的实例放的副本名称不能一样!!建议主机名或ip关键字,如:此副本名称rep_90_91对应192.168.116.91主机,如果是192.168.116.90主机可以写成rep_91_90。-->
      </macros>
    </yandex>
    
    • 原理和多节点的配置相同,这里不再赘述
10.优化配置

配置users.xml:

vim /etc/clickhouse-server/config.d/users.xml
  • 32G内存 8核cpu 服务器配置样例 :

    <profiles>
      <default>
        <max_memory_usage>28000000000</max_memory_usage>
        <background_pool_size>16</background_pool_size>
        <max_bytes_before_external_group_by>14000000000</max_bytes_before_external_group_by>
        <max_bytes_before_external_sort>23000000000</max_bytes_before_external_sort>
        <background_schedule_pool_size>16</background_schedule_pool_size>
        <background_distributed_schedule_pool_size>16</background_distributed_schedule_pool_size>
      </default>
      <readonly>
        <readonly>1</readonly>
      </readonly>
    </profiles>
    
  • 128G 内存 16核推荐配置:

    <profiles>
      <default>
        <max_memory_usage>120000000000</max_memory_usage>
        <background_pool_size>32</background_pool_size>
        <max_bytes_before_external_group_by>100000000000</max_bytes_before_external_group_by>
        <max_bytes_before_external_sort>100000000000</max_bytes_before_external_sort>
        <background_schedule_pool_size>32</background_schedule_pool_size>
        <background_distributed_schedule_pool_size>32</background_distributed_schedule_pool_size>
      </default>
      <readonly>
        <readonly>1</readonly>
      </readonly>
    </profiles>
    
  • 参数解答:

    • max_memory_usage:内存使用优化 根据内存情况配置,以字节为单位。根据clickhouse所在服务器内存配置,需要给服务器留一些内存,可以查看剩余内存后配置 ,单位字节。
    • backgroud_pool_size :cpu优化 为服务器CPU核数*2
    • max_bytes_before_external_group by:一般按照 max_memory_usage 的一半设置内存,当 group 使用内存超过阈值后会刷新到磁盘进行。因为 clickhouse 聚合分两个阶段:查询并及建立中间数据、合并中间数据
    • max_bytes_before_external_sort:当 order by 已使用 max_bytes_before_external_sort 内存就进行溢写磁盘(基于磁盘排序),如果不设置该值,那么当内存不够时直接抛错,设置了该值 order by 可以正常完成,但是速度相对存内存来说肯定要慢 一般为max_memory_usage 配置的80%
11.验证Clickhouse

​ 启动Clickhouse数据库:

clickhouse start

​ 启动时出现 :

​ 为正常现象,等待即可

​ 停止clickhouse数据库:

clickhouse stop

测试连接数据库

客户端连接验证

clickhouse-client --password xxxx # 填写你的密码

远程登录示例:

clickhouse-client -h 192.168.116.90 --port 9000 -u default --password xxxx -m # 填写你的密码

查看集群信息,登陆客户端后执行

 select * from system.clusters;

注:若集群无法实现备份数据库复制,则可以查看防火墙是否放通,并添加相应的规则(两个Clickhouse节点都需要做放通):

firewall-cmd --list-all

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="xx.xx.xx.xx" port protocol="tcp" port="8123" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="xx.xx.xx.xx" port protocol="tcp" port="9000" accept'

firewall-cmd --reload

标签:bin,usr,Creating,9.54,server,etc,Clickhouse,clickhouse,23.8
From: https://blog.csdn.net/qq_69174109/article/details/142978861

相关文章

  • Clickhouse原理解析
    Clickhouse的标签#OLAP#列式存储行式数据库和列式数据库适用于不同的业务场景:如何查询多久查一次各类查询的比例各类查询要求的延迟和吞吐量每种查询读取多少数据读和写的关系,比例数据集的大小如何使用本地数据集是否用事务数据复制和完整性的要求OLAPOLAP的特点......
  • clickhouse 备份
    此命令是在clickhouse22.7.5版本下执行:官方文档见:https://clickhouse.com/docs/en/operations/backup#command-summary参考文档: https://blog.csdn.net/lusklusklusk/article/details/139781360创建备份目录mkdir/backups/修改权限:chmod766/backups/logsudochown-Rc......
  • ClickHouse 的 Mutations
    mutationsALTER查询是通过一种称为"mutations"的机制实现的,其中最常见的是ALTERTABLE...DELETE和ALTERTABLE...UPDATE。它们是在后台异步进行的,类似于MergeTree表中的合并。 对于*MergeTree表,mutations是通过重写所有的part来执行的。mutations不具有原子......
  • 深入解析ClickHouse:优势、架构、数据组织与应用场景
    引言在大数据时代,随着数据量的不断增长,越来越多的企业需要高效的数据分析工具来支持实时决策。ClickHouse作为一款高性能的列式数据库,因其在实时分析处理方面的卓越表现,逐渐在数据仓库领域脱颖而出。本篇博客将对ClickHouse进行深入解析,全面介绍其优势、数据架构、数据组织方......
  • ClickHouse 数据保护指南:从备份到迁移的全流程攻略
    一、背景运行3年的clickhouse需要迁移机房,迁移单库单表的140亿条的数据。采用clickhouse-backup的方式进行备份迁移,打包备份,再加上数据拷贝,数据恢复一共花费30分钟。数据在一定量级,避免使用SQL导入导出的方式,效率太低二、clickhouse-backup工具介绍clickhouse-back......
  • 大数据新视界 --大数据大厂之 ClickHouse:大数据分析领域的璀璨明星
           ......
  • 【ClickHouse 表引擎&SQL操作&副本&分片集群 02】
    一、表引擎表引擎决定了如何存储表的数据。类似mysql的引擎InnoDB,MyISAM数据的存储方式和位置,写到哪里以及从哪里读取数据一般的引擎都存储在本地的磁盘,clickhouse存储的位置在:/var/lib/clickhouse -->其中data存储数据,metadata存储建表语句支持那些查询以及如何支持并......
  • ClickHouse性能调优 - 当磁盘IO是瓶颈的时候
    引言ClickHouse的性能调优问题是一个大的话题。虽然ClickHouse以其高速的数据处理能力而闻名,但在实际使用中,磁盘IO常常成为影响系统性能的瓶颈。本文将探讨在磁盘IO成为瓶颈时,如何通过一系列优化措施来提升ClickHouse的整体性能。磁盘IO瓶颈磁盘IO瓶颈指的是在数据读写过程中,磁......
  • 【ClickHouse 特点&数据类型&表引擎&SQL操作&副本&分片集群 01】
    概念:ClickHouse是开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告OLAP这样的适合做一些一次插入多次查询这样的操作(适合查询),对于新增更新删除就不太擅长了,所以ClickHouse是一种分析性数据库HBase也是列式存储......
  • [Clickhouse] Clickhouse 特性 : WITH FILL(缺失段数据补齐)
    1背景引入背景需求:缺失数据的补齐要聚合查询一些数据,按照时间15分钟聚合数据量或根据用户提供的入参startTime/endTime动态筛选指定的若干月份聚合数据。但是由于某些时间段(如:某些月份)数据缺失,一些时段值没有,前端显示就会有问题,需要数据接口开发者自己插值解决有一种实......