Informations, communications, conseils en infrastructure

1.75 Azure Table Storage

À quoi fait référence Azure Table Storage ?

Élément

Description

Type de service

Stockage NoSQL structuré, clé/valeur, sans schéma

Cas d’usage

Stockage de grandes quantités de données structurées, non relationnelles, évolutives

Fonctionnalités clés

Haute scalabilité, accès rapide, coût réduit, schéma flexible, accès via OData/REST

Structure principale

Table (collection d’entités), Entité (semblable à une ligne), Propriétés (paires nom/valeur)

Limites

500 To/table, 1 Mo/entité, 255 propriétés/entité, 20 000 transactions/s/compte

Alternatives

Azure Cosmos DB for Table (plus de fonctionnalités, global, indexation secondaire

Prérequis techniques et compétences nécessaires

Prérequis techniques

Prérequis en compétences

Compte Azure avec droits de gestion

Connaissance du cloud Azure

Accès au portail Azure ou via SDK/API

Maîtrise d’un langage supporté (C#, Python, Java, Node.js, etc.)

Outils : Azure CLI, Azure Portal

Compréhension des concepts NoSQL et des modèles de données clé/valeur

Bibliothèques clientes (SDK Azure)

Notions de conception de schémas flexibles et de partitionnement

Connexion sécurisée (clé, SAS, RBAC)

Capacité à utiliser REST ou OData pour les requêtes

Niveau de difficulté

Tâche principale

Difficulté estimée

Détail

Création et configuration du service

★☆☆☆☆ (Très facile)

Création via portail Azure ou CLI, peu d’options à paramétrer

Intégration avec SDK (C#, Python, etc.)

★★☆☆☆ (Facile)

Utilisation de bibliothèques officielles, documentation abondante

Modélisation et partitionnement avancés

★★★☆☆ (Intermédiaire)

Nécessite de bien comprendre PartitionKey/RowKey, optimisation des requêtes

Optimisation des performances/scalabilité

★★★★☆ (Difficile)

Requiert expérience sur la conception NoSQL, gestion de la scalabilité, tuning

Sécurisation et gestion fine des accès

★★★☆☆ (Intermédiaire)

Mise en place de clés, SAS, RBAC, gestion des droits

Azure Table Storage est un service cloud proposé par Microsoft Azure permettant de stocker de grandes quantités de données structurées sous forme NoSQL, sans schéma fixe. Il s’agit d’un magasin de clés/attributs, où chaque entité (équivalent d’une ligne dans une base de données) peut avoir un ensemble de propriétés variable, ce qui offre une grande flexibilité pour différents types de données.



Les principales caractéristiques du Stockage Table Azure sont :

  • Stockage évolutif : Il permet de gérer des téraoctets de données structurées, idéal pour des applications web, des jeux de données volumineux ou des métadonnées d’applications.

  • NoSQL et sans schéma : Les tables n’imposent pas de schéma, chaque entité peut avoir des propriétés différentes, ce qui facilite l’évolution des modèles de données.

  • Accès rapide : Les requêtes sont optimisées grâce à l’utilisation de clés de partition et de ligne, permettant des opérations rapides et atomiques sur les données

  • Interopérabilité : Accessible via HTTP/HTTPS, API REST, et des bibliothèques clientes pour plusieurs langages (.NET, Java, Python, etc.).

  • Sécurité et haute disponibilité : Les données sont chiffrées, répliquées et accessibles partout dans le monde.



Les tables Azure sont particulièrement adaptées pour :

  • Stocker des données utilisateur pour des applications web

  • Gérer des carnets d’adresses, des informations sur des appareils, ou d’autres types de métadonnées

  • Les scénarios où les relations complexes entre données ne sont pas nécessaires



Exemple de mise en pratique

Cas d’usage : Gestion d’un carnet d’adresses dans une application web

Supposons que vous développez une application web qui permet à chaque utilisateur de gérer ses contacts (nom, email, téléphone, adresse, etc.). Azure Table Storage est adapté à ce scénario car :

  • Chaque contact (entité) peut avoir des propriétés différentes (certains avec un champ “adresse”, d’autres non).

  • Les données peuvent être partitionnées par utilisateur (clé de partition) pour optimiser les requêtes et la scalabilité.



Illustration concrète :

  1. Création d’une table “Contacts” dans Azure Table Storage.



  1. Stockage des entités :

    • Chaque contact est une entité avec une clé de partition (par exemple, l’ID utilisateur) et une clé de ligne (par exemple, un identifiant unique du contact).

    • Les propriétés peuvent inclure : Nom, Email, Téléphone, Adresse, Date de création, etc.



  1. Requête :

    • Pour afficher tous les contacts d’un utilisateur, il suffit d’interroger la table sur la clé de partition correspondant à l’utilisateur.



  1. Évolution :

    • Si un utilisateur souhaite ajouter un champ “Date de naissance” à certains contacts, il suffit d’ajouter cette propriété aux entités concernées, sans modifier le schéma global de la table.



Exemple de code (pseudo-code simplifié) :

// Création d’un contact
var contact = new TableEntity(partitionKey: « user123 », rowKey: « contactA »)
{
{ « Nom », « Dupont » },
{ « Email », « dupont@example.com » },
{ « Téléphone », « 0601020304 » }
};
tableClient.AddEntity(contact);

// Récupération des contacts d’un utilisateur
var contacts = tableClient.Query<TableEntity>(entity => entity.PartitionKey == « user123 »);

Cet exemple montre comment Azure Table Storage permet de gérer simplement des données structurées, évolutives et sans schéma rigide, tout en offrant performance et flexibilité pour des applications modernes

Articles similaires

Rémy ACCOLEY

Consultant infrastructure

Expertise Azure, Windows serveur, Exchange, Teams, Office 365, Téléphonie…

Mes articles du moment

Sponsor

Besoin d'un support avec Keysoncloud

Offre Free

Explore

Découvrez nos formations

Offre Free

Vous voulez poster vos contenus

Offre Free