DSMS、Storm 和 Flink 的区别

Difference between DSMS, Storm and Flink

DSMS 对应于数据流管理系统。这些系统允许用户提交将持续执行的查询,直到被用户删除。

Storm 和 Flink 等系统可以被视为 DSMS 还是更通用的东西?

谢谢

这两种类型的系统在尝试解决不同的用例时更加相互正交。因此,none 确实包含或概括了另一个。

DSMS 通常是:

  • 端到端解决方案,提供存储和计算作为统一解决方案
  • 需要先将外部数据导入系统
  • DSMS 通常 SQL 以易于使用为导向,但通常表现力较差
  • 通常只能处理结构化数据(基于模式的元组格式)
  • DSMS 经常无法扩展

流处理框架(Flink、Storm、Spark):

  • 只提供计算层和来自其他存储系统的消费者数据
  • 大多数提供语言嵌入式 DSL(有些也在某种程度上提供 SQL)
  • 可以处理任何类型的数据(平面元组、JSON、XML、平面文件、文本)
  • 构建以扩展到大型集群(数百个节点)
  • 适合数据处理、机器学习

流媒体平台(Kafka)

  • 提供存储层和计算
  • 可以处理任何类型的数据,只要导入系统(平面元组、JSON、XML、平面文件、文本)
  • 可扩展且有弹性
  • 没有 SQL,只有 Java DSL(Confluent Platform which is based on Kafka offers KSQL 作为开发者预览)
  • 非常适合构建微服务