OLAP数据库

2022-09-20 18:02:43 浏览数 (1)

OLAP数据库

主流的分析性数据库主流的分析性数据库

ClickHouse

ClickHouse 是基于 MPP 架构的分布式 ROLAP分析引擎,真正的列式数据库管理系统。让查询变得更快,最简单且有效的方法是减少数据扫描范围和数据传输时的大小, 而clickhouse的数据始终是按列存储的,同时使用了数据压缩,和日志合并树,稀疏索引和 CPU 功能

架构

  • ZooKeeper:集群通过 ZooKeeper 服务进行管理
  • Shard:集群多个分片组成,通过 Shard 的线性扩展能力,支持海量数据的分布式存储计算。
  • Node:每个 Shard 内包含一定数量的Node,同一 Shard 内的节点互为副本,保障数据可靠。ClickHouse 中副本数可按需建设,且逻辑上不同 Shard 内的副本数可不同。

优点

  • 写入吞吐量大, 50-200 M/S
  • 数据压缩空间大,减少IO,占用更少的内存和cpu,服务器成本低
  • 查询快,比HIVE快200倍以上
  • 支持SQL,支持繁多数据统计分析函数,字段类型支持数组和嵌套数据结构
  • 支持线性扩展,简单方便,高可用容错
  • 高效利用CPU,数据不仅仅按列存储,同时还按向量(列的一部分)进行处理
  • 支持近似计算,从磁盘检索少部分比例的样本进行计算

缺点

  • 元数据管理需要人工干预维护
  • SQL支持比较有限,不支持事务,join大表时,数据比较慢
  • 不适合许多小数据高频插入,批量写入日志会有一定延迟
  • 无法动态添加字段,需要提前定义好表schema
  • 无法支持高并发查询,默认配置qps仅为100
  • 缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据
  • 不支持聚合大的结果集(不能超过机器的内存)

Presto

优点

  • 支持包括复杂查询、聚合、连接(join)和窗口函数(window functions)。
  • Presto 本身不存储数据,但是可以接入多种数据源,且支持跨数据源的级联查询。
  • 所有的查询处理都基于内存,读写比磁盘读写快很多,它通过一个定制的查询和执行引擎来完成的(类似于Hive和Pig使用MapReduce进行查询处理)。

缺点

由于是基于内存的计算,当多张大表进行关联操作时,容易引起内存溢出错误。

Impala

提供对 HDFS、Hbase 数据的高性能、低延迟的交互式 SQL 查询功能。Impala 使用 Hive的元数据, 完全在内存中计算。是CDH 平台首选的 PB 级大数据实时查询分析引擎

Druid

Druid更适合优化大型集群的基础架构成本

0 人点赞