DSMS,Storm和Flink之间的区别

时间:2016-11-20 12:50:47

标签: apache-spark apache-storm apache-flink apache-kafka-streams

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

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

由于

1 个答案:

答案 0 :(得分:2)

两种类型的系统在尝试解决不同的用例时彼此更加正交。因此,没有一个包含或者是另一个的概括。

DSMS通常是:

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

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

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

流媒体平台(Kafka)

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