Azure-docs: Pourquoi mélanger le stockage de table et CosmosDB sur un sujet de stockage de table

Créé le 14 mars 2019  ·  27Commentaires  ·  Source: MicrosoftDocs/azure-docs

[Entrez vos commentaires ici]
Pour les non formés, le site Web Azure est incroyablement complexe et difficile.

Pourquoi mélanger le stockage de table et CosmosDB sur un sujet de stockage de table. Les informations CosmosDB ne doivent pas être intégrées à la rubrique Stockage de table. Pourquoi rendez-vous plus difficile l'apprentissage du sujet sélectionné ? Si je voulais en savoir plus sur CosmosDB, j'irais sur ce sujet,

Karl


Détails du document

Ne modifiez pas cette section.

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

Commentaire le plus utile

Je suis d'accord que cela prête à confusion. J'ai fini par essayer de trouver de la documentation pour utiliser Azure Table Storage sans l'offre Cosmos DB (plus chère et inutile dans mon cas), mais pratiquement tous les liens ne vous envoient pas vers l'API Cosmos DB Table. C'est malheureux.

Doit-on en conclure que le stockage de table tel que nous le connaissions finira par être simplement rattrapé par Cosmos DB ? Sinon, la documentation appropriée de la table de stockage pourrait-elle être liée à partir de cette page ?

Tous les 27 commentaires

@kdawg1406 Merci pour la question ! Nous enquêtons et vous mettrons à jour sous peu.

Bonjour @kwaman
Table Storage et Cosmos DB sont des offres pour stocker des données NoSQL structurées dans Azure et donc regroupées.

Nous attribuerons ce problème au propriétaire du contenu pour qu'il l'évalue et le mette à jour, le cas échéant.

J'avais besoin du conseil et des articles suivants sur les différences (un dans la table des matières ici et un lié dans le conseil qui va à la section Cosmos DB correspondante). Ma première question était quelle était la différence entre les deux et ceux-ci ont répondu à cette question pour moi.

Le conseil est présenté un peu comme une vente incitative, donc je comprends pourquoi le commentateur d'origine a laissé les commentaires qu'il a faits. Après avoir creusé dans les produits, je vois pourquoi nous avons besoin des deux (ou du moins avons besoin des options de capacités/performances/prix des deux).

Il n'est pas clair si les SDK de CosmosDB prennent en charge le service Azure Table Storage standard.

De plus, l'installation des packages Microsoft.Azure.Cosmos.Table et Microsoft.Azure.Storage.Blob dans le même projet est très pénible - ils ont de nombreux types similaires comme CloudStorageAccount , StorageCredentials et StorageException . Cela ne semble pas être une super expérience 🙁

IMHO: ce proche d'un bloqueur d'adoption. Microsoft dépense BEAUCOUP d'argent pour attirer de nouvelles entreprises.

