gpt4 book ai didi

mongodb - 为什么我们需要 Apache Kafka 和 NoSQL 数据库?

转载 作者:可可西里 更新时间:2023-11-01 09:23:58 37 4
gpt4 key购买 nike

Apache Kafka 是一种实时消息服务。它以分布式和容错的方式安全地存储数据流。我们可以在访问生产者时过滤流数据。我不明白为什么我们需要像 MongoDB 这样的 NoSQL 数据库来在 Apache Kafka 中存储相同的数据。真正的问题是,为什么我们将相同的数据存储在 NoSQL 数据库和 Apache Kafka 中?

我认为如果我们需要一个NoSQL数据库,我们可以先在MongoDB中收集来自客户端的数据流,而不需要使用Apache Kafka。但是,大多数大数据架构偏好在数据源和 NoSQL 数据库之间使用 Apache Kafka。( see ) and also see

这对实际系统有什么好处?

最佳答案

这种架构有几个优点:

  1. Kafka 作为数据集成总线

    它有助于轻松地在多个生产者和多个消费者之间分发数据。在这里,Apache Kafka 充当“​​数据”集成消息总线。

  2. Kafka 作为数据缓冲区

    将 Kafka 放在您的“终端”数据存储(如 MongoDB 或 MySQL)之前就像一个天然的数据缓冲区。因此,您可以独立部署/维护/重新部署您的消费者服务。当您的服务因维护而停机时,Kafka 仍在存储所有传入数据,这非常有用。

  3. Kafka 作为短时数据存储

    您不必将所有内容都存储在 Kafka 中:您经常会使用带有保留功能的 Kafka 主题。这意味着所有早于某个值的数据将被 Kafka 自动删除。因此,例如,您可能拥有保留 1 周的 Kafka 主题(因此您仅存储 1 周的数据),但同时您的数据存在于长期存储服务中,如经典 SQL-DB 或 Cassandra 等。

  4. Kafka 作为长期数据存储

    另一方面,您可以将 Apache Kafka 用作长期存储系统。使用压缩主题使您能够只存储每个键的最后一个值。因此,您的主题成为您应用的最后状态存储。

关于mongodb - 为什么我们需要 Apache Kafka 和 NoSQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48742935/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com