海量数据存储

159 阅读1分钟

使用 Kafka 存储海量原始数据

现代的消息队列,本质上就是分布式的流数据存储系统。Kafka 提供“无限”的消息堆积能力,具有超高的吞吐量,可以满足我们保存原始数据的大部分要求。

image.png

受制于单节点的存储容量,Kafka 实际能存储的数据容量并不是无限的。

其他解决方案

  1. 使用 HDFS 来存储。使用 HDFS 存储数据也很简单,就是把原始数据写成一个一个文本文件,保存到 HDFS 中。我们需要按照时间和业务属性来组织目录结构和文件名,以便于下游计算程序来读取。

优点:无限存储,存储不够可以水平扩容解决。能够提供比Kafka更强的查询能力 缺点:吞吐量比Kafka低,每秒钟百兆左右。

  1. 分布式流数据存储:Pravega、Apache BookKeeper。走类似Kafka路线,提供无限扩容能力。

  2. 时序数据库:InfluxDB和OpenTSDB。专注存储类似监控数据。


此文章为3月Day21学习笔记,内容来源于极客时间《后端存储实战课》