广告
返回顶部
首页 > 资讯 > 数据库 >ClickHouse的优点有哪些
  • 820
分享到

ClickHouse的优点有哪些

2024-04-02 19:04:59 820人浏览 泡泡鱼
摘要

本篇内容介绍了“ClickHouse的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Clic

本篇内容介绍了“ClickHouse的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、ClickHouse 是什么?

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

我们首先理清一些基础概念

  •  OLTP:是传统的关系型数据库,主要操作增删改查,强调事务一致性,比如银行系统、电商系统

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

接着我们用图示,来理解一下列式数据库和行式数据库区别

在传统的行式数据库系统中(Mysql、Postgres和MS SQL Server),数据按如下顺序存储:

ClickHouse的优点有哪些

在列式数据库系统中(ClickHouse),数据按如下的顺序存储:

ClickHouse的优点有哪些

两者在存储方式上对比:

ClickHouse的优点有哪些

以上是ClickHouse基本介绍,更多可以查阅官方手册。

二、业务问题

业务端现有存储在mysql中,5000万数据量的大表及两个辅表,单次联表查询开销在3min+,执行效率极低。经过索引优化、水平分表、逻辑优化,成效较低,因此决定借助ClickHouse来解决此问题

最终通过优化,查询时间降低至1s内,查询效率提升200倍!

希望通过本文,可以帮助大家快速掌握这一利器,并能在实践中少走弯路。

三、ClickHouse实践

1.Mac下的Clickhouse安装

我是通过Docker安装,查看教程。也可以下载CK编译安装,相对麻烦一些。

2.数据迁移:从Mysql到ClickHouse

ClickHouse支持Mysql大多数语法,迁移成本低,目前有五种迁移方案:

  •  create table engin mysql,映射方案数据还是在Mysql

  •  insert into select from,先建表,在导入

  •  create table as select from,建表同时导入

  •  csv离线导入

  •  streamsets

选择第三种方案做数据迁移:

CREATE TABLE [IF NOT EXISTS] [db.]table_name ENGINE = Mergetree AS SELECT * FROM mysql('host:port', 'db', 'database', 'user', 'passWord')

3.性能测试对比

类型数据量表大小查询速度
Mysql5000万10G205s
ClickHouse5000万600MB1s内

4.数据同步方案

1)临时表

ClickHouse的优点有哪些

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

2)synch

ClickHouse的优点有哪些

开源的同步软件推荐:synch 原理是通过Mysql的binlog日志,获取sql语句,再通过消息队列消费task

5.ClickHouse为什么快?

  •  只需要读取要计算的列数据,而非行式的整行数据读取,降低io cost

  •  同列同类型,有十倍压缩提升,进一步降低IO

  •  clickhouse根据不同存储场景,做个性化搜索算法

四、遇到的坑

1.ClickHouse与mysql数据类型差异性

用Mysql的语句查询,发现报错:

ClickHouse的优点有哪些

解决方案:LEFT JOIN B b ON toUInt32(h.id) = toUInt32(ec.post_id),中转一下,统一无符号类型关联

2.删除或更新是异步执行,只保证最终一致性

ClickHouse的优点有哪些

查询CK手册发现,即便对数据一致性支持最好的Mergetree,也只是保证最终一致性:

如果对数据一致性要求较高,推荐大家做全量同步来解决

“ClickHouse的优点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: ClickHouse的优点有哪些

本文链接: https://www.lsjlt.com/news/61973.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ClickHouse的优点有哪些
    本篇内容介绍了“ClickHouse的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Clic...
    99+
    2022-10-18
  • clickhouse sql优化的方法有哪些
    点击豪斯(ClickHouse)是一个列式存储的数据库管理系统,专门用于大规模分布式数据处理。以下是一些ClickHouse SQL...
    99+
    2023-10-23
    clickhouse sql
  • ClickHouse常用函数有哪些
    ClickHouse是一种开源的列式存储数据库,具有高性能和可扩展性。以下是ClickHouse常用的一些函数: 聚合函数:SUM...
    99+
    2023-10-26
    ClickHouse
  • DevOps的优点有哪些
    这篇文章主要讲解了“DevOps的优点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DevOps的优点有哪些”吧!DevOps(Development和Operations的组合词)是...
    99+
    2023-06-27
  • redis的优点有哪些
    这篇文章将为大家详细讲解有关redis的优点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。redis是Nosql数据库中使用较为广泛的非关系型内存数据...
    99+
    2022-10-18
  • HTAP的优点有哪些
    这篇文章主要讲解了“HTAP的优点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTAP的优点有哪些”吧!4 月 25 日,领先的企业级开源分布式数据...
    99+
    2022-10-18
  • TypeScript的优点有哪些
    本篇内容介绍了“TypeScript的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Chirag...
    99+
    2022-10-19
  • Swagger3的优点有哪些
    这篇文章主要介绍“Swagger3的优点有哪些”,在日常操作中,相信很多人在Swagger3的优点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Swagger3的优点有...
    99+
    2022-10-19
  • vscode的优点有哪些
    vscode的优点有以下几点:轻量级vscode是一款轻量级的编辑器,安装包小,且启动速度快,可以提高用户体验。插件丰富vscode拥有丰富的插件系统,可以编辑HTML、CSS、JS、TS、Vue、React等前端代码和JAVA、Pytho...
    99+
    2022-10-19
  • VPS的优点有哪些
    VPS的优点有:1、VPS的扩展性强,能够无限创建网站子目录以及升级配置,从而满足网站后期发展的需求;2、VPS用途广,能够直接生成网站程序,速度快、效率高;3、VPS独立性好,具备独立IP资源,有利于网站优化;4、VPS稳定性高,当独享V...
    99+
    2022-10-12
  • ChatGPT的优点有哪些
    这篇“ChatGPT的优点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ChatGP...
    99+
    2023-02-20
    chatgpt
  • jquery的优点有哪些
    这篇文章主要介绍了jquery的优点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。jquery的优点jQuery 是轻量级的框架,大小...
    99+
    2022-10-19
  • javascript的优点有哪些
    javascript的优点有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。(1).javascript的优点:javascript减少网络传输。在javas...
    99+
    2023-06-14
  • UGUI的优点有哪些
    这篇文章主要为大家展示了“UGUI的优点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“UGUI的优点有哪些”这篇文章吧。UGUI的优点新UI系统二 直观、易于使用对于UI控件,开发者可以直...
    99+
    2023-06-04
  • Log4j2的优点有哪些
    这篇文章主要讲解了“Log4j2的优点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Log4j2的优点有哪些”吧!Log4j2简介Apache Log4j 2是 Log4j(1) 的升...
    99+
    2023-06-15
  • pandas的优点有哪些
    本篇内容主要讲解“pandas的优点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pandas的优点有哪些”吧!下面是一个例子,数据获取方式见文末。>>> im...
    99+
    2023-06-15
  • Python的优点有哪些
    这篇文章主要讲解了“Python的优点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的优点有哪些”吧!  基于Python本身的优点:简单,易学,速度快,免费、开源,高层语...
    99+
    2023-06-02
  • HBase有哪些优点
    本篇内容介绍了“HBase有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是HBase?HBase是一个分布式的、面向列的开源数...
    99+
    2023-06-02
  • Iodine有哪些优点
    本篇内容主要讲解“Iodine有哪些优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Iodine有哪些优点”吧!1. 更优秀的语言Iodine是常规Java的完整超集,它提供了强大的功能,使得...
    99+
    2023-06-17
  • html5有哪些优点
    本篇内容介绍了“html5有哪些优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!html5是最近几年逐渐...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作