ClickHouse在Linux下安装使用手册

  1. 概述
    1. 前言

NoSQL数据库是非关系型数据存储的广义定义,它不同于符合ACID理论的关系型数据库,数据存储不需要固定的表构造,通常也不存在连接操作。NoSOL数据库不使用传统的关系数据库模型,而是使用如键值存储数据库、列存储数据库、文档型数据库、图形数据库等方式存储数据模型。

NoSQL共同特征:

1、不需要预定义模式:不需要事先定义数据模式,预定义表构造。数据中的每条记录都可能有不同的属性和格式,当插入数据时,并不需要预先定义它们的模式。

2、无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构,NoSQL往往将数据划分后存储在各个本地效劳器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。

3、弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

4、分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进展分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。

5、异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丧失少量的数据;

6、BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。

NoSQL适用情况:

  1. 数据库模型比较简单;
  2. 需要灵活性更强的IT系统;
  3. 对数据库性能要求较高;
  4. 不需要高度数据一致性;
    1. 现状描述

随着企业数字化转型的深入,以及国家和政府对利用数据要素打造“数字经济”的指导方针的确立,企业和政府越来越重视对数据管理工具的使用,而关系型数据库作为管理用户重要业务数据的核心工具一直受到高度重视。

自上世纪70年代问世以来,关系型数据库经过了40多年的发展,目前仍旧是数据库市场的主流,大数据技术的应用推高了市场对非关系型数据库的关注,但关系型数据库在其核心应用领域的重要性并没有降低。根据IDC的最新数据,关系型数据库在中国数据库总体市场中的占比仍超过60%。

但是随着移动互联网、大数据、人工智能、IoT、5G等新兴技术的快速发展,数据的产生速度和使用方式都发生了翻天覆地的变化。数据呈现出海量规模和高速增长的态势,数据的部署环境也日益复杂,传统关系型数据库在应对这其中的某些极端场景时有些力不从心,而非关系型的优势得以显现。非关系型数据库利用分布式技术,突破了传统数据库的容量与性能瓶颈,简化了运维工作,并有助于降低对高性能硬件的依赖。

    1. 未来发展趋势

非关系型数据库(NoSQL)得到如此广泛的普及主要有3个驱动力。

首先是需求。在过去的几年间,互联网与移动的流量呈现出了爆发性的增长,现在很多大公司所处理的数据规模是几年前我们几乎不曾想到的。传统的关系型数据库在设计时从未考虑过能够比较容易地实现跨节点可伸缩这一特性,因此NoSQL在那些需要能够实现快速、轻松且低本钱可伸缩的公司中开场流行起来。

其次是可用性。在过去几年间,开源软件真的开场成熟起来了,现在已经出现了很多成熟的开源NoSQL存储,这样公司就可以轻松找到满足其需求的数据存储方案了;

最后是新兴性。现在一定存在使用NoSOL构建,但关系型数据库却更加适合的应用。然而,随着NoSOL逐渐从新生事物变成主流,技术人员在选择适合其应用场景的解决方案时会变得更理性一些。

  1. ClickHouse 简介
    1. 什么是ClickHouse

ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够使用 SQL 查询实时生成分析数据报告。ClickHouse的全称是Click Stream,Data WareHouse。
    Clickhouse可以做用户行为分析,流批一体
    线性扩展和可靠性保障能够原生支持 shard + replication
    Clickhouse没有走hadoop生态,采用 Local attached storage 作为存储。
    ClickHouse版本release频繁。版本分为:testing、prestable、stable、tls。其中stable为稳定版本,最新版本为v21.11.7.9-stable(即21年第11个版本patchset 7,9为内部版本号可以忽略,版本类型为stable)。lts是特殊的稳定版本,提供更久的支持,最新版本为v21.8.12.29-lts(即21年第8个版本patchset 12),数据截止2021年12月15日。

    1. 主要特点
  • 列式存储:
  1. 行式存储的好处:
    想查找某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以;但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。
  2. 列式存储的好处
  1. 对于列的聚合、计数、求和等统计操作优于行式存储
  1. 由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重
  1. 数据压缩比更好,一方面节省了磁盘空间,另一方面对于cache也有了更大的发挥空间
  1. 列式存储不支持事务
  • DBMS功能:几乎覆盖了标准 SQL 的大部分语法,包括 DDL 和 DML、,以及配套的各种函数;用户管理及权限管理、数据的备份与恢复
  • 多样化引擎:目前包括合并树、日志、接口和其他四大类20多种引擎。
  • 高吞吐写入能力:ClickHouse采用类LSM Tree的结构,数据写入后定期在后台Compaction。通过类 LSM tree的结构, ClickHouse在数据导入时全部是顺序append,写入后数据段不可更改,在后台compaction时也是多个段merge sort后顺序写回磁盘。顺序写的特性,充分利用了磁盘的吞吐能力。
  • 数据分区与线程及并行:ClickHouse将数据划分为多个partition,每个partition再进一步划分为多个index granularity(索引粒度),然后通过多个CPU核心分别处理其中的一部分来实现并行数据处理。在这种设计下, 单条 Query 就能利用整机所有 CPU。 极致的并行处理能力,极大的降低了查询延时。所以, ClickHouse 即使对于大量数据的查询也能够化整为零平行处理。但是有一个弊端就是对于单条查询使用多cpu,就不利于同时并发多条查询。所以对于高 qps 的查询业务并不是强项。
  • ClickHouse 像很多 OLAP 数据库一样,单表查询速度优于关联查询,而且 ClickHouse的两者差距更为明显。

  1. Linux平台安装ClickHouse
    1. 安装前检查

ClickHouse 安装文件下载地址https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/

ClickHouse支持运行在主流64位CPU架构(x86_64,AArch64或PowerPC64的Linux操作系统之上,可以通过源码编译、预编译压缩包、Docker镜像和RPM等多种方法进行安装。本文着重讲解离线RPM的安装方法。

1下载RPM安装包

clickhouse-client-22.2.2.1-2.noarch.rpm

clickhouse-server-22.2.2.1-2.noarch.rpm

clickhouse-common-static-22.2.2.1-2.x86_64.rpm

clickhouse-common-static-dbg-22.2.2.1-2.x86_64.rpm

rpm ivh clickhouse-common-static-22.2.2.1-2.x86_64.rpm # 安装

rpm ivh clickhouse-client-22.2.2.1-2.noarch.rpm # 安装         

rpm ivh clickhouse-server-22.2.2.1-2.noarch.rpm # 安装

rpm ivh clickhouse-common-static-dbg-22.2.2.1-2.x86_64.rpm # 安装
    1. 安装目录介绍

1/etc/clickhouse-server
   clickhouse
服务的配置文件目录,包括:config.xmlusers.xml
2/etc/clickhouse-client   

clickhou

你可能感兴趣的:(clickhouse,数据库,nosql)