Azure-docs: 为什么在表存储主题上混合表存储和 CosmosDB

创建于 2019-03-14  ·  27评论  ·  资料来源: MicrosoftDocs/azure-docs

[在此处输入反馈]
对于未受过培训的人来说,Azure 网站极其复杂和困难。

为什么在表存储主题上混合表存储和 CosmosDB。 CosmosDB 信息不应编入表存储主题。 为什么你让学习所选主题变得更加困难? 如果我想阅读 CosmosDB,我会转到那个主题,

卡尔


文件详情

请勿编辑此部分。

Pri1 assigned-to-author doc-enhancement review-team-triage storagsvc triaged

最有用的评论

我同意这令人困惑。 我最终在这里试图找到使用 Azure 表存储的文档(更昂贵,在我的情况下是不必要的 Cosmos DB 产品),但几乎每个链接都没有将您发送到 Cosmos DB 表 API。 那真不幸。

我们是否可以由此得出结论,我们所知道的 Table Storage 最终会被 Cosmos DB 所吸引? 如果没有,是否可以从此页面链接到正确的存储表文档?

所有27条评论

@kdawg1406感谢提问! 我们正在调查,并会尽快为您更新。

你好@kwaman
表存储和 Cosmos DB 都是在 Azure 中存储结构化 NoSQL 数据并因此组合在一起的产品。

我们会将这个问题分配给内容所有者,以进行适当的评估和更新。

我需要有关这些差异的提示和后续文章(此处的 TOC 中的一篇,以及指向相关 Cosmos DB 部分的提示中的链接)。 我的第一个问题是两者之间的区别是什么,那些为我回答了这个问题的人。

提示的框架有点像追加销售,所以我理解为什么原始评论者留下了他们所做的反馈。 在深入研究产品后,我明白为什么我们需要两者(或至少需要两者的功能/性能/定价选项)。

目前尚不清楚 CosmosDB 的 SDK 是否支持常规的 Azure 表存储服务。

此外,将Microsoft.Azure.Cosmos.TableMicrosoft.Azure.Storage.Blob包安装到同一个项目中是一个巨大的痛苦 - 它们有许多类似的类型,如CloudStorageAccountStorageCredentialsStorageException 。 这似乎不是一次很棒的体验🙁

恕我直言:这接近采用阻止程序。 微软正在花费大量资金来吸引新业务。

当文档难以成功(对 Azure 没有深入的技术理解)时,这会阻止或阻碍采用。

花费资源并使文档变得简单,以便尝试加入以取得成功。

顶部的单个 NOTE 引用 Cosmos-db 是可以接受的并且是有意义的。 但是在注释之后,休息一下,让内容与标题和用户期望相匹配。

卡尔

我同意这令人困惑。 我最终在这里试图找到使用 Azure 表存储的文档(更昂贵,在我的情况下是不必要的 Cosmos DB 产品),但几乎每个链接都没有将您发送到 Cosmos DB 表 API。 那真不幸。

我们是否可以由此得出结论,我们所知道的 Table Storage 最终会被 Cosmos DB 所吸引? 如果没有,是否可以从此页面链接到正确的存储表文档?

同意这很令人困惑。
试图找出 Azure 表存储需要哪个 nuget 包 - 在以下位置找到了旧包页面:
https://www.nuget.org/packages/WindowsAzure.Storage/
它指出:
https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.Table/
其中指出:
https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table

哪个不是真的说这是 Azure 表存储的包? 它说:“这个客户端库支持使用 Microsoft Azure CosmosDB 表存储......”
无论如何,我安装了它,它似乎可以工作。

指出 CosmosDb 不适合的领域也非常重要。 我将使用这些表作为 PowerBI 的数据源,虽然您可能将 PowerBI 和 CosmosDb 之间的连接称为“预览”,但它很像在生产中进行测试。 我真的很想知道您是否打算取消常规存储空间中的表存储选项以提升您的 CosmosDb 产品。 如果这是您要走的道路,我们需要知道,以便我们评估其他选项。

Azure 表存储上的文档确实令人困惑。

