ClickHouse学习

这篇具有很好参考价值的文章主要介绍了ClickHouse学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ClickHouse是由C++编写的列式存储数据库(DBMS),主要用来在线分析处理查询(OLTP),能够用Sql查询生成的实时数据分析报告。

适用场景

大多数是读请求 、数据总是批量写入 、不更新或少更新数据、每次都是读取大量的行、宽表(有大量列的表,这些列中已经冗余所需数据)、简单查询 、处理单个查询需要高吞吐量、无需事务,数据一致性要求低

  1. 实时分析:ClickHouse能够处理大规模数据集的实时查询和分析,非常适合需要在大数据集上进行快速数据分析和报告生成的场景。
  2. 日志分析:由于其高性能和实时处理能力,ClickHouse成为了处理大量日志数据的理想选择,能够将日志数据快速导入并执行复杂的查询和分析。
  3. 时序数据处理:特别适用于处理时间序列数据,如传感器数据、监控数据、日志数据等,能够高效地存储和查询大量的时间序列数据。
  4. 数据仓库:作为企业数据仓库的核心组件,ClickHouse用于存储和处理大量结构化和半结构化数据,提供快速的数据加载、聚合和查询能力。
  5. 实时监控:可以实时处理和分析监控数据,如网络流量数据、服务器性能数据等,快速生成实时报告和仪表盘。
  6. 大数据分析和处理:ClickHouse能够在毫秒级别内对海量数据进行实时查询和分析,支持高并发查询和数据聚合,是大数据分析和处理的理想选择。
  7. 商业智能领域(BI):适用于商业智能领域,能够被广泛应用于广告流量、Web、App流量、电信、金融、电子商务、信息安全、网络游戏、物联网等多个其他领域。
  8. OLAP场景:ClickHouse是面向联机分析处理的列式数据库,支持SQL查询,尤其适用于基于大宽表的聚合分析查询,查询性能非常好。

列式存储的优缺点:

优点 缺点
1. 数据检索速度快 1. 不适合存储复杂结构的数据
2. 易于进行数据分析 聚合、计数、求和等 2. 可扩展性有限
3. 数据处理效率高 3. 对事务处理的支持不如关系型数据库
4. 通常具有较好的可靠性 4. 不适用于需要复杂查询的场景
5. 适用于大规模数据存储 同列数据类型相同,便于数据压缩,可以节省空间 5. 需要自行处理一致性和完整性问题

ClickHouse几大特点

 1、涵盖了标准的Sql语法,如DDL、DML。具备DBMS所具备的功能如:

  1. 数据定义:允许用户定义数据结构、设置数据的约束条件以及建立相应的数据库模式。
  2. 数据操纵:提供了对数据进行插入、删除、修改和查询的能力。
  3. 数据完整性:确保数据的一致性和准确性,通过强制实施预定义的规则和约束条件。
  4. 并发控制:协调多个用户对数据的同时访问,防止数据出现冲突或不一致。
  5. 数据安全性:通过权限控制和认证机制来保护数据,确保只有授权用户才能访问和修改数据。
  6. 数据恢复:提供故障恢复机制,确保在发生故障时能够恢复数据,并保持数据的一致性。

2、多样化引擎

        把表级的存储引擎插件化,根据表的不同需求可以设定不同的存储引擎(比如可以使用Hive的引擎)。目前包括合并树、日志、接口和其他四大类20多种引擎。

3、高吞吐

        采用LSM Tree结构,数据顺序写,数据插入后不可更改,更新操作将携带时间戳或版本号,在后台定期合并携带最新时间戳或版本号的数据。

4、数据分区与线程级并行

        数据分区可以避免全表扫描,单个操作充分利用多线程压榨cpu性能,但是也导致了qps(查询)性能低。

数据类型

ClickHouse支持以下主要数据类型:

  1. UInt8, UInt16, UInt32, UInt64: 无符号整数类型,分别占用1、2、4、8字节。
  2. Int8, Int16, Int32, Int64: 有符号整数类型,分别占用1、2、4、8字节。
  3. Float32, Float64: 浮点数类型,分别占用4、8字节。
  4. String: 字符串类型,使用UTF-8编码。
  5. Date: 日期类型,使用日期格式存储。
  6. DateTime: 日期时间类型,使用日期和时间格式存储。
  7. Enum: 枚举类型,根据特定的字典进行编码存储。

此外,ClickHouse还支持其他一些数据类型,如Array、Nested、Tuple等复杂数据类型。

表引擎 

ClickHouse表引擎是指在ClickHouse中存储数据的不同方式或存储结构,不同的表引擎在存储和查询数据时会有不同的性能表现和特点。

下面是一些ClickHouse常用的表引擎及其简要介绍:

  1. MergeTree:MergeTree是ClickHouse最常用的表引擎之一,主要用于存储大量有序数据,支持范围查询、聚合和快速插入等操作。

  2. CollapsingMergeTree:在MergeTree的基础上增加了合并重复行的功能,用于去除重复数据。

  3. ReplacingMergeTree:MergeTree的扩展,用于支持根据主键替换数据,适用于需要更新数据的场景。

  4. SummingMergeTree:MergeTree的扩展,支持存储汇总后的数据,适合存储预先聚合好的数据。

  5. AggregatingMergeTree:基于MergeTree,用于在持续更新的数据流中定期计算聚合数据。

  6. Distributed:分布式表引擎,用于将数据分布在集群中不同的物理节点上。

