zoukankan      html  css  js  c++  java
  • ClickHouse 详解

    1. 简介

    官方文档:https://clickhouse.yandex/docs
    ClickHouse 是一个采用列式存储,用于联机分析(OLAP)的数据库管理系统(DBMS)

    2.ClickHouse 的优点

    2.1 "真正"的列式存储

    一个真正的列式存储的数据库管理系统中,除了数据本身之外不应该存在其他额外的数据。意味着为了避免在只旁边存储它们的长度 'number',必须支持固定长度的数值类型。ClickHouse 的数据类型都是固定长度。

    2.2 实时的数据更新

    ClcikHouse 数据是以增量的方式有序的存储在 MergeTree 中。因此,数据可以持续不断高效的写入到表中,并且写入的过程中不会存在任何加锁的行为。

    2.3 支持近似计算

    ClickHouse 提供各种各样在允许牺牲精度的情况下对查询进行加速的方法

    1. 用于近似计算的各类聚合函数,如:distinct values, medians, quantiles
    2. 基于数据的部分样本进行近似查询。这时,仅会从磁盘检索少部分比例的数据。
    3. 不使用全部的聚合条件,通过随机选择有限个数据聚合条件进行聚合。这在数据聚合条件满足某些分布条件下,在提供相当准确的聚合结果的同时降低了计算资源的使用

    2.4 支持数据复制和数据完整性

    ClickHouse 使用异步的多住复制技术。当数据被写入到任何一个可用副本后,系统在后台将数据分发给其他副本。

    1. 只有 MergeTree 系列里的表壳支持副本
    2. 副本是表级别的,不是整个服务器级的。
    3. 副本不依赖分片,每个分片有它的独立副本
    4. 对于 InsertAlter 语句操作数据的会在压缩的情况下被复制
    5. CREATE,DROP,DETACH,RENAME 语句只会在单个服务器上执行,不会被复制
      • CREATE TABLE 在运行此语句的服务器上创建一个新的可复制表。如果此表已存在其他服务器上,则给该表添加新副本。
      • DROP TABLE 删除运行此查询的服务器上的副本。
      • RENAME 重命名一个副本。换句话说,可复制表不同的副本可以有不同的名称。

    3. ClickHouse 的缺点

    1. 没有完整的事务支持
    2. 缺少高频率、低延迟的修改或删除已存在数据的能力,仅能用于批量删除或修改数据。
  • 相关阅读:
    unity3d 启用某层设置
    Unity同 iOS,Android数据交互
    Unity发布EXE去掉边框生成安装程序的最简单方法
    判断物体相对自己的方位
    相机Culling Mask 用法
    LitJson 用法
    Unity3d Attribute 总结
    unity3d shader 预定义着色器预处理宏
    (转)傅里叶分析 变换等
    Shaders: ShaderLab & Fixed Function shaders
  • 原文地址:https://www.cnblogs.com/wuning/p/12058478.html
Copyright © 2011-2022 走看看