是的,我可以回应这里所说的大部分内容。 我只是在寻找几个小表来搭配一些 Azure 函数,我正在努力开始。 文档更改表明 Cosmos DB 正在替换 Azure 存储表,因为现在大多数文档都指向 Cosmos。 但看看定价,它不适合我的项目,我不需要那么多的性能、规模或 RU。

所有这些都让我的入门体验变得一团糟,开始希望我刚刚制作了一个控制台应用程序和一个小型 Azure SQL DB。

Azure 表存储(链接)和 Azure Cosmos DB 表 API(链接)是两个独立的服务,其中 Cosmos DB 表 API 仍提供与表存储 API 相同的功能,但具有附加功能。 如果对路线图或功能有任何疑问,请联系AskCosmosDB 。 他们很乐意回答问题。

是的,我也很困惑,在关于 Azure 表存储的问题中,他们说“这是由 CosmosDB 团队拥有的”……还有 Azure 表存储,入门价格(几乎)为零,大约 5 美元/月对于 cosmosdb... 等。

@Mike-Ubezzi-MSFT - 实际上,如果您尝试在 PowerBI 中使用它,它们在功能上是完全不同的(这绝对是 PowerBI 中提供的生产类型解决方案中的测试。它真的应该从 PowerBI 中删除,直到它准备好为止。 )我坚持了一段时间,直到我明白它实际上已经坏了 - 它看起来像是一个选项(它适用于常规表,但不适用于 Cosmos 表)

我上周打电话要求删除 Azure 作为我们解决方案的非结构化表存储的可能性,因为它在 Azure 平台上的未来存在不确定性。 我之前在微软看到过这个周期,当时销售部门决定将股份注入产品中,我不想再次陷入其中。

在提供的链接上 - 如果您查看您提供的 Azure 表存储链接(链接),大部分说明都是关于如何转换为 CosmosDb 或如何使用 CosmosDb。 我们这些已经有一段时间的人知道这意味着什么。 请询问有关权力,告诉我们他们是否正在扼杀产品,以便我们停止使用它进行构建并找到其他对我们有用的解决方案。 (迈克 - 我知道那不是你,我不打算让你觉得自己像个对手。)

@MarkSiteRankSystems感谢您的反馈。 这个(链接)有一个 Uservoice 条目,这个功能似乎是计划外的。 此外,Cosmos DB 的 ODBC 驱动程序支持 SQL API:目前仅 Azure Cosmos DB SQL API 帐户支持使用 ODBC 驱动程序连接到 Azure Cosmos DB(链接)。
是否有将 Cosmos Table API 与 PowerBI 结合使用的教程? 这个应该拉。
至于文档,我同意所有服务都应该在他们自己的书中端到端地详细说明,而不是这种重叠信息的混合。 反馈已被捕获。

我的印象是对 Cosmos DB 有商业推动,利用用户的困惑并希望他们激活 Cosmos DB 而不是 Azure Table。
然而,这排除了不需要昂贵 Cosmos DB 并且只能使用 Azure 表存储或在其他地方寻找 Microsoft 竞争对手的用户(有类似于 Azure 表存储的竞争对手,它们沟通良好,不会给人留下被关闭的印象)第二天)。

此外,这种对通用 API [1] 和 Cosmos DB 商业化的推动给我们留下了破损的文档。 今天我正在阅读 StackOverflow [2],我发现 Tables Attribute [IgnoreProperty] 文档 [3] 已离线。

非常糟糕的是,尝试进行追加销售反而会扰乱您的客户群。

[1] 通用 API 本身并不是一件坏事,但是当编写 API 文档时给人留下 Azure 表存储被解雇的印象,这是一种有问题的商业实践
[2] https://stackoverflow.com/questions/53084652/azure-table-storage-property-attributes
[3] https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.table.ignorepropertyattribute?view=azure-dotnet

新年快乐! 这还是没有解决。 我很高兴我找到了这个讨论 - 不再感到那么孤单了。

我已经收集到我应该能够将 Microsoft.Azure.Cosmos.Table 用于 Azure 表 - 希望用于管理表本身和其中的数据。 有人知道 Azure 表的这些案例的任何相关/当前示例吗? 我可以避免实体/存储库层 - 我真的只想管理简单的 CRUD 语句和 DDL 命令。

