• ClickHouse 初步认识


    概述

    Clickhouse 是分析型数据库,真正的面向列式存储,支持高维度表。它免费开源、具备高效的数据导入和查询性能,能达到 50M/200M 每秒。支持实时查询、支持不同功能底层存储引擎,例如:MergeTree、Replicate、Distributed、Kafka 等。

    特性

    1、面向分析型数据库、SQL、结构化、MPP,独立于 hadoop 生态。
    2、C++ 开发,支持 Linux。
    3、高速写入 (50M/200M) 每秒,支持实时查询。
    4、列式存储结构,高效压缩,SIMD、向量化计算。
    5、充分利用硬件资源,既能水平扩展,也能垂直扩展。
    6、支持不能底层存储引擎,例如:MergeTree、Replicate、Distributed、Kafka 等。

    应用场景

    1、大多数是读请求
    2、数据总是以相当大的批(> 1000 rows)进行写入
    3、不修改已添加的数据
    4、每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列
    5、宽表,即每个表包含着大量的列
    6、较少的查询(通常每台服务器每秒数百个查询或更少)
    7、对于简单查询,允许延迟大约50毫秒
    8、列中的数据相对较小: 数字和短字符串(例如,每个URL 60个字节)
    9、处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)
    10、事务不是必须的
    11、对数据一致性要求低
    12、每一个查询除了一个大表外都很小
    13、查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中

    使用 Docker 方式安装ClickHouse

    创建数据持久化目录

    mkdir $HOME/some_clickhouse_database
    

    创建并运行 clickhouse-server 容器

    docker run -d -p 8123:8123 --name some-clickhouse-server --ulimit nofile=262144:262144 --volume=$HOME/some_clickhouse_database:/var/lib/clickhouse yandex/clickhouse-server
    

    创建并运行 clickhouse-client 容器

    docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
    

    简单使用

    创建表

    :) create table t (id UInt16, name String) engine=MergeTree order by (id);
    

    插入数据

    :) insert into t(id, name) values (1, 'first');
    :) insert into t(id, name) values (2, 'second');
    :) insert into t(id, name) values (3, 'three');
    

    查询数据

    :) select * from t;
    

    更新数据

    :) alter table t update name='first1' where id=1;
    

    删除数据

    :) alter table t delete where id=1;
    

    相关参考

    1、https://gitbook.cn/books/5dc5c2e6573506442c3b30c2/index.html
    2、https://clickhouse.tech/docs/zh/
    3、https://uzshare.com/view/819521

  • 相关阅读:
    Javascript 运动中Offset的bug——逐行分析代码,让你轻松了解运动的原理
    Javascript 多物体运动——逐行分析代码,让你轻松了解运动的原理
    thymeleaf设置网页脚本里面的值
    win10系统瞬间黑屏问题
    Spring boot启动端口设置
    idea打包jar包
    java socket使用例子
    java使用socket读取网页
    java读取网页
    Error:Unexpected lock protocol found in lock file. Expected 3, found 0
  • 原文地址:https://www.cnblogs.com/yxhblogs/p/12875322.html
Copyright © 2020-2023  润新知