FR3124611A1 - système et procédé de gestion de données dans un environnement multi-stockage - Google Patents

système et procédé de gestion de données dans un environnement multi-stockage Download PDF

Info

Publication number
FR3124611A1
FR3124611A1 FR2106970A FR2106970A FR3124611A1 FR 3124611 A1 FR3124611 A1 FR 3124611A1 FR 2106970 A FR2106970 A FR 2106970A FR 2106970 A FR2106970 A FR 2106970A FR 3124611 A1 FR3124611 A1 FR 3124611A1
Authority
FR
France
Prior art keywords
data
access
storage entities
user
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2106970A
Other languages
English (en)
Inventor
Renaud Marty
Julien BOITE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unabiz Fr
Original Assignee
Sigfox SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sigfox SA filed Critical Sigfox SA
Priority to FR2106970A priority Critical patent/FR3124611A1/fr
Priority to PCT/FR2022/051241 priority patent/WO2023275462A1/fr
Publication of FR3124611A1 publication Critical patent/FR3124611A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

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.

Claims (16)

  1. 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 quele 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. 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.
  7. 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é.
  8. 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.
  9. 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é étantcaracté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.
  10. 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.
  11. 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.
  12. 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.
  13. 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).
  14. 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.
  15. 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é.
  16. 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.
FR2106970A 2021-06-29 2021-06-29 système et procédé de gestion de données dans un environnement multi-stockage Pending FR3124611A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2106970A FR3124611A1 (fr) 2021-06-29 2021-06-29 système et procédé de gestion de données dans un environnement multi-stockage
PCT/FR2022/051241 WO2023275462A1 (fr) 2021-06-29 2022-06-23 Système et procédé de gestion de données dans un environnement multi-stockage

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2106970A FR3124611A1 (fr) 2021-06-29 2021-06-29 système et procédé de gestion de données dans un environnement multi-stockage
FR2106970 2021-06-29

Publications (1)

Publication Number Publication Date
FR3124611A1 true FR3124611A1 (fr) 2022-12-30

Family

ID=77519290

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2106970A Pending FR3124611A1 (fr) 2021-06-29 2021-06-29 système et procédé de gestion de données dans un environnement multi-stockage

Country Status (2)

Country Link
FR (1) FR3124611A1 (fr)
WO (1) WO2023275462A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118426712B (zh) * 2024-07-05 2024-08-30 深圳市天创伟业科技有限公司 闪存卡数据存储方法、装置、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BELLO IRWAN ET AL: "Neural Combinatorial Optimization with Reinforcement Learning", ARXIV:1611.09940V3, 12 January 2017 (2017-01-12), XP055893303, Retrieved from the Internet <URL:https://arxiv.org/pdf/1611.09940.pdf> [retrieved on 20220217] *
KAMINSKY MICHAEL ET AL: "SPANStore : cost-effective geo-replicated storage spanning multiple cloud services", PROCEEDINGS OF THE TWENTY-FOURTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, SOSP '13, 3 November 2013 (2013-11-03), New York, New York, USA, pages 292 - 308, XP055901063, ISBN: 978-1-4503-2388-8, Retrieved from the Internet <URL:https://dl.acm.org/doi/pdf/10.1145/2517349.2522730> [retrieved on 20220313], DOI: 10.1145/2517349.2522730 *
LIU KAIYANG ET AL: "A Learning-Based Data Placement Framework for Low Latency in Data Center Networks", IEEE TRANSACTIONS ON CLOUD COMPUTING, IEEE, vol. 10, no. 1, 12 September 2019 (2019-09-12), pages 146 - 157, XP011902252, DOI: 10.1109/TCC.2019.2940953 *
WANG HAOYU ET AL: "A Reinforcement Learning Based System for Minimizing Cloud Storage Service Cost", ICPP'20: 49TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 30, 17 August 2020 (2020-08-17), pages 1 - 10, XP058583083, DOI: 10.1145/3404397.3404466 *

Also Published As

Publication number Publication date
WO2023275462A1 (fr) 2023-01-05

Similar Documents

Publication Publication Date Title
US10810191B2 (en) Limiting scans of loosely ordered and/or grouped relations in a database
US11934356B2 (en) Synchronization of metadata in a distributed storage system
US10262050B2 (en) Distributed database systems and methods with pluggable storage engines
US10108649B2 (en) Early exit from table scans of loosely ordered and/or grouped relations using nearly ordered maps
US8555018B1 (en) Techniques for storing data
US10810232B2 (en) Multi-level metadata in database systems
US9684702B2 (en) Database redistribution utilizing virtual partitions
US11347738B2 (en) Detecting data skew in a join operation
US20200272628A1 (en) Storing multi-level metadata in database systems
US9128944B2 (en) File system enabling fast purges and file access
US11567902B2 (en) Systems and methods for document search and aggregation with reduced bandwidth and storage demand
US20180039664A1 (en) Management of sparse data for database systems with multiple processing units
FR2943814A1 (fr) Procede de gestion d&#39;une base de donnees relationnelle de type sql
FR3124611A1 (fr) système et procédé de gestion de données dans un environnement multi-stockage
US20240232421A1 (en) Data Certification Process for Cloud Database Platform
US20120030164A1 (en) Method and system for gathering and usage of live search trends
US20130166689A1 (en) Disk Management
US10366057B2 (en) Designated computing groups or pools of resources for storing and processing data based on its characteristics
US20240054133A1 (en) Data Certification Process for Updates to Data in Cloud Database Platform
Ogbonna et al. Very Large Databases: Challenges and Strategies
BE1005873A6 (fr) Appareil de stockage et de consultation de donnees.
EP3948574A1 (fr) Système de stockage redondant de données, procédé et programme d&#39;ordinateur correspondants
Saini et al. Examining Data Lake Design Principle for Cloud Computing Technology and IoT
WO2023089485A1 (fr) Maintien, au niveau d&#39;un système de base de données cible, d&#39;une copie d&#39;une table source d&#39;un système de base de données source

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20221230

TP Transmission of property

Owner name: UNABIZ, FR

Effective date: 20230504

PLFP Fee payment

Year of fee payment: 3