Les bases de données

  • Préparation: Pascal Calvat , François Laperruque, Marie-Christine Batut, Jean-Marc Larré, Patrice Dehais
  • Participants: Pascal Calvat , Stefan Gaget , …
  • Agenda: (présentations, thématiques de discussions, …)
  • Documents de référence:
  • Date:
  • Lieu:
  • Premier vote: 20
  • Choix définitif: 9

Réunion préparatoire (Juin 2011)

Idées générales

L'objectif de cet atelier est d'échanger sur notre utilisation des bases de données: en tant que développeurs d'applications scientifiques, nous avons de plus en plus de données à mettre à disposition des utilisateurs. Avec quels outils, en utilisant quelles méthodes, devons-nous gérer ces masses de données ? Nous échangerons nos points-de-vue, nos pratiques, nos doutes sur ces différentes questions

Principaux thèmes

Les thèmes suivants sont proposés à titre indicatif, nous attendons des participants qu'ils déclarent - ou pas - leur intérêt pour ces thèmes, éventuellement qu'ils en proposent d'autres.

Pour chaque thème, une très courte présentation (5mn, avec ou sans support diapos) par un participant introduira le débat.

Les bonnes questions à se poser avant de développer son application

  1. Sur l'application:
    • Comment l'information est-elle structurée ?
    • Quels sont les droits à poser sur les différentes informations ?
    • Quels algorithmes seront utilisés ?
    • Comment les données seront-elles parcourues ? Le problème de l'accès aux données peut être plus redoutable que celui de la quantité de données à stocker.
  2. Sur le stockage:
    • Base de données relationnelle ou stockage en fichiers ?
    • Fichier ascii ou format normalisé: hdf5, root (cern), Question de la pérennité des données ?
    • Quel type de système de fichiers ? (GPFS, utile pour performance et accès concurrents, est-il toujours nécessaire ?)

Outils et méthodes de conception

  1. Quels outils utilisez-vous ?
  2. Comment faire un modèle relationnel: certains normalisent, puis dénormalisent pour avoir de meilleures performances, est-ce la meilleure solution ?

Langages et API

  1. Quels langages utilisez-vous ? (java ? Php ? C/C++ ?)
  2. SQL est-il un langage adapté à la logique scientifique ?

Les outils libres de B.D. Relationnelles

  • Quoi de neuf chez postgresql (9.0) ?
  • Où en est mysql: faut-il se précipiter sur le fork mariaDb, ou en rester à mysql, malgré son rachat par Oracle ?
  • Problématique de la migration d'Oracle vers une B.D. libre:
    • Reprise des données
    • Où mettez-vous le code: dans la base (indépendance par rapport à la base) ou dans le client (performances moindres mais portage éventuel plus facile) ?

Interconnexion entre bases de données

  • Systèmes d'ETL à base de web-services pour aller chercher les données là où elles sont stockées
  • Systèmes de virtualisation du stockage: par exemple irods ( http://informatique.in2p3.fr/?q=node/174) mis en place (entre autres) au CC IN2P3
  • Question des Ontologies. Dans ce domaine, les SHS sont en pointe, cf. le portail Isidore
  • Etes-vous intéressés par le Web Sémantique ?

Aspects juridiques

  • Applications bioinformatiques (Ensembl): grande pauvreté des droits d'accès, on utilise les protections http pour les données privées
  • Données liées à des données brevetables: Connaissez-vous des outils pour gérer l'antériorité ?
  • Données médicales: l'anonymisation peut être une solution (format dicom pour l'imagerie médicale par exemple)

Discussion du 30 Septembre 2011

25 personnes environ ont participé à la discussion, qui a presque exclusivement tourné autour de la possibilité (technique) de mutualiser sur un ou des sites les bases de données, en prenant comme exemple l'offre du C.C.I.N.2.P.3

Le logiciel irods, installé au CCIN2P3, a également été présenté dans ce cadre

La présentation de Pascal Calvat: irods_jdev2011.pdf

L'offre du CCIN2P3

Le CC In2p3 gère actuellement 50Po de stockage, essentiellement pour les besoins de la physique des particules. Des moyens très lourds sont mis en place pour cela, de nombreux types de données et formats sont gérés.

Les espaces de stockage du CCIN2P3 sont mis à dispositions des labos de recherche de la région Rhones-Alpes. Par ailleurs, le TGE Adonis a passé un accord avec le CC pour que celui-ci héberge une partie des données de l'INSHS.

Le CC héberge encore un certain nombre de projets nationaux (Plume par exemple). Il pourrait être intéressant (sur un plan technique, les aspects politiques n'ont pas été abordés) de considérer une offre d'hébergement des bases de données, quelque soit d'ailleurs la taille de la base, car cela permettrait de mutualiser l'espace-disque d'une part, les compétences en administration de bases de données d'autre part, qui peuvent être très pointues si on veut avoir de bonnes performances.

irods

L'outil irods (http://informatique.in2p3.fr/?q=node/174 ou https://www.irods.org) de virtualisation de stockage a par ailleurs été présenté. Il est utilisé en production au CC IN2P3 depuis 2006:

irods (Integrated Rule-Oriented Data System) est développé par le groupe DICE bi-localisé à San Diego et à l'université de Caroline du Nord. Il est actuellement utilisé par des communautés de physiciens, de biologistes, d'astrophysique, sciences humaines et sciences du climat. Le logiciel reprend les concepts du logiciel S.R.B. (Storage Resource Broker), et est entièrement open source (licence BSD).

irods permet de virtualiser le stockage et la politique de gestion des données. Ses caractéristiques sont les suivantes:

  • Les données peuvent être physiquement sur des supports de stockage locaux ou bien sur des sites distants servis par des nœuds irods. Ainsi on peut construire un système de données réparti avec une vue unifiée.
  • Le système de fichiers sous-jacent (et ses spécificités en matière d'ACL par exemple) est masqué aux utilisateurs.
  • Un système de metadata (avec derrière une base de données Oracle ou Postgresql) permet de faire des requêtes afin de retrouver les fichiers correspondant à des critères de recherche.
  • Concernant la politique de virtualisation des données, des “microservices” peuvent être appliqués lors de la manipulation des fichiers: Par exemple on peut utiliser un microservice pour vérifier l'anonymisation lors du chargement de données médicales, ou encore pour détarrer les fichier à la volée lors du transfert de petits fichiers à l'intérieur d'un tar… On peut aussi construire des workflows plus ou moins complexes, intégrant des systèmes d'information extérieurs à irods.
  • L'interface utilisateur peut être de type “dropbox”, commande shell, API, web, ou encore vu par le client comme un montage local (à travers fuse).
  • Les manipulations de fichiers sont de type “transactionnel”, c'est-à-dire qu'on peut définir des opérations atomiques, qui vont soit échouer soit réussir totalement, jamais partiellement

Ce type de logiciels est essentiel dans le cas de projets mettant en jeu des collaborations internationales ou nationales, et lorsqu'il y a de grosses quantités de données à gérer (9 Po au Sanger Institute)

 
groupe-de-travail/bases-de-données/start.txt · Dernière modification: 2011/10/04 15:01 par emmanuel.courcelle@toulouse.inra.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki