【问题标题】:Key differences between Azure DocumentDB and Azure Table StorageAzure DocumentDB 和 Azure 表存储之间的主要区别
【发布时间】:2014-10-16 01:03:18
【问题描述】:

我正在为我的新项目选择数据库技术。我想知道 Azure DocumentDB 和 Azure Table Storage 之间的主要区别是什么?

看来 DocumentDB 的主要优势在于全文搜索和丰富的查询功能。如果我理解正确,我不需要单独的搜索引擎库,例如 Lucene/Elasticsearch。

另一方面,表存储要便宜得多。

还有哪些其他差异会影响我的决定?

【问题讨论】:

  • 询问为什么使用表(键/值数据库)与 DocumentDB(文档数据库)是一个基于意见的问题,不适合这里。也就是说:这两种特定类型的数据库技术之间存在客观差异。我回答了一个类似的问题here,关于 mongodb 与表存储。它不会尝试在何时使用一种与另一种时提供指导(同样,这是基于意见的,以及基于应用程序的)。
  • 您确定 DocumentDB 提供全文搜索功能吗?如果是,请指出来源。

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


【解决方案1】:

我认为Azure Search 是 Lucene 的替代品。我将 Lucene.net 用作工作者角色,并且只是想不必处理基础架构、摄取等问题。Azure 搜索服务对我很有吸引力。

我在 Azure 存储中遇到了一个场景,其中我看到了 DocumentDB 完美契合,它可以解释我的观点。
我使用 Azure 存储在 Azure SQL 数据库之外的解决方案中准备和保存用户活动的每日摘要,因为大量客户经常请求这些摘要,并且很有可能在一天中的某些时间遇到峰值。一次简单的写入一次读取许多场景使用模式(我的架构)Azure SQL db 发现它很难应付,但它完全适合存储容量(顺便说一句,由于大小,每日摘要不在缓存中)。
这种情况随着时间的推移而演变,现在我碰巧在这些摘要中保留了更多汇总和准备使用的数据,并且更新变得更加复杂。

将这些每日摘要保存在 DocumentDB 中将使场景中的一次性写入部分更加细化,仅更新复杂摘要中的相关数据,并简化读取部分,因为获取更多摘要的部分内容的能力变得微不足道,例如。

在数据为unstructured and rather complex的场景下我会考虑DocumentDB,我需要丰富的查询能力(表存储在这部分是滞后的)。
在需要高吞吐量全文搜索的情况下,我会考虑Azure Search

我没有找到配额/预期性能来精确比较 DocumentDB 和 Search,但我高度怀疑 Search 最适合替换 Lucene。

HTH,戴维德

【讨论】:

  • 这是一个的意见。这就是为什么最好不要发布基于意见的答案。根本没有一个正确的意见。
  • @DavidMakogon:您认为我应该删除回复,因为它是一种意见?抱歉,我回复的时候没有注意政策。
  • 简而言之,如果您需要对数据运行搜索查询,这听起来像是您在说 Document DB 是理想的选择。感谢您的有用回答。
猜你喜欢
  • 1970-01-01
  • 2016-06-16
  • 2019-07-01
  • 2015-05-09
  • 2019-07-22
  • 1970-01-01
  • 2022-10-24
  • 2021-11-23
  • 2019-03-11
相关资源
最近更新 更多