除了上面列举的表引擎外,ClickHouse还支持其他不同类型的表引擎,每种引擎都有其特定的使用场景和优势。选择合适的表引擎可以更好地满足数据存储和查询的需求。

待续。。。 文章来源地址https://www.toymoban.com/news/detail-832525.html

到了这里,关于ClickHouse学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [1180]clickhouse查看数据库和表的容量大小

    在mysql中information_schema这个数据库中保存了mysql服务器所有数据库的信息, 而在clickhouse,我们可以通过system.parts查看clickhouse数据库和表的容量大小、行数、压缩率以及分区信息。 在此通过测试数据库来说明。 结果为:这种结果显示的大小size是字节,我们如何转换为常见的

    2024年02月05日
    浏览(55)
  • 分布式数据库(DorisDB、Clickhouse、TiDB)调研

    B站视频:DorisDB VS ClickHouse OLAP PK 1.1 DorisDB 场量:线上数据应用 访问官方网站 DorisDB企业版文档 单表/多表查询,DorisDB总体时间最短 单表查询:DorisDB最快次数最多,ClickHouse次之 多表查询:DorisDB所有执行均最快 DorisDB多表关联效率好 支持各种主流分布式Join,不仅支持大宽表模

    2024年02月06日
    浏览(45)
  • clickhouse数据库 使用http 方式交付查询sql

    今天使用clickhouse 的HTTP 方式进行查询语句 clickhouse  服务  搭建在192.168.0.111 上面 那么我们如何快速的去查询呢   如下 我们可以使用curl 功能 或者直接在浏览器上输入对应的查询命令  如下: 说明: 前面的IP 是我们clickhouse所在的服务器IP底子 端口      8123     默认的H

    2024年01月25日
    浏览(45)
  • Spring Boot集成JPA和ClickHouse数据库

    Spring Boot是一个用于创建独立的、基于Spring的应用程序的框架。它具有快速开发特性,可以大大减少开发人员的工作量。JPA(Java Persistence API)是Java中处理关系型数据库持久化的标准规范,而ClickHouse是一个高性能、分布式的列式数据库。 本文将介绍如何在Spring Boot项目中集成

    2024年02月09日
    浏览(53)
  • Python 连接clickhouse数据库以及新建表结构,csv导入数据

    目录 一、Python 连接clickhouse数据库 ◼ clickhouse对外的接口协议通常有两种形式: ◼ 代码实现部分: 二、使用客户端工具DBeaver连接clickhouse ◼ 新建clickhouse表 三、DBeaver 连接clickhouse 用csv文件导入数据 ◼ 导入方式: 方法一:使用DBeaver自带导入数据功能; 方法二:具体方式如

    2024年02月08日
    浏览(98)
  • OLAP型数据库 ClickHouse的简介 应用场景 优势 不足

    ClickHouse 是一个开源的分布式列式数据库管理系统 (DBMS),专门用于在线分析处理 (OLAP)。它最初由 Yandex 开发,并且在处理大规模数据分析和实时查询方面表现出色。以下是关于 ClickHouse 的简介、应用场景、优势和不足的概述: ClickHouse 是一个高性能的列式数据库管理系统,专

    2024年02月02日
    浏览(52)
  • (三十六)大数据实战——ClickHouse数据库的部署安装实现

    ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库 DBMS ),使用C语言编写,主要用于在线分析处理查询( OLAP ),能够使用SQL查询实时生成分析数据报告。 列式存储 :数据按列进行存储,这使得 ClickHouse 能够高效地处理聚合查询和分析操作; 高性能 :ClickHouse 被设计用

    2024年02月19日
    浏览(40)
  • ClickHouse面向列的数据库管理系统(原理简略理解)

    目录 官网 什么是Clickhouse 什么是OLAP 面向列的数据库与面向行的数据库 特点 为什么面向列的数据库在OLAP场景中工作得更好 为什么ClickHouse这么快 真实的处理分析查询 OLAP场景的关键属性 引擎作用 ClickHouse引擎 输入/输出 CPU https://clickhouse.com/ ClickHouse®是一个高性能、面向列的

    2024年02月07日
    浏览(44)
  • docker安装mysql、clickhouse、oracle等各种数据库汇总

    1:docker 安装mongo数据库并使用 官网:https://www.mongodb.com/docs/manual/ mongo shell教程1:http://c.biancheng.net/mongodb2/connection.html 安装1 :https://www.zhihu.com/question/54602953/answer/3047452434?utm_id=0 安装2:https://www.duidaima.com/Group/Topic/ArchitecturedDesign/9182 使用驱动进行java开发:https://mongodb.github.

    2024年02月10日
    浏览(53)
  • mysql、clickhouse查询数据库所有的表以及字段信息

    mysql查询数据库所有的表以及字段信息 SELECT     table_schema 数据库名,   table_name 表名,   COLUMN_NAME 列名,   COLUMN_TYPE 数据类型,   DATA_TYPE 字段类型,   CHARACTER_MAXIMUM_LENGTH 长度,   IS_NULLABLE 是否为空,   COLUMN_DEFAULT 默认值,   COLUMN_COMMENT 备注  FROM  INFORMATION_SCHEMA.COLUMNS where -- tab

    2024年02月08日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包