Lorsque les documents sont difficiles à réussir (sans une compréhension technique approfondie d'Azure), cela bloque ou entrave l'adoption.

Dépensez les ressources et simplifiez la documentation pour une personne qui essaie de s'intégrer pour réussir.

Une seule NOTE en haut, faisant référence à Cosmos-db est acceptable et logique. Mais après la note, laissez-la reposer et laissez le contenu correspondre au titre et aux attentes des utilisateurs.

Karl

Je suis d'accord que cela prête à confusion. J'ai fini par essayer de trouver de la documentation pour utiliser Azure Table Storage sans l'offre Cosmos DB (plus chère et inutile dans mon cas), mais pratiquement tous les liens ne vous envoient pas vers l'API Cosmos DB Table. C'est malheureux.

Doit-on en conclure que le stockage de table tel que nous le connaissions finira par être simplement rattrapé par Cosmos DB ? Sinon, la documentation appropriée de la table de stockage pourrait-elle être liée à partir de cette page ?

D'accord, c'est bien déroutant.
J'essayais de déterminer de quel package nuget j'avais besoin pour Azure Table Storage - j'ai trouvé l'ancienne page de package à l'adresse :
https://www.nuget.org/packages/WindowsAzure.Storage/
Il indique :
https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.Table/
Qui pointe vers :
https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table

Qui ne dit pas vraiment qu'il s'agit du package pour Azure Table Storage ? Il dit : "Cette bibliothèque cliente permet de travailler avec le stockage Microsoft Azure CosmosDB Table..."
En tout cas, je l'ai installé et ça a l'air de fonctionner.

Il est également très important de souligner les domaines dans lesquels CosmosDb ne convient pas. Je vais utiliser ces tables comme source de données pour PowerBI, et bien que vous puissiez appeler cette connexion entre PowerBI et CosmosDb comme "Aperçu", cela ressemble beaucoup à des tests en production. J'aimerais vraiment savoir si vous allez supprimer les options de stockage de table dans l'espace de stockage standard pour booster votre offre CosmosDb. Si tel est le chemin que vous prenez, nous devons le savoir afin que nous puissions évaluer d'autres options.

La documentation sur Azure Table Storage est en effet déroutante.

Oui, je peux faire écho à une grande partie de ce qui est dit ici. Je cherche juste quelques petites tables pour accompagner certaines fonctions Azure et j'ai du mal à démarrer. Les modifications apportées à la documentation indiquent que Cosmos DB remplace les tables de stockage Azure, car la plupart des documents pointent désormais vers Cosmos. Mais en regardant le prix, ce n'est pas la bonne solution pour mon projet, je n'ai pas besoin de tant de performances, d'échelle ou de RU.

Tout cela rend mon expérience de démarrage un gâchis, commençant à souhaiter que je viens de créer une application console et une petite base de données Azure SQL.

Azure Table Storage ( lien ) et Azure Cosmos DB Table API ( lien ) sont deux services distincts où l'API de table Cosmos DB fournit toujours les mêmes fonctionnalités que l'API Table Storage, mais avec des fonctionnalités supplémentaires. Si vous avez des questions concernant la feuille de route ou les fonctionnalités, veuillez contacter

Oui, je suis également confus, et dans les questions concernant le stockage Azure Table, ils disent "cela appartient à l'équipe CosmosDB"..., également le stockage Azure Table, a un prix (presque) nul pour les startes, ce qui est d'environ 5 $ / mois pour cosmosdb..., etc.

@Mike-Ubezzi-MSFT - En fait, leur fonctionnalité est assez différente si vous essayez de l'utiliser dans PowerBI (il s'agit certainement d'une solution de test en production fournie dans PowerBI. Elle devrait vraiment être supprimée de PowerBI jusqu'à ce qu'elle soit prête. ) J'ai combattu cela pendant un certain temps jusqu'à ce que je comprenne qu'il était en fait cassé - il semblait que c'était une option (cela fonctionne pour les tables ordinaires, mais pas pour les tables Cosmos)

J'ai appelé la semaine dernière à supprimer Azure en tant que possibilité de stockage de table non structuré pour notre solution en raison de l'ambiguïté sur son avenir sur la plate-forme Azure. J'ai déjà vu ce cycle de Microsoft lorsque le service commercial a décidé d'investir dans un produit et je ne veux plus être pris au milieu de cela.

Sur les liens fournis - si vous regardez le lien Azure Table Storage que vous avez donné ( lien ), la plupart des instructions concernent la conversion en CosmosDb ou l'utilisation de CosmosDb. Ceux d'entre nous qui existent depuis un certain temps savent ce que cela signifie. Veuillez demander aux pouvoirs en place de nous dire s'ils tuent un produit afin que nous puissions arrêter de construire avec lui et trouver d'autres solutions qui fonctionneront pour nous. (Mike - je sais que ce n'est pas toi, et je n'ai pas l'intention de te faire sentir comme un adversaire dans ce domaine.)

@MarkSiteRankSystems Merci pour vos commentaires. Il y a une entrée Uservoice pour cela ( lien ) et cette fonctionnalité semble être imprévue. De plus, le pilote ODBC pour Cosmos DB prend en charge l'API SQL : la connexion à Azure Cosmos DB avec le pilote ODBC est actuellement prise en charge pour les comptes d'API SQL Azure Cosmos DB uniquement ( lien ).
Existe-t-il un tutoriel qui utilise l'API Cosmos Table avec PowerBI ? Cela devrait être tiré.
En ce qui concerne la documentation, je suis d'accord pour que tous les services soient détaillés de bout en bout dans leur propre livre, au lieu de cet hybride d'informations qui se chevauchent. Les commentaires ont été capturés.

J'ai l'impression qu'il y a une poussée commerciale sur Cosmos DB, tirant parti de la confusion des utilisateurs et espérant qu'ils activeront Cosmos DB au lieu d'Azure Table.
Cependant, cela exclut les utilisateurs qui n'ont pas besoin de Cosmos DB coûteux et qui ne peuvent utiliser Azure Table Storage ou chercher ailleurs que les concurrents de Microsoft (il existe des concurrents similaires à Azure Table Storage qui sont bien communiqués et ne donnent pas l'impression d'être fermés le lendemain).

De plus, cette poussée vers une API commune [1] et commercialement vers Cosmos DB nous a laissé une documentation cassée. Aujourd'hui, je lisais StackOverflow [2] et j'ai découvert que la documentation Tables Attribute [IgnoreProperty] [3] avait été mise hors ligne.

Très mauvais que d'essayer de faire une vente incitative, vous dérangez plutôt votre clientèle.

[1] une API commune n'est pas une mauvaise chose en soi, mais lorsque la documentation de l'API est écrite, laissant l'impression qu'Azure Table Storage est rejeté, c'est une pratique commerciale discutable
[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

Bonne année! Ce n'est toujours pas résolu. Je suis tellement content d'avoir trouvé cette discussion - de ne plus me sentir si seul.

J'ai compris que je devrais pouvoir utiliser Microsoft.Azure.Cosmos.Table pour Azure Tables - espérons-le pour la gestion des tables elles-mêmes et des données qu'elles contiennent. Quelqu'un connaît-il des exemples pertinents/actuels pour ces cas pour Azure Tables ? Je suis d'accord pour éviter la couche entité/référentiel - je veux vraiment juste gérer des instructions CRUD simples et des commandes DDL.

Haha nous sommes en mai 2020... et même problème ici. Je ne suis pas intéressé par Cosmos DB et j'utilise MongoDB Atlas (en utilisant le type UUID non C# Legacy btw...), je veux juste une simple option de paiement au fur et à mesure de la table Azure pour stocker les journaux et comme sauvegarde secondaire pour ne pas perdre de données ... pour lequel il semble difficile de trouver des docs. Une recherche de "table azur" sur le portail Azure m'oriente vers Azure CosmosDB... il semble impossible de trouver des docs récentes sur les bonnes vieilles tables Azure...
Je suppose que je vais devoir aller ailleurs...

@alexandre-spieser Vous recherchez une instance de documentation Azure Storage autonome. Si vous cherchez à créer une instance de stockage de table, recherchez Azure Storage et Table sera déployée avec les options de stockage Blob, Queue et File.

Ce document explique les deux options et explique comment Azure Table Storage est aligné en tant que produit, il fait partie du service Cosmos DB. Si vous cherchez à voir les différences : Table API dans Azure Cosmos DB Vs Azure Table storage . Si vous recherchez une instance de table autre que Cosmos DB, consultez la documentation du stockage Azure .

Nous allons maintenant procéder à la fermeture de ce fil. S'il y a d'autres questions à ce sujet, veuillez commenter et nous poursuivrons volontiers la discussion.

@Mike-Ubezzi-MSFT De nombreux documents techniques pour Azure Table Storage pointent vers des documents techniques CosmosDB. L'explication est qu'il s'agit du même groupe de produits/équipe à l'intérieur de Microsoft. Le stockage Azure Table est mal documenté.

Le stockage de table Azure et Azure Cosmos DB sont comme la file d'attente de stockage Azure et Azure Service Bus. Le premier est destiné au stockage bon marché et aux opérations d'accès de base et le second est un stockage plus coûteux mais avec des fonctionnalités d'accès avancées. Les deux sont utiles dans différents scénarios. Ils devraient tous être des produits indépendants.

PS. L'API de table pour Cosmos DB ne peut actuellement pas remplacer Azure Table Storage car la fonctionnalité essentielle - le tri par PartitionKey ET RowKey y est manquante (https://stackoverflow.com/questions/54946694/ordering-data-in-azure -cosmos-table-api). Un tel tri est largement utilisé par les applications qui utilisent Azure Tables (car il ne s'agit là que d'une possibilité de tri) et personnellement, je ne comprends pas pourquoi Cosmos DB super avancé ne prend pas en charge une fonctionnalité aussi simple via l'API Table ?

Plus facile à dire qu'à faire. tout en travaillant pour MSFT pendant une courte période, on peut comprendre pourquoi les docs sont faits de cette façon, un flux de retour en constante évolution est toujours nécessaire !

Je voulais suivre ce sujet. Je comprends la nécessité de séparer les documents de stockage Azure Table et d'API Azure Cosmos DB Table. Il s'agit d'un effort plus important et d'un sujet dont nous discutons en interne. Merci de continuer à partager vos réflexions et vos idées à ce sujet.
De plus, il existe une option de tri avec l'API Cosmos Table, comme cela a été souligné le 15 mars 2019 en réponse au fil de discussion Stack Overflow. Veuillez également consulter la demande de fonctionnalité de tri de l'API de table comme étant terminée le 17 mars. Pour les versions actuelles et futures et les notes de version, veuillez consulter : Azure Cosmos DB Table .NET Standard API : Téléchargement et notes de version

Outre les fonctionnalités, il existe toujours une énorme différence de coût entre les solutions dans certains scénarios. Ainsi, CosmosDB est bien, mais il ne remplacera pas le stockage de table pour les requêtes simples et les besoins à faible coût.

Voici un guide pour être rapidement opérationnel avec le stockage de table Azure hérité à l'aide du dernier package NuGet Microsoft.Azure.Cosmos.Table

  1. Obtenez l'exemple de code : https://github.com/Azure-Samples/azure-cosmos-table-dotnet-core-getting-started
  2. Mettre à jour tous les packages NuGet
  3. Commentez dans Program.cs les deux lignes relatives à BasicSamples (ce sont les nouveaux éléments de Cosmos, les bits de stockage de table Azure hérités sont dans AdvancedSamples)
  4. Dans Settings.json, définissez "StorageConnectionString": "UseDevelopmentStorage=true;"
  5. Démarrer l'émulateur de stockage Azure
  6. Exécutez le code

En option
Dans AdvancedSamples.cs, commentez la ligne wait SamplesUtils.DeleteEntityAsync(table, customerRead);
Utilisez Microsoft Azure Storage Explorer pour vous connecter à l'émulateur et afficher la table créée et ses données

J'espère que ça aide quelqu'un

@Mike-ubezzi-MSFT : Avez-vous des idées sur la création d'un document de migration sur la façon de passer du stockage Windows obsolète aux packages CosmosDB ? Je sais que c'est aussi simple que de changer les espaces de noms - mais lors de la recherche de documents, j'ai été amené ici comme le meilleur succès.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

bityob picture bityob  ·  3Commentaires

JamesDLD picture JamesDLD  ·  3Commentaires

spottedmahn picture spottedmahn  ·  3Commentaires

JeffLoo-ong picture JeffLoo-ong  ·  3Commentaires

Agazoth picture Agazoth  ·  3Commentaires