ClickHouse入门学习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:\Users\24879\Desktop\笔记图片\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.

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值