哈哈,我们在 2020 年 5 月……这里也有同样的问题。 我对 Cosmos DB 不感兴趣,我正在使用 MongoDB Atlas(使用非 C# Legacy UUID 类型顺便说一句......),只想要一个简单的廉价 Azure Table 随用随付选项来存储日志和作为辅助备份不会丢失数据...似乎很难找到任何文档。 在 Azure 门户上搜索“azure table”将我指向 Azure CosmosDB ......似乎不可能在旧的 Azure Tables 上找到最近的文档......
我想我得去别的地方了...

@alexandre-spieser 您正在寻找独立的Azure 存储文档实例。 如果您要创建表存储实例,搜索 Azure 存储和表将与基于 Blob、队列和文件的存储选项一起部署。

本文档解释了这两个选项以及 Azure 表存储如何作为产品对齐,它是 Cosmos DB 服务的一部分。 如果您希望查看差异: Azure Cosmos DB 中的表 API 与 Azure 表存储。 如果您正在寻找非 Cosmos DB 表实例,请参阅Azure 存储文档

我们现在将继续关闭此线程。 如果对此事还有其他问题,请发表评论,我们将很乐意继续讨论。

@Mike-Ubezzi-MSFT 很多 Azure 表存储技术文档都指向 CosmosDB 技术文档。 说明这是微软内部的同一个产品组/团队。 Azure 表存储记录不足。

Azure 表存储和 Azure Cosmos DB 类似于 Azure 存储队列和 Azure 服务总线。 前者用于廉价存储和基本访问操作,后者是更昂贵但具有高级访问功能的存储。 两者在不同的场景中都很有用。 它们都应该是独立的产品。

附注。 Cosmos DB 的表 API 目前无法替代 Azure 表存储,因为那里缺少基本功能 - 按 PartitionKey AND RowKey 排序 (https://stackoverflow.com/questions/54946694/ordering-data-in-azure -cosmos-table-api)。 这种排序被使用 Azure Tables 的应用程序广泛使用(因为这只是排序的可能性),我个人不明白为什么超级先进的 Cosmos DB 不通过 Table API 支持这么简单的功能?

说起来容易做起来难。 在为 MSFT 工作一小段时间时,人们可以理解为什么文档是这样制作的,总是需要不断发展的反馈流!

我确实想跟进这个话题。 我了解 Azure 表存储和 Azure Cosmos DB 表 API 文档需要分开。 这是一项更大的努力,正在内部讨论中,感谢您继续就此分享您的想法和想法。
此外,正如 2019 年 3 月 15 日指出的,Cosmos Table API 有一个排序选项,作为对 Stack Overflow 线程的回答。 另请参阅已于 3 月 17 日完成的Table API 排序功能请求。 有关当前和未来版本和发行说明,请参阅: Azure Cosmos DB Table .NET Standard API:下载和发行说明

除了特性之外,在某些场景下,解决方案之间的成本差异仍然很大。 因此,CosmosDB 很好,但它不会为了简单查询和低成本需求而取代表存储。

这是使用最新的Microsoft.Azure.Cosmos.Table NuGet 包快速启动和运行旧版Azure 表存储的指南

  1. 获取代码示例: https :
  2. 更新所有 NuGet 包
  3. 在 Program.cs 中注释掉与 BasicSamples 有关的两行(它们是新的 Cosmos 内容,旧的 Azure 表存储位在 AdvancedSamples 中)
  4. 在 Settings.json 中设置 "StorageConnectionString": "UseDevelopmentStorage=true;"
  5. 启动 Azure 存储模拟器
  6. 运行代码

可选
在 AdvancedSamples.cs 中注释掉 await SamplesUtils.DeleteEntityAsync(table, customerRead);
使用 Microsoft Azure Storage Explorer 连接到模拟器并查看创建的表及其数据

希望能帮助某人

@Mike-ubezzi-MSFT:有没有想过创建一个关于如何从已弃用的 Windows 存储迁移到 CosmosDB 包的迁移文档? 我知道这就像更改命名空间一样简单 - 但是在搜索文档时,我被带到这里作为热门话题。

此页面是否有帮助?
0 / 5 - 0 等级