Azure-docs: Por que misturar armazenamento de tabela e CosmosDB em um tópico de armazenamento de tabela

Criado em 14 mar. 2019  ·  27Comentários  ·  Fonte: MicrosoftDocs/azure-docs

[Digite o feedback aqui]
Para os destreinados, o site do Azure é incrivelmente complexo e difícil.

Por que misturar armazenamento de tabela e CosmosDB em um tópico de armazenamento de tabela. As informações do CosmosDB não devem ser inseridas no tópico Armazenamento de tabela. Por que você está dificultando o aprendizado do tópico selecionado? Se eu quisesse ler sobre o CosmosDB, iria para esse tópico,

Karl


Detalhes do Documento

Não edite esta seção.

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

Comentários muito úteis

Eu concordo que isso é confuso. Acabei aqui tentando encontrar a documentação para usar o Armazenamento de Tabela do Azure sem (mais caro e, no meu caso, oferta desnecessária do Cosmos DB), mas praticamente todos os links não enviam você para a API de Tabela do Cosmos DB. Isso é lamentável.

Devemos concluir disso que o Table Storage como o conhecíamos acabará simplesmente sendo incluído no Cosmos DB? Caso contrário, a documentação adequada da Tabela de armazenamento poderia ser vinculada a partir desta página?

Todos 27 comentários

@ kdawg1406 Obrigado pela pergunta! Estamos investigando e atualizaremos você em breve.

Ola @kwaman
Tanto o Table Storage quanto o Cosmos DB são ofertas para armazenar dados NoSQL estruturados no Azure e, portanto, agrupados.

Iremos atribuir este problema ao proprietário do conteúdo para avaliar e atualizar conforme apropriado.

Eu precisava da dica e dos artigos subsequentes sobre as diferenças (um no TOC aqui e outro vinculado na dica que vai para a seção relevante do banco de dados do Cosmos). Minha primeira pergunta foi qual era a diferença entre os dois e aqueles que responderam isso para mim.

A dica é emoldurada um pouco como um upsell, então eu entendo por que o comentarista original deixou o feedback que deixou. Depois de mergulhar nos produtos, vejo por que precisamos de ambos (ou pelo menos precisamos dos recursos / desempenho / opções de preço de ambos).

Não está claro se os SDKs do CosmosDB oferecem suporte ao serviço regular do Azure Table Storage.

Além disso, instalar os pacotes Microsoft.Azure.Cosmos.Table e Microsoft.Azure.Storage.Blob no mesmo projeto é uma grande dor - eles têm muitos tipos semelhantes, como CloudStorageAccount , StorageCredentials e StorageException . Não parece uma grande experiência 🙁

IMHO: tão perto de um bloqueador de adoção. A Microsoft está gastando muito dinheiro para atrair novos negócios.

Quando os documentos são difíceis de serem bem-sucedidos (sem um conhecimento técnico profundo do Azure), isso bloqueia ou dificulta a adoção.

Gaste os recursos e simplifique os documentos para que uma pessoa que esteja tentando incorporá-los seja bem-sucedida.

Uma única NOTA no topo, referenciando Cosmos-db é aceitável e faz sentido. Mas depois da nota, dê um tempo e deixe o conteúdo corresponder ao título e às expectativas do usuário.

Karl

Eu concordo que isso é confuso. Acabei aqui tentando encontrar a documentação para usar o Armazenamento de Tabela do Azure sem (mais caro e, no meu caso, oferta desnecessária do Cosmos DB), mas praticamente todos os links não enviam você para a API de Tabela do Cosmos DB. Isso é lamentável.

Devemos concluir disso que o Table Storage como o conhecíamos acabará simplesmente sendo incluído no Cosmos DB? Caso contrário, a documentação adequada da Tabela de armazenamento poderia ser vinculada a partir desta página?

Concordo que isso é bem confuso.
Estava tentando descobrir qual pacote nuget preciso para o Azure Table Storage - encontrei a página do pacote antigo em:
https://www.nuget.org/packages/WindowsAzure.Storage/
Ele aponta para:
https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.Table/
O que aponta para:
https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table

O que realmente não diz que este é o pacote do Azure Table Storage? Diz: "Esta biblioteca cliente permite trabalhar com o armazenamento de tabelas CosmosDB do Microsoft Azure ..."
De qualquer forma, instalei e parece funcionar.

Também é muito importante apontar as áreas em que o CosmosDb não se encaixa. Vou usar essas tabelas como uma fonte de dados para o PowerBI e, embora você possa chamar essa conexão entre o PowerBI e o CosmosDb de "Visualização", é muito parecido com o teste em produção. Eu realmente gostaria de saber se você vai eliminar as opções de armazenamento de tabela no espaço de armazenamento regular para aumentar sua oferta de CosmosDb. Se é esse o caminho que você está percorrendo, precisamos saber para que possamos avaliar outras opções.

A documentação do Armazenamento de Tabela do Azure é realmente confusa.

