• clickhouse、Doris、Kylin对比


    clickhouse
    ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,是基于 MPP 架构的分布式 ROLAP (Relational OLAP)分析引擎主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告,可以支持任意指标、任意维度并秒级给出反馈。最大的特色是高性能的向量化执行引擎,而且功能丰富、可靠性高。
    OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;
    OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。
    特点
    列式存储、多样化引擎、高吞吐写入能力
    使用MergeTree基于分区、索引,在查询时候缩小数据范围。
    ClickHouse 之所以如此快,是因为它在设计和实现时采用了多种技术和优化策略:
    1.列式存储:ClickHouse采用列式存储,这种方式可以提高数据压缩比,减少I/O访问,从而加速查询速度
    2.数据分区:ClickHouse支持将数据分成不同的分区,可以减少数据扫描的范围,提高查询速度
    3.数据本地化:ClickHouse可以将数据存储在本地磁盘上,避免了数据网络传输的开销
    4.数据压缩:ClickHouse支持多种数据压缩算法,可以降低磁盘I/O访问和网络传输的数据量
    5.向量化计算:ClickHouse使用SIMD指令集和CPU缓存来实现向量化计算,这样可以在处理大数据集时提高计算速度
    6.并行查询:ClickHouse支持并行查询,可以将一个查询分成多个子查询,同时执行,从而加速查询速度
    7.多级缓存:ClickHouse支持多级缓存,可以将热数据存储在内存中,减少磁盘I/O访问
    综上所述,ClickHouse采用多种优化技术,如列式存储、数据分区、数据本地化、数据压缩、向量化计算、并行查询和多级缓存等,使得它具有出色的查询性能和扩展性

    Doris
    Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。
    MPP 即 Massively Parallel Processing,大规模并行处理,即海量数据并发查询.
    也是列式存储的
    Doris 数据模型的一个显著特点是 Key 列全局唯一,因此存在相同 Key 值的不同 Value。Join性能更好。

    clickhouse更优的方面
    性能更佳,导入性能和单表查询性能更好,同时可靠性更好
    功能丰富,非常多的表引擎,更多类型和函数支持,更好的聚合函数以及庞大的优化参数选项
    集群管理工具更多,更好多租户和配额管理,灵活的集群管理,方便的集群间迁移工具
    Doris更优的方面
    使用更简单,如建表更简单,SQL标准支持更好, Join性能更好,导数功能更强大
    运维更简单,如灵活的扩缩容能力,故障节点自动恢复,社区提供的支持更好
    分布式更强,支持事务和幂等性导数,物化视图自动聚合,查询自动路由,全面元数据管理

    那么两者之间如何选择呢?
    业务场景复杂数据规模巨大,希望投入研发力量做定制开发,选ClickHouse
    希望一站式的分析解决方案,少量投入研发资源,选择Doris
    另外, Doris源自在线广告系统,偏交易系统数据分析;ClickHouse起源于网站流量分析服务,偏互联网数据分析,但是这两类场景这两个引擎都可以覆盖。如果说两者不那么强的地方,ClickHouse的问题是使用门槛高、运维成本高和分布式能力太弱,需要较多的定制化和较深的技术实力,Doris的问题是性能差一些可靠性差一些,下面就深入分析两者的差异。

    kylin
    Kylin 是基于 Hadoop 的 MOLAP (Multi-dimensional OLAP) 技术,核心技术是 OLAP Cube;与传统 MOLAP 技术不同,Kylin 运行在 Hadoop 这个功能强大、扩展性强的平台上,从而可以支持海量 (TB到PB) 的数据;它将预计算(通过 MapReduce 或 Spark 执行)好的多维 Cube 导入到 HBase 这个低延迟的分布式数据库中,从而可以实现亚秒级的查询响应;最近的 Kylin 4 开始使用 Spark + Parquet 来替换 HBase,从而进一步简化架构。由于大量的聚合计算在离线任务(Cube 构建)过程中已经完成,所以执行 SQL 查询时,它不需要再访问原始数据,而是直接利用索引结合聚合结果再二次计算,性能比访问原始数据高百倍甚至千倍;由于 CPU 使用率低,它可以支持较高的并发量,尤其适合自助分析、固定报表等多用户、交互式分析的场景。
    优势场景方面:ClickHouse 通常适合几亿~几十亿量级的灵活查询(更多量级也支持只是集群运维难度会加大)。Kylin 则更适合几十亿~百亿以上的相对固定的查询场景。

    ROLAP 与 MOLAP 与 HOLAP 之间的区别
    ROLAP 与 MOLAP 与 HOLAP 是表示逻辑数据模型的数据仓库的相关术语。
    ROLAP 是指关系数据的关系在线分析处理。
    MOLAP 被称为多维在线分析处理,它通过多个数据维度来实现,特点是数据立方体。
    HOLAP 被称为混合在线分析处理,适用于 ROLAP 和 MOLAP 概念。
    数据仓库中的数据存储和数据安排、设计的视图访问取决于 OLAP 实现的类型。ROLAP SQL 是查询技术,而 MOLAP 使用稀疏矩阵,而 HOLAP 使用 SQL 和稀疏矩阵技术。

  • 相关阅读:
    查看HDF5文件的内容
    Adersoft VbsEdit 9.9X Crack
    为什么我的k8s的节点状态都是notready呢
    mirai Bot初始化配置
    html2canvas+jsPDF实现前端导出pdf
    docker安装mysql8和mysql5.7
    OS之文件逻辑结构
    Learned-Based VO 梳理(USTC Paper Reading)
    gitlub 加载慢问题处理
    Spring aop的简化版本
  • 原文地址:https://blog.csdn.net/DaDiNiWangGe/article/details/134030789