我是靠谱客的博主 包容豌豆,最近开发中收集的这篇文章主要介绍ClickHouse入门学习01ClickHouse入门学习01,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ClickHouse入门学习01

简介

2016年俄罗斯Yandex(类似本土的百度)公司,开源的一款olap数据库,它的前身是公司内部的一款在线流量分析产品Yandex.Metrica。

ClickHouse特点

  • 列存储和数据压缩:典型的olap数据库特性

    列存储方式与行存储方式不同,我们熟悉的MySql数据库使用的是行存储方式,而ClickHouse使用的是列存储。以下user信息表为例:

idnameage
1zhangsan18
2lisi19
3wangwu20

行存储在服务端的数据存放为

1zhangsan182lisi193wangwu20

当我们查询某个人的所有属性时,可以通过一次磁盘查找加顺序读取就可以。但当我们想要查询所有人的年龄时需要全表扫描并取出相应字段。

列存储在服务端的数据存放为

123zhangsanlisiwangwu181920

当我们想要查询所有人的年龄时只需要查询年龄这一个字段就行。因为年龄在磁盘上的存储是连续的。

总的来说,当我们想要查询某个用户的所有信息,行存储方式更为高效,当我们想要表中某个字段的所有信息,并计算一些结果,列存储方式更为高效。

olap和oltp又是什么

oltp(联机事务处理)

操作型处理,叫联机事务处理OLTP(On-Line TransactionProcessing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。

olap(联机分析处理)

分析型处理,叫联机分析处理OLAP(On-Line Analytical Processing)一般针对某些主题的历史数据进行分析,支持管理决策。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-meI8HwdQ-1657014432860)(C:Users24879Desktop笔记图片eb9197f46551f50d36837923c9039f59.jpg)]

ClickHouse中的数据类型

1、基础类型

基础类型只有数值、字符串和时间三种类型。

1.1、数值类型

数值类型分为整数、浮点数和定点数三类

  1. Int

clickhouse中使用Int8、Int16、Int32和Int64指代4种大小的Int类型,其末尾的数字正好表明了占用字节的大小8位=1字节。

  1. Float

clickhouse直接使用Float32和Float64代表单精度浮点数以及双精度浮点数

Float32从小数点后第8位起产生数据溢出

Float64从小数点后第17位起产生数据溢出

  1. 布尔类型

ClickHouse无指定的如true和false布尔型,可以使用 UInt8 取值 0 或 1 表示

  1. Decimal类型
  • 简写方式:Decimal32(S)/Decimal64(S)/Decimal128(S)
  • 原生方式:Decimal(P, S)
    其中P代表精度,表示总位数(整数部分+小数部分),取值范围:1 ~ 38
    S表示小数位数,取值范围:0 ~ P
  1. 字符串

    String 区分MySQL的 varchar() 类型

    FixedString(N) 固定字符长度 N

  2. 枚举类型

    Enum8 对应 Int8 即 ‘String’ = Int8

    Enum16 对应 Int16 即 ‘String’ = Int16

  3. 时间型

    Date 表示 年-月-日

    DateTime 表示 年-月-日 时:分:秒

    DateTime64 表示 年-月-日 时:分:秒:亚秒

  4. 数组型

Array(T) T可以是任意类型,也可以是数组型

Array(T) 也可以直接表示为 [ T ]

DateTime64 表示 年-月-日 时:分:秒:亚秒

  1. 数组型

Array(T) T可以是任意类型,也可以是数组型

Array(T) 也可以直接表示为 [ T ]

注意Nullable类型建议使用无意义的业务数据代替如 -1.

最后

以上就是包容豌豆为你收集整理的ClickHouse入门学习01ClickHouse入门学习01的全部内容,希望文章能够帮你解决ClickHouse入门学习01ClickHouse入门学习01所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部