一 简介:进一步了解clickhouse
二 数据操

1 单机建表

create TABLE aaa


    id UInt32,
    uid UInt32,
    amount Float64,
    create_time Date
    )
   ENGINE = MergeTree//单机默认引擎
   ORDER BY id
    SETTINGS index_granularity = 8192

2 复制集群建表

CREATE TABLE image_label
   (
   label_id UInt32,
   abel_name String,
   insert_time Date
   )
ENGINE = ReplicatedMergeTree('/clickhouse/tables/01-01/image_label', 'IP', insert_time, (label_id, insert_time), 8192)//这里指定ZK信息+主键+稀松索引

3 同步数据

CREATE TABLE article_clientuser_sum
     
ENGINE = MergeTree ORDER BY id AS
     
SELECT *
     
FROM mysql('host:port', 'db', 'article_clientuser_sum', 'user',
'password')

4 总结

可以采用1和2的这种方式建立表,也可以采用3方式建立表要注意几点

1 clickhouse在方案3下会自动建立表结构,但是一定要加上order by 主键字段,这样会按照主键字段排序插入,是有序的

2 clickhouse在方案2下最好指定相应主键(主键名称,主键构成,稀松索引粒度)

3 INDEX_GRANULARITY一般情况下为8192,代表每隔多少行做一个标记

4
Date/int类型作为主键效果最好,尽量不要用string,在uuid作为主键的时候要选择日期,这样效率很高

5  clickhouse会自动识别并且兑换mysql的相关列,对于不能识别的列变化成string,但是这种列很少

三 数据类型

1 整型:JInt8,UInt16,UInt32,UInt64,Int8,Int16,Int32,Int64 释:(范围U开头-2^N/2~2^N-1;非U开头0~2^N-1)

2 精度类型:FLOAT32,FLOAT64

3 枚举类型:Enum8,Enum16 释:(Enum('hello'=1,'test'=-1),Enum是有符号的整型映射的,因此负数也是可以的)

4 字符串型:FixedString(N),String 释:(N是最大字节数)

5 时间类型:Date

6 数组类型:Array(T)

7元祖数:Tuple

8结构:Nested(name1 Type1,name2 Type2,...) 释:(类似一种map的结构)

补充:对于clickhouse不支持的类型会以string识别,针对blob,text等建议也用string代替

四  常见的数据操作

1 增加 insert  into  value

2 删除 alter table delete where  truncate 包括简单条件和子查询都可以

3 更改 alter table  针对列和分区的操作

五 附录

  1 http://www.clickhouse.com.cn/ clickhouse中文社区
  2 DBeaver 可视化工具
  3 https://tech.jikelab.com/labs-docs/zh-cn/docs/intro/quickstart.html JDP集群平台

列式数据库~clickhouse 数据同步使用的更多相关文章

  1. 列式数据库~clickhouse 场景以及安装

    一 简介:列式数据库clickhouse的安装与基本操作二 基本介绍:ClickHouse来自俄罗斯,是一款列式数据库三 适用场景: 简单类型的大数据统计四 限制     1 不支持更新操作,不支持事 ...

  2. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)

    概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...

  3. 列式数据库~clickhouse 底层存储原理

    简介:今天介绍列式数据库的一些基本原理 一  数据目录 Data目录 数据存储目录,数据按照part分成多个文件夹,每个文件夹下存储相应数据和对应的元信息文件 Metadata 表定义语句,存储所有表 ...

  4. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(中)

    实战 案例使用 背景 ELK作为老一代日志分析技术栈非常成熟,可以说是最为流行的大数据日志和搜索解决方案:主要设计组件及架构如下: 而新一代日志监控选型如ClickHouse.StarRocks特别是 ...

  5. 列式数据库~clickhouse日常管理

    clickhouse日常管理一 变量相关  1 查看变量     system.setting相关表  2 设置变量     set variables= 请注意这里是session级别,如果想永久生 ...

  6. 列式数据库~clickhouse 副本集架构的搭建

    clickhouse 搭建副本集 一 原理:  1 依赖ZK,ZK的基础上,ZK存储数据库元数据 2  使用复制表引擎创建复制表,包括ZK路径和副本名,相同ZK路径的表可以相互复制 3  复制表本身拥 ...

  7. 列式数据库~clickhouse问题汇总

    一 简介:常见的clickhouse 问题汇总 二 问题系列  1 内存问题     Code: 241. DB::Exception: Received from localhost:9000, : ...

  8. Hbase与Oracle比较(列式数据库与行式数据库)

    Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间.   Hbase本质上只 ...

  9. Hadoop HBase概念学习系列之HBase里的列式数据库(十七)

    列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...

随机推荐

  1. 两个序列求前k大和

    ---恢复内容开始--- 没有题目,没有题意,这是学长提过的一个技巧,给你两个排好序的序列,每次可以各从中取一个,求前k大的和, 一个优先队列,先将a序列中最大的那个和b序列所有元素相加存进队列中,每 ...

  2. 51nod1268(基础dfs)

    解题思路:直接搜索找就行了,搜两边,一个是加入这个数字,一边是不加入这个数字 代码: #include<iostream>#include<algorithm>#define ...

  3. Nginx referer防盗链模块

    L75 referer模块 ngx_http_referer_module 默认编译进nginx valid_referers 指令 Syntax: valid_referers none | blo ...

  4. mybatis 缓存(cache)的使用

    许多应用程序,为了提高性能而增加缓存, 特别是从数据库中获取的数据. 在默认情况下,mybatis 的一级缓存是默认开启的.类似于hibernate, 所谓一级缓存,也就是基于同一个sqlsessio ...

  5. TensorFlow分布式计算机制解读:以数据并行为重

    Tensorflow 是一个为数值计算(最常见的是训练神经网络)设计的流行开源库.在这个框架中,计算流程通过数据流程图(data flow graph)设计,这为更改操作结构与安置提供了很大灵活性.T ...

  6. 自学Python1.5-Centos内python2识别中文

    自学Python之路 自学Python1.5-Centos内python2识别中文 方法一,python推荐使用utf-8编码方案 经验一:在开头声明: # -*- coding: utf-8 -*- ...

  7. 【CF960G】Bandit Blues(第一类斯特林数,FFT)

    [CF960G]Bandit Blues(第一类斯特林数,FFT) 题面 洛谷 CF 求前缀最大值有\(a\)个,后缀最大值有\(b\)个的长度为\(n\)的排列个数. 题解 完完全全就是[FJOI] ...

  8. 服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数

    最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加. 一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右. 运行20天后,内存占用(PF使用):1.8G ...

  9. malloc创建三维数组

    #include <stdio.h> #include <stdlib.h> #include <malloc.h> int main() { //f[0],f[] ...

  10. JS模块化开发(一)——seaJs

    模块化开发要解决的问题: 1.冲突 比如:多人协作开发时,不同js库中的函数重名问题 可以用命名空间解决: var module={} module.a=1; module.b=function(){ ...