Sim, posso repetir muito do que é dito aqui. Estou apenas procurando algumas pequenas tabelas para ir junto com algumas funções do Azure e estou lutando para começar. As alterações na documentação parecem indicar que o Cosmos DB está substituindo as tabelas de armazenamento do Azure, já que a maioria dos documentos agora aponta para o Cosmos. Mas olhando para os preços, não é o ajuste certo para o meu projeto, eu não preciso de muito desempenho, escala ou RU's.

Tudo isso está tornando minha experiência inicial uma bagunça, começando a desejar ter acabado de criar um aplicativo de console e um pequeno banco de dados SQL do Azure.

Armazenamento de tabela do Azure ( link ) e API de tabela do Azure Cosmos DB ( link ) são dois serviços separados em que a API de tabela do Cosmos DB ainda fornece a mesma funcionalidade que a API de armazenamento de tabela, mas com funcionalidade adicional. Se houver alguma dúvida com relação ao roteiro ou funcionalidade, entre em contato com AskCosmosDB . Eles ficam felizes em responder às perguntas.

Sim, também estou confuso, e em questões sobre o armazenamento da Tabela Azure, eles dizem "isso é propriedade da equipe do CosmosDB" ..., também o armazenamento da Tabela Azure, tem preço (quase) zero para startes, que é cerca de US $ 5 / mês para cosmosdb ..., etc.

@ Mike-Ubezzi-MSFT - Na verdade, eles são bastante diferentes em funcionalidade se você tentar usá-los no PowerBI (Isso é definitivamente um teste em solução de tipo de produção que foi fornecido no PowerBI. Realmente deve ser removido do PowerBI até que esteja pronto. ) Lutei contra isso por um tempo até entender que estava realmente quebrado - apenas parecia que era uma opção (funciona para as tabelas normais, mas não para as tabelas Cosmos)

Fiz a ligação na semana passada para remover o Azure como uma possibilidade de armazenamento de tabela não estruturada para nossa solução por causa da ambigüidade sobre o futuro dele na plataforma Azure. Já vi esse ciclo da Microsoft antes, quando o departamento de vendas decidiu investir em um produto e não quero ser pego no meio disso novamente.

Nos links fornecidos - se você olhar o link do Azure Table Storage que você deu ( link ), a maioria das instruções é sobre como converter para CosmosDb ou como usar CosmosDb. Aqueles de nós que já estão por aqui sabem o que isso significa. Peça aos poderes constituídos para nos dizer se estão a eliminar um produto, para que possamos parar de construir com ele e encontrar outras soluções que funcionem para nós. (Mike - eu sei que não é você, e não pretendo fazer você se sentir um oponente nisso.)

@MarkSiteRankSystems Obrigado pelo feedback. Há uma entrada Uservoice para este ( link ) e esta funcionalidade parece não ser planejada. Além disso, o Driver ODBC para Cosmos DB oferece suporte à API SQL: Conectar-se ao Azure Cosmos DB com o driver ODBC atualmente tem suporte apenas para contas de API SQL do Azure Cosmos DB ( link ).
Existe um tutorial que usa a API Cosmos Table com PowerBI? Isso deve ser puxado.
Quanto à documentação, concordo que todos os serviços devem ser detalhados de ponta a ponta em seu próprio livro, em vez desse híbrido de informações sobrepostas. O feedback foi capturado.

Tenho a impressão de que há um impulso comercial no Cosmos DB, aproveitando a confusão dos usuários e esperando que eles ativem o Cosmos DB em vez do Azure Table.
No entanto, isso exclui usuários que não precisam do caro Cosmos DB e só podem usar o Azure Table Storage ou procurar outros concorrentes da Microsoft (há concorrentes semelhantes ao Azure Table Storage que são bem comunicados e não dão a impressão de estarem fechados no dia seguinte).

Além disso, esse impulso para uma API comum [1] e comercialmente para o Cosmos DB nos deixou com a documentação quebrada. Hoje eu estava lendo StackOverflow [2] e descobri que a documentação do Tables Attribute [IgnoreProperty] [3] foi colocada offline.

Muito ruim que tentar fazer um upselling você está perturbando sua base de clientes.

