Brevet FR3124611A1 — publié le 20221230

L’invention concerne un système (10) de gestion de données pour gérer des données dans au moins deux entités de stockage (11) de données présentant des coûts d’exploitation différents et des performances différentes en termes de latence et/ou de débit. Une unité de répartition (12) est configurée pour répartir des données vers les différentes entités de stockage (11) en fonction de règles de répartition (13). Une unité d’accès (15) est configurée pour traiter une requête émise par un utilisateur (17) cherchant à accéder à des données mémorisées dans les entités de stockage (11). Une unité de contrôle (16) est configurée pour mettre à jour les règles de répartition (13) en utilisant un algorithme d’apprentissage automatique entraîné à déterminer, à partir des requêtes utilisateur reçues, des règles de répartitions qui optimisent un compromis entre les coûts et les performances des entités de stockage utilisées par le système (10) de gestion de données. Figure pour l’abrégé : Fig. 3 système et procédé de gestion de données dans un environnement multi-stockage Domaine de l’invention La présente invention appartient au domaine des systèmes de gestion de données. Notamment, l’invention concerne un système et un procédé de gestion de données pour répartir de façon optimale des données à mémoriser dans plusieurs entités de stockage présentant des technologies, des performances et des coûts différents. Etat de la technique Il existe différentes façons de stocker des données, par exemple dans des systèmes de fichiers ou dans des bases de données. Un système de fichiers permet de stocker et organiser les informations sous la forme de fichiers sur des mémoires informatiques comme des disques électroniques : disques durs, disques SSD (acronyme anglais de « solid-state drive »), etc. Cela permet de conserver des quantités importantes de données et de les partager entre plusieurs programmes informatiques. Un système de fichiers offre à l'utilisateur une vue abstraite sur les données et permet de les localiser à partir d'un chemin d'accès. Une base de données permet de stocker et de retrouver des données de natures différentes et plus ou moins reliées entre elles. Les bases de données peuvent être de natures différentes, selon la forme des données qu’elles sont supposées contenir. Les données dont la forme est très structurée sont préférentiellement stockées dans bases de données relationnelles. Le langage SQL (acronyme anglais de « Structured Query Language », en français « langage de requête structurée ») est le langage informatique utilisé de façon prépondérante pour interroger les bases de données relationnelles. Les données brutes peu structurées voire déstructurées peuvent aussi être stockées dans des bases de données de type « NoSQL » qui s’écartent du paradigme classique des bases de données relationnelles. Ces différentes façons de stocker des données présentent des caractéristiques différentes en termes de performances et de coût. La performance d’un système de stockage de données est notamment définie par la latence (c’est-à-dire le temps nécessaire pour accéder à une donnée) et le débit (c’est-à-dire la quantité de requêtes pouvant être adressées pendant une certaine période de temps). Par souci de simplicité, les systèmes de stockage sont souvent divisés en deux catégories : le stockage « chaud » qui offre un accès relativement rapide aux données en écriture et en lecture mais qui présente un coût relativement élevé, et le stockage « froid » qui offre un accès aux données plus lent en écriture et lecture mais qui présente un coût plus faible. En réalité, tous les systèmes de stockage ont des « températures » différentes. Autrement dit, différents systèmes de stockage vont présenter des compromis différents en termes de performance et de coût. Le coût d’une requête pour accéder à une donnée mémorisée dans un systèmes de stockage peut également dépendre de la structure des données mémorisées dans ce système de stockage (niveau d’agrégation des données, nombre de jointures nécessaires pour répondre à une requête, etc.). Plusieurs études font la comparaison des performances de différents systèmes de stockage. Pour la plupart des applications, les données sont stockées dans un seul système de stockage. Le système de stockage de données le plus approprié peut alors être déterminé en fonction de certains critères (nature des données à mémoriser, nombre de requêtes en parallèle à supporter, quantité maximale de données par requête, temps de latence maximal autorisé, budget financier, etc.). Une fois que le système de stockage de données est déterminé, une interface de programmation d’application est développée pour permettre l’accès aux données d’une façon pratique et efficace via des requêtes adressées au système de stockage. Dans le passé, les systèmes de stockage étaient généralement déployés sur site, et les dépenses liées au développement d’un système de gestion de données étaient principalement des dépenses d’investissement (achat de serveurs). Aujourd’hui, et à l'avenir, les systèmes et les services de stockage sont généralement supportés par des tiers et les dépenses liées au système de gestion de données d’une entreprise deviennent principalement des dépenses d’exploitation (location de serveurs). Il existe toujours un besoin de réduire les dépenses d’exploitation liées au système de gestion de données d’une entreprise en optimisant le compromis existant entre les performances d’accès aux données et le coût du stockage de données. Il peut également être intéressant de prendre en compte l’impact environnemental que peut avoir le choix d’un système de stockage par rapport à un autre. La localisation et/ou la technologie d’un système de stockage peut en effet influer sur son impact environnemental. Certaines technologies présentant de bonnes performances techniques peuvent en effet présenter un équivalent carbone élevé, et donc un impact négatif sur l’environnement. Certains systèmes de gestion de données prévoient d’utiliser plusieurs entités de stockage de données présentant des technologies différentes et donc des caractéristiques différentes en termes de performances et de coût. Toutefois, les règles qui régissent la répartition des données entre les différentes entités de stockage sont généralement figées à un instant donné et ne restent pas optimales au cours du temps. D’autres part, les interfaces de programmation d’application proposées ne permettent pas d’accéder aux données de façon optimale. La présente invention a pour objectif de remédier à tout ou partie des inconvénients de l’art antérieur, notamment ceux exposés ci-avant. A cet effet, et selon un premier aspect, il est proposé par la présente invention, un système de gestion de données pour gérer des données dans au moins deux entités de stockage de données présentant des coûts d’exploitation différents et des performances différentes en termes de latence et/ou de débit. Le système de gestion de données comprend une unité de répartition des données configurée pour répartir des données vers les différentes entités de stockage en fonction de règles de répartition, et pour maintenir une cartographie de la répartition des données dans les différentes entités de stockage. Le système de gestion de données comprend aussi une unité d’accès aux données configurée pour recevoir des requêtes utilisateur (chaque requête visant à accéder à une ou plusieurs données mémorisées dans les entités de stockage), pour récupérer des données dans les entités de stockage en fonction des requêtes utilisateur et en fonction de la cartographie de la répartition des données, et pour émettre au moins une réponse à chaque requête utilisateur à partir des données récupérées. En outre, le système de gestion de données comprend une unité de contrôle configurée pour mettre à jour les règles de répartition en utilisant un algorithme d’apprentissage automatique entraîné à déterminer, à partir des requêtes utilisateur reçues par l’unité d’accès aux données, des règles de répartitions qui optimisent un compromis entre les coûts et les performances des entités de stockage utilisées par le système de gestion de données. Les règles de répartition correspondent par exemple à une table permettant d’associer chacune d’une pluralité de catégories de données à une ou plusieurs unités de stockage. L’algorithme d’apprentissage automatique permet de mettre à jour les règles de répartition de façon dynamique, et sans interrompre le système de gestion de données. Les règles de répartition peuvent notamment être mise à jour de façon récurrente, par exemple à intervalles réguliers. Cela permet d’optimiser la répartition des données vers les différentes entités de stockage. Par exemple, les données qui ne sont pas fréquemment demandées peuvent être stockées dans une entité de gestion qui présente des performances relativement peu élevées (et qui présentent donc généralement un coût avantageux). L’algorithme d’apprentissage automatique vise par exemple à minimiser une fonction de coût calculée pour l’ensemble des requêtes utilisateur considérées. La fonction de coût prend en compte d’une part un coût d’exploitation des différentes unités de stockage, et d’autre part les performances obtenues pour les différentes requêtes utilisateur et pour les différentes unités de stockage. Le coût d’exploitation d’une unité de stockage peut comprendre un coût d’investissement (achat de matériel), un coût de location de service (s’il est fait appel à un prestataire de service pour le stockage de données), un coût de développement informatique des interfaces d’accès aux unités d’accès, etc. Le coût d’exploitation d’une unité de stockage peut également prendre en compte un impact environnemental de ladite unité de stockage, par exemple en termes d’ « équivalent carbone » (il est par exemple envisageable d’estimer une valeur représentative d’une quantité de gaz à effet de serre généré pour stocker une donnée ou pour traiter une requête adressée à l’unité de stockage). Des coûts d’exploitation élevés tendent à augmenter la valeur de la fonction de coût. En revanche, des performances élevées tendent à diminuer la valeur de la fonction de coût. Dans des modes particuliers de réalisation, l’invention peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles. Dans des modes particuliers de réalisation, l’algorithme d’apprentissage automatique se base sur différentes catégories de données, chaque catégorie de données étant représentative de la fréquence à laquelle une requête utilisateur est reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une région géographique d’origine d’une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une identité d’un utilisateur associée à une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’un identifiant de service ou de produit associé à une donnée appartenant à ladite catégorie, et/ou d’un âge d’une donnée appartenant à ladite catégorie. Une catégorie de données peut toutefois être définie en fonction de nombreuses autres caractéristiques relatives à une donnée, et le choix de certaines caractéristiques particulières pour définir une catégorie de données ne constitue qu’une variante de l’invention. Les différentes catégories de données peuvent être définies a priori et fournies en entrée de l’algorithme d’apprentissage automatique. Rien n’empêche toutefois que les différentes catégories de données soient définies par l’algorithme d’apprentissage automatique lui-même à partir d’un ensemble de paramètres associés aux données (méta-données). Dans des modes particuliers de réalisation, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage différentes, l’unité d’accès aux données est en outre configurée pour transformer ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, et pour consolider les réponses aux requêtes d’accès sous la forme d’une réponse à la requête utilisateur. En particulier, lorsque plusieurs données sont mémorisées dans une même entité de stockage, il est avantageux d’utiliser une seule et même requête d’accès à ladite entité de stockage pour obtenir toutes ces données en une fois (plutôt que d’envoyer une requête d’accès différente pour chaque donnée à récupérer). Aussi, lorsque plusieurs requêtes d’accès doivent être émises à différentes entités de stockage, il peut être avantageux d’émettre ces requêtes d’accès en parallèle (plutôt que de les émettre de façon séquentielle). Dans des modes particuliers de réalisation, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage différentes, l’unité d’accès aux données est en outre configurée pour transformer ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, et pour transmettre de façon asynchrone les différentes réponses aux requêtes d’accès en réponse à la requête utilisateur. De telles dispositions permettent de fournir plus rapidement les données à l’utilisateur, au fur et à mesure que ces données deviennent disponibles au niveau de l’unité d’accès. C’est particulièrement adapté aux architectures de flux qui ne nécessitent pas d'attendre toutes les données avant de lancer un processus au niveau de l’utilisateur. Dans des modes particuliers de réalisation, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage différentes, l’unité d’accès aux données est en outre configurée pour transformer ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, pour construire une donnée agrégée à partir des réponses aux requêtes d’accès, et pour mémoriser ladite donnée agrégée dans l’une au moins des entités de stockage. Avec de telles dispositions, si d’autres requêtes utilisateur ultérieures visent à accéder à la même donnée agrégée, il sera possible d’y répondre de façon plus performante à l’aide d’une seule requête d’accès à l’entité de stockage dans laquelle la donnée agrégée est mémorisée. Dans des modes particuliers de réalisation, l’unité d’accès aux données est en outre configurée pour collecter une pluralité de requêtes utilisateur jusqu’à ce qu’un critère prédéterminé soit satisfait, pour transformer ladite pluralité de requêtes utilisateur en une ou plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, et pour former une ou plusieurs réponses à chaque requête utilisateur à partir des réponses aux requêtes d’accès. Dans des modes particuliers de réalisation, le critère prédéterminé est satisfait lorsqu’une période pendant laquelle des requêtes utilisateur sont collectées atteint une durée prédéterminée, et/ou lorsqu’un nombre de requêtes utilisateur collectées atteint un seuil prédéterminé. Dans des modes particuliers de réalisation, le système de gestion de données comprend lesdites au moins deux entités de stockage de données. Selon un deuxième aspect, la présente invention concerne un procédé de gestion de données pour gérer des données dans au moins deux entités de stockage de données présentant des coûts d’exploitation différents et des performances différentes en termes de latence et/ou de débit. Le procédé comprend notamment les étapes suivantes : une répartition des données vers les différentes entités de stockage en fonction de règles de répartition, une maintenance d’une cartographie de la répartition des données dans les différentes entités de stockage, une réception de requêtes utilisateur visant chacune à accéder à une ou plusieurs données mémorisées dans les entités de stockage, une récupération de données dans les entités de stockage en fonction des requêtes utilisateur et en fonction de la cartographie de la répartition des données, une émission d’au moins une réponse à chaque requête utilisateur à partir des données récupérées, une mise à jour des règles de répartition en utilisant un algorithme d’apprentissage automatique entraîné à déterminer, à partir des requêtes utilisateur reçues par l’unité d’accès aux données, des règles de répartitions qui optimisent un compromis entre les coûts et les performances des entités de stockage utilisées par le système de gestion de données. Dans des modes particuliers de mise en œuvre, l’invention peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles. Dans des modes particuliers de mise en œuvre, l’algorithme d’apprentissage automatique se base sur différentes catégories de données, chaque catégorie de données étant représentative de la fréquence à laquelle une requête utilisateur est reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une région géographique d’origine d’une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une identité d’un utilisateur associée à une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’un identifiant de service ou de produit associé à une donnée appartenant à ladite catégorie, et/ou d’un âge d’une donnée appartenant à ladite catégorie. Dans des modes particuliers de mise en œuvre, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage différentes, le procédé comporte en outre une transformation de ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, et une consolidation des réponses aux requêtes d’accès sous la forme d’une réponse à la requête utilisateur. Dans des modes particuliers de mise en œuvre, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage différentes, le procédé comporte en outre une transformation de ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, et une transmission asynchrone des différentes réponses aux requêtes d’accès en réponse à la requête utilisateur. Dans des modes particuliers de mise en œuvre, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage différentes, le procédé comporte en outre une transformation de ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, une construction d’une donnée agrégée à partir des réponses aux requêtes d’accès, et une mémorisation de ladite donnée agrégée dans l’une au moins des entités de stockage Dans des modes particuliers de mise en œuvre, le procédé de gestion de données comporte en outre : une collection d’une pluralité de requêtes utilisateur jusqu’à ce qu’un critère prédéterminé soit satisfait, une transformation de ladite pluralité de requêtes utilisateur en une ou plusieurs requêtes d’accès aux entités de stockage en fonction de la cartographie de la répartition des données, une formation d’une ou plusieurs réponses à chaque requête utilisateur à partir des réponses aux requêtes d’accès. Dans des modes particuliers de mise en œuvre, le critère prédéterminé est satisfait lorsqu’une période pendant laquelle les requêtes utilisateur sont collectées atteint une durée prédéterminée, et/ou lorsqu’un nombre de requêtes utilisateur collectées atteint un seuil prédéterminé. Selon un troisième aspect, la présente invention concerne un produit programme d’ordinateur caractérisé en ce qu’il comporte un ensemble d’instructions de code de programme qui, lorsque les instructions sont exécutées par un ou plusieurs processeurs, configurent le ou les processeurs pour mettre en œuvre un procédé de gestion de données selon l’un quelconque des modes de mises en œuvre précédents. Présentation des figures L’invention sera mieux comprise à la lecture de la description suivante, donnée à titre d’exemple nullement limitatif, et faite en se référant aux figures 1 à 10 qui représentent : une représentation schématique d’un système de gestion de données selon l’invention, une représentation schématique détaillant l’unité d’accès d’un système de gestion de données selon l’invention, une illustration de la mise en œuvre du système de gestion de données présenté à la , un diagramme représentant les principales étapes d’un premier mode particulier de mise en œuvre pour accéder à des données mémorisées dans différentes entités de stockage, un diagramme représentant les principales étapes d’un deuxième mode particulier de mise en œuvre pour accéder à des données mémorisées dans différentes entités de stockage, un diagramme représentant les principales étapes d’un troisième mode particulier de mise en œuvre pour accéder à des données mémorisées dans différentes entités de stockage, un diagramme représentant les principales étapes d’un quatrième mode particulier de mise en œuvre pour accéder à des données mémorisées dans différentes entités de stockage, un diagramme représentant les principales étapes d’un cinquième mode particulier de mise en œuvre pour accéder à des données mémorisées dans différentes entités de stockage, un diagramme représentant les principales étapes d’un sixième mode particulier de mise en œuvre pour accéder à des données mémorisées dans différentes entités de stockage, une représentation schématique des principales étapes d’un procédé de gestion de données selon l’invention. Dans ces figures, des références identiques d’une figure à une autre désignent des éléments identiques ou analogues. Pour des raisons de clarté, les éléments représentés ne sont pas nécessairement à une même échelle, sauf mention contraire. Système (10) de gestion de données pour gérer des données dans au moins deux entités de stockage (11) de données présentant des coûts d’exploitation différents et des performances différentes en termes de latence et/ou de débit, ledit système (10) de gestion de données comprenant : une unité de répartition (12) des données configurée pour répartir des données vers les différentes entités de stockage (11) en fonction de règles de répartition (13), et pour maintenir une cartographie (14) de la répartition des données dans les différentes entités de stockage (11), une unité d’accès (15) aux données configurée pour : recevoir des requêtes utilisateur visant chacune à accéder à une ou plusieurs données mémorisées dans les entités de stockage (11), récupérer des données dans les entités de stockage (11) en fonction des requêtes utilisateur et en fonction de la cartographie (14) de la répartition des données, émettre au moins une réponse à chaque requête utilisateur à partir des données récupérées, caractérisé en ce que le système (10) de gestion de données comprend une unité de contrôle (16) configurée pour mettre à jour les règles de répartition (13) en utilisant un algorithme d’apprentissage automatique entraîné à déterminer, à partir des requêtes utilisateur reçues par l’unité d’accès (15) aux données, des règles de répartitions qui optimisent un compromis entre les coûts et les performances des entités de stockage utilisées par le système (10) de gestion de données. Système (10) de gestion de données selon la revendication 1 dans lequel l’algorithme d’apprentissage automatique se base sur différentes catégories de données, chaque catégorie de données étant représentative : de la fréquence à laquelle une requête utilisateur est reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une région géographique d’origine d’une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une identité d’un utilisateur (17) associée à une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’un identifiant de service ou de produit associé à une donnée appartenant à ladite catégorie, et/ou d’un âge d’une donnée appartenant à ladite catégorie. Système (10) de gestion de données selon l’une quelconque des revendications 1 à 2 dans lequel, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage (11) différentes, l’unité d’accès (15) aux données est en outre configurée pour transformer ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, et pour consolider les réponses aux requêtes d’accès sous la forme d’une réponse à la requête utilisateur. Système (10) de gestion de données selon l’une quelconque des revendications 1 à 2 dans lequel, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage (11) différentes, l’unité d’accès (15) aux données est en outre configurée pour transformer ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, et pour transmettre de façon asynchrone les différentes réponses aux requêtes d’accès en réponse à la requête utilisateur. Système (10) de gestion de données selon l’une quelconque des revendications 1 à 4 dans lequel, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage (11) différentes, l’unité d’accès (15) aux données est en outre configurée pour transformer ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, pour construire une donnée agrégée à partir des réponses aux requêtes d’accès, et pour mémoriser ladite donnée agrégée dans l’une au moins des entités de stockage (11). Système (10) de gestion de données selon l’une quelconque des revendications 1 à 2 dans lequel l’unité d’accès (15) aux données est en outre configurée pour collecter une pluralité de requêtes utilisateur jusqu’à ce qu’un critère prédéterminé soit satisfait, pour transformer ladite pluralité de requêtes utilisateur en une ou plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, et pour former une ou plusieurs réponses à chaque requête utilisateur à partir des réponses aux requêtes d’accès. Système (10) de gestion de données selon la revendication 6 dans lequel le critère prédéterminé est satisfait lorsqu’une période pendant laquelle des requêtes utilisateur sont collectées atteint une durée prédéterminée, et/ou lorsqu’un nombre de requêtes utilisateur collectées atteint un seuil prédéterminé. Système (10) de gestion de données selon l’une quelconque des revendications 1 à 7 comprenant lesdites au moins deux entités de stockage (11) de données. Procédé (100) de gestion de données pour gérer des données dans au moins deux entités de stockage (11) de données présentant des coûts d’exploitation différents et des performances différentes en termes de latence et/ou de débit, ledit procédé comprenant : une répartition (101) des données vers les différentes entités de stockage (11) en fonction de règles de répartition (13), une maintenance (102) d’une cartographie (14) de la répartition des données dans les différentes entités de stockage (11), une réception (103) de requêtes utilisateur visant chacune à accéder à une ou plusieurs données mémorisées dans les entités de stockage (11), une récupération (104) de données dans les entités de stockage (11) en fonction des requêtes utilisateur et en fonction de la cartographie (14) de la répartition des données, une émission (105) d’au moins une réponse à chaque requête utilisateur à partir des données récupérées, ledit procédé étant caractérisé en ce qu’ il comprend : une mise à jour (106) des règles de répartition (13) en utilisant un algorithme d’apprentissage automatique entraîné à déterminer, à partir des requêtes utilisateur reçues, des règles de répartitions qui optimisent un compromis entre les coûts et les performances des entités de stockage (11) utilisées par le système (10) de gestion de données. Procédé (100) de gestion de données selon la revendication 9 dans lequel l’algorithme d’apprentissage automatique se base sur différentes catégories de données, chaque catégorie de données étant représentative : de la fréquence à laquelle une requête utilisateur est reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une région géographique d’origine d’une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’une identité d’un utilisateur (17) associée à une requête utilisateur reçue pour accéder à une donnée appartenant à ladite catégorie, et/ou d’un identifiant de service ou de produit associé à une donnée appartenant à ladite catégorie, et/ou d’un âge d’une donnée appartenant à ladite catégorie. Procédé (100) de gestion de données selon l’une quelconque des revendications 9 à 10 dans lequel, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage (11) différentes, le procédé (100) comporte en outre une transformation de ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, et une consolidation des réponses aux requêtes d’accès sous la forme d’une réponse à la requête utilisateur. Procédé (100) de gestion de données selon l’une quelconque des revendications 9 à 10 dans lequel, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage (11) différentes, le procédé (100) comporte en outre une transformation de ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, et une transmission asynchrone des différentes réponses aux requêtes d’accès en réponse à la requête utilisateur. Procédé (100) de gestion de données selon l’une quelconque des revendications 9 à 12 dans lequel, lorsqu’une requête utilisateur vise à accéder à plusieurs données mémorisées dans des entités de stockage (11) différentes, le procédé (100) comporte en outre une transformation de ladite requête utilisateur en plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, une construction d’une donnée agrégée à partir des réponses aux requêtes d’accès, et une mémorisation de ladite donnée agrégée dans l’une au moins des entités de stockage (11). Procédé (100) de gestion de données selon l’une quelconque des revendications 9 à 10 comportant en outre : une collection d’une pluralité de requêtes utilisateur jusqu’à ce qu’un critère prédéterminé soit satisfait, une transformation de ladite pluralité de requêtes utilisateur en une ou plusieurs requêtes d’accès aux entités de stockage (11) en fonction de la cartographie (14) de la répartition des données, une formation d’une ou plusieurs réponses à chaque requête utilisateur à partir des réponses aux requêtes d’accès. Procédé (100) de gestion de données selon la revendication 14 dans lequel le critère prédéterminé est satisfait lorsqu’une période pendant laquelle les requêtes utilisateur sont collectées atteint une durée prédéterminée, et/ou lorsqu’un nombre de requêtes utilisateur collectées atteint un seuil prédéterminé. Produit programme d’ordinateur caractérisé en ce qu’il comporte un ensemble d’instructions de code de programme qui, lorsque les instructions sont exécutées par un ou plusieurs processeurs, configurent le ou les processeurs pour mettre en œuvre un procédé (100) de gestion de données selon l’une quelconque des revendications 9 à 15.