数据库

首页 » 常识 » 问答 » ClickHouse数据库比传统的数据库
TUhjnbcbe - 2024/9/10 21:25:00
1ClickHouse简介

ClickHouse:是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。

OLTP

传统的关系型数据库,主要操作增删改查,强调事务一致性。

也叫做行式数据库系统,例如:MySQL、Postgs和MSSQLServer。

OLAP

仓库型数据库,主要是读取数据,做复杂数据分析,侧重技术决策支持,提供直观简单的结果。

也叫列式数据库系统中,例如:ClickHouse。

行式和列式数据库存储比较:

2ClickHouse优势

假如现在传统的行式数据库MYSQL中,存储万条数据的主表和3张副表,单次联表查询开销在3min+,执行效率极低。

这种情况下,就算优化索引、分表分库、代码优化,在查询效率上提升的也不会显著的。

那么采用ClickHouse,查询时间降低至1s内,查询效率提升倍!

ClickHouse的优势:1、只需要读取要计算的列数据,而非行式的整行数据读取,降低IOcost2、同列同类型,有十倍压缩提升,进一步降低IO3、clickhouse根据不同存储场景,做个性化搜索算法

3ClickHouse实操macOS中用docker安装clickhouse

1、docker安装这里就略过了。

2、docker安装ClickHouse镜像

dockerpullyandex/clickhouse-clientdockerpullyandex/clickhouse-server

3、启动容器服务,加载镜像

dockerrun-d--nameck-server--ulimitnofile=:-p:-p:-p:--volume=$HOME/Documents/ck2_database:/var/lib/clickhouseyandex/clickhouse-server

olume:冒号两侧的路径建立映射,当容器服务读取冒号后面的虚拟机内路径时,会去读冒号前面的本机路径。加这个参数的作用是自定义配置,这个参数可以比较简单的修改部分配置。-p:暴露容器中的端口到本机端口中。本机端口:容器端口。不配置的话可以后面除来虚拟机中,别的地方连不上端口。5/启动容器,并且验证。

dockerexec-itck-server/bin/bash

4、设置密码

1)简易密码。找到安装路径$HOME/Documents/ck2_database/pprocessed_configs/users.xml,然后设置密码passwordxxx/password2)加密密码:1/运行语句:PASSWORD=$(base64/dev/urandom

head-c8);echo"$PASSWORD";echo-n"$PASSWORD"

shasum

tr-d-2/在同上同样的路径中加入上句语句生成的较长的字符串:password_double_sha1_hexxxxxxx/password_double_sha1_hex

5、重启容器,密码连接Clickhouse。

clickhouse-client-h.0.0.1-ddefault-m-udefault--password6QTOnLA9

6、docker操作常用指令

查看镜像:dockerimages删除镜像:dockerrmi[REPOSITORY]查看容器:dockercontainerls-a停止容器:dockercontainerstopb1d6ae2ab删除容器:dockercontainerrmb1d6ae2ab运行容器:dockerb1d6ae2abstart

Mysql数据迁移到ClickHouse

ClickHouse支持Mysql大多数语法,迁移成本低,目前有五种迁移方案:1、catetableenginmysql,映射方案数据还是在Mysql2、insertintoselectfrom,先建表,在导入3、catetableasselectfrom,建表同时导入4、csv离线导入5、stamsets

这里我们采用第三种,建表同时导入方式迁移数据:

CREATETABLE[IFNOTEXISTS][db.]table_nameENGINE=MergeteASSELECT*FROMmysql(host:port,db,database,user,password)

ClickHouse和Mysql性能测试比较数据同步方案

1、采用临时表方案

原理:

新建temp中间表,将Mysql数据全量同步到ClickHouse内temp表,再替换原ClickHouse中的表,适用数据量适度,增量和变量频繁的场景

方案图:

2、采用开源工具synch

开源

1
查看完整版本: ClickHouse数据库比传统的数据库