[1] uma API comum não é uma coisa ruim em si, mas quando a documentação da API é escrita deixando a impressão de que o Armazenamento de Tabela do Azure está sendo descartado, é uma prática de negócios questionável
[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

Feliz Ano Novo! Isso ainda não foi resolvido. Estou tão feliz por ter encontrado esta discussão - não me sinto mais tão sozinho.

Concluí que devo ser capaz de usar Microsoft.Azure.Cosmos.Table for Azure Tables - espero que para o gerenciamento das próprias tabelas e dos dados dentro delas. Alguém sabe de algum exemplo relevante / atual para esses casos de Tabelas do Azure? Estou bem evitando a camada de entidade / repositório - eu realmente só quero gerenciar instruções CRUD simples e comandos DDL.

Haha estamos em maio de 2020 ... e mesmo problema aqui. Não estou interessado no Cosmos DB e estou usando o MongoDB Atlas (usando o tipo UUID legado não C # btw ...), só quero uma opção de tabela do Azure barata e simples para armazenar logs e como backup secundário para não perder dados ... para o qual parece difícil encontrar documentos. Uma pesquisa por "tabela azul" no portal do Azure me aponta para o Azure CosmosDB ... parece impossível encontrar documentos recentes nas velhas tabelas do Azure ...
Acho que vou ter que ir para outro lugar ...

@ alexandre-spieser Você está procurando uma instância autônoma de documentação do Armazenamento do Azure . Se você estiver procurando criar uma instância de Armazenamento de Tabela, a pesquisa de Armazenamento do Azure e a Tabela serão implantadas junto com as opções de armazenamento com base em Blob, Fila e Arquivo.

Este documento explica as duas opções e como o Azure Table Storage está alinhado como um produto, ele faz parte do serviço Cosmos DB. Se você estiver procurando ver as diferenças: API de tabela no Azure Cosmos DB Vs armazenamento de tabelas do Azure . Se você estiver procurando uma instância não Cosmos DB Table, consulte a documentação do Armazenamento do Azure .

Agora prosseguiremos para fechar este tópico. Se houver mais perguntas sobre este assunto, por favor, comente e teremos o prazer de continuar a discussão.

@ Mike-Ubezzi-MSFT Muitos documentos técnicos do Azure Table Storage apontam para os documentos técnicos do CosmosDB. A explicação é que este é o mesmo grupo / equipe de produtos dentro da Microsoft. O armazenamento da Tabela do Azure é mal documentado.

O Azure Table Storage e o Azure Cosmos DB são como Azure Storage Queue e Azure Service Bus. O primeiro é para armazenamento barato e operações básicas de acesso e o último é um armazenamento mais caro, mas com recursos de acesso avançados. Ambos são úteis em diferentes cenários. Todos eles devem ser produtos independentes.

PS. A API de Tabela para Cosmos DB atualmente não pode servir como um substituto para o Armazenamento de Tabela do Azure porque a funcionalidade essencial - classificação por PartitionKey E RowKey está ausente (https://stackoverflow.com/questions/54946694/ordering-data-in-azure -cosmos-table-api). Essa classificação é amplamente usada por aplicativos que usam Tabelas do Azure (porque essa é apenas a possibilidade de classificação lá) e eu pessoalmente não entendo por que o Cosmos DB superavançado não oferece suporte a essa funcionalidade simples por meio da API de Tabela?

Mais fácil falar do que fazer. enquanto trabalhava para a MSFT por um curto período, pode-se entender por que os documentos são feitos dessa forma, um fluxo de feedback em evolução é sempre necessário!

Eu queria continuar neste tópico. Eu entendo a necessidade de o armazenamento da Tabela do Azure e os documentos da API da Tabela do Azure Cosmos DB serem separados. Este é um esforço maior e algo que está sendo discutido internamente e obrigado por continuar a compartilhar seus pensamentos e ideias sobre isso.
Além disso, há uma opção de classificação com a API Cosmos Table, conforme apontado em 15 de março de 2019 como uma resposta ao thread Stack Overflow. Consulte também a solicitação de recurso Table API Sort , concluída em 17 de março. Para versões e notas de versão atuais e futuras, consulte: API padrão .NET do Azure Cosmos DB Table: Download e notas de versão

Além dos recursos, ainda há uma grande diferença de custo entre as soluções em alguns cenários. Portanto, o CosmosDB é bom, mas não vai substituir o Table Storage para consultas simples e requisitos de baixo custo.

Aqui está um guia para começar a trabalhar rapidamente com o Azure Table Storage herdado usando o pacote NuGet Microsoft.Azure.Cosmos.Table mais recente

  1. Obtenha o exemplo de código: https://github.com/Azure-Samples/azure-cosmos-table-dotnet-core-getting-started
  2. Atualize todos os pacotes NuGet
  3. Comente em Program.cs ambas as linhas pertencentes a BasicSamples (são as novas coisas do Cosmos, bits herdados do Azure Table Storage estão em AdvancedSamples)
  4. Em Settings.json, defina "StorageConnectionString": "UseDevelopmentStorage = true;"
  5. Inicie o emulador de armazenamento do Azure
  6. Execute o código

Opcionalmente
Em AdvancedSamples.cs comente a linha await SamplesUtils.DeleteEntityAsync (table, customerRead);
Use o Microsoft Azure Storage Explorer para se conectar ao emulador e visualizar a tabela criada e seus dados

Espero que ajude alguém

@ Mike-ubezzi-MSFT: Alguma ideia sobre a criação de um documento de migração sobre como passar do armazenamento obsoleto do Windows para os pacotes CosmosDB? Eu sei que é tão fácil quanto alterar os namespaces - mas ao pesquisar documentos, fui trazido aqui como o principal hit.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mrdfuse picture mrdfuse  ·  3Comentários

monteledwards picture monteledwards  ·  3Comentários

JamesDLD picture JamesDLD  ·  3Comentários

bityob picture bityob  ·  3Comentários

paulmarshall picture paulmarshall  ·  3Comentários