【问题标题】:Which NoSQL DB (Azure Tables, Document DB, Mongo DB or others) is suitable for data analysis reports of Big Data?哪种 NoSQL DB(Azure Tables、Document DB、Mongo DB 或其他)适合大数据的数据分析报告?
【发布时间】:2017-08-21 16:08:37
【问题描述】:

我正在做一个物联网项目。我们将从每台设备向 DB 发送每分钟 15KB 的 JSON 文档。我想到了使用 Azure DocumentDB。我不太担心 Azure DocumentDB。

  1. 假设有 5000 台 IoT 设备,我必须购买的预期 RU 应该是多少?

  2. 当请求数量(比如客户数增加到 7000)超过固定请求单位时会发生什么情况,这会使应用变慢吗?

  3. 当我们在 documentDB 中执行长时间运行的查询(如复杂的报告)时会发生什么?

  4. 谁能建议其他 NoSQL DB 是否适合上述配置文件?

提前致谢

【问题讨论】:

    标签: mongodb azure azure-table-storage azure-cosmosdb nosql


    【解决方案1】:

    虽然对于您使用哪个数据库没有客观答案,但我可以客观地回答您使用 Cosmos DB 提出的具体问题(在您的情况下为 DocumentDB API,但适用于任何受支持的 API)。

    我必须购买的预期 RU 应该是多少?

    这需要您进行一些基准测试,以确定要分配多少 RU。每个操作在返回的标头中返回 RU 成本。根据该成本,您可以计算持续写入工作负载所需的 RU。此外,如果您将索引更改为使用延迟索引而不是一致索引,则可以稍微降低每次操作的 RU 成本。

    当请求数量(假设客户数量增加到 7000) 超过固定的请求单位,会不会让应用变慢?

    通常,如果您超过分配的 RU,您将被限制一段时间。因此,例如,如果您有 1000 RU 设置,并且在插入期间消耗 3000 RU,您将被限制大约 2-3 秒。

    为避免(或尽量减少)此类限制,您可以启用每分钟 RU 突发,这是一个 10 倍 RU 缓冲区(适用于 60 秒间隔)。在我之前的 1000 RU 示例中,这将为您提供 10,000 RU 净空,分布在 1 分钟的时间段内。这样一来,如果您有短暂的 RU 峰值将您推到分配的基线 RU 之上,您将保留 RU 来消耗,以防止受到限制。

    当我们在 documentDB 中执行长时间运行的查询时会发生什么(比如 复杂的报告)?

    不确定您所说的长时间运行的查询到底是什么意思,但是...就像我上面描述的那样:如果您消耗的流量超过您的 RU/秒,您将在运行下一个查询之前受到限制(除非您启用每分钟 RU)。

    【讨论】:

      【解决方案2】:

      关于你的问题,大卫有所有的答案。我想把第四个放大一点。

      恕我直言,您问错了问题。 (NoSQL)数据库仅用于存储(顺便说一句,为什么仍然仅限于 NoSQL 存储?)。而是专注于您感兴趣的分析,并深入研究提供此类分析的服务,例如 Azure Data Lake Analytics、Azure 流分析等。如果您清楚了解所需的分析,则更容易确定 Azure 服务是什么最合适的。

      我建议写下您的确切要求,然后考虑正确的存储类型,并且不要将您的范围仅限于 NoSQL 服务。还有 Azure 数据仓库和 Azure 分析服务、Blob 存储等。

      Power BI 或 Azure Data Lake Analytics 等分析工具可以处理多种类型的 Azure DB 和存储

      顺便说一句,还有 Azure IoT 指南,可以在 https://azure.microsoft.com/en-us/services/iot-hub/ 找到

      编辑:我知道这可能不是像大卫回答那样以扩展方式解决所有问题的答案类型,但我认为要获得您需要知道的正确类型的存储需要进行什么样的分析

      【讨论】:

      • 不确定投反对票的确切原因(不是我)但是...阅读您的答案,如果我不得不猜测:#1 不能用计算器确定。如果不查看结果标头中的 RU,就无法知道每次操作的成本。 #2 - 是的,有节流,但你可以解决它。 #3 - 这并没有真正解决长期运行的查询问题。 #4 - 如果不注入意见就无法回答/<insert favorite database tool here>
      • @DavidMakogon 是的,问题是问题有点过于宽泛,因为我们不知道所需的分析类型。我将编辑并留下我的答案,直到 OP 阅读它,然后决定是否删除它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      相关资源
      最近更新 更多