mercredi 1 avril 2009

BdD Sans Confetti - Architecture dite "VarChar"

Ce document a été établi avec l'aide des meilleurs architectes français pour le projet Ariane (Min. Intérieur & Gendarmerie) en Avril 2006.

Architecture Open Source dite Base de Données Sans Confetti "VarChar" pour un système d’enquêtes (Concurrence, Fisc, Justice, fraudes aux assurances, etc…).

Dans le cas présent, on trouve 2 Index majeurs auxquels correspondent 2 arborescences de plusieurs centaines de milliers de fichiers:
- les fichiers "clients" qui regroupent les renseignements retraçant la biographie du client, les comptes-rendus d’entretien, les références des affaires où ce client apparaît, etc.
- les fichiers "affaires" comportant des CR d’enquêtes, notes en tout genres.Chaque fois qu’il y a des textes par exemple des PV, les fichiers contiennent également les méta données ou les mots-clefs établis par le module d’Intelligence Artificielle.




ACE = Adaptative Communication Environment
www.cs.wustl.edu/~schmidt/ACE-overview.html

Les informations contenues dans chacun des fichiers "client" (ou "affaires") suffisent pour afficher sur l’écran du PC de l’enquêteur les éléments relatifs à ce client (interface similaire à celle utilisée par le Desktop Search Doc-Accelerator), et naviguer dans les textes avec une interface de recherche simple.
En plus de ces 2 ensembles majeurs d’information (Data, mais surtout Texte), le système comporte un SGBD qui assure 2 fonctions essentielles:
- la liaison entre toutes les informations du système ( No de Client, No d’affaires, No de PV, enquêteurs, etc…)
- la supervision des mises à jour du système, c'est-à-dire que les données (en général volumineuses, car il s’agit souvent de textes) ne sont réputées entrées dans la base de données Baobab qu’après validation par la SGBDR.

La sécurité du système repose sur les outils de journalisation, backup, reprise automatiques de la SGBDR.

Annexe pour l’architecture complexe dite "VarChar"
Le système comporte principalement 2 ensembles:

  1. un ensemble de serveurs (et éventuellement de clusters de serveurs) organisés selon l’architecture Baobab, avec une (ou plusieurs) arborescences de fichiers correspondants aux critères de classement majeurs (primary index, tels que "clients", …), et qui regroupent la plus grande partie des informations relatives à ces "clients". (typiquement la partie texte)Cet ensemble à la fois gère les mises à jour et assure un affichage très rapide à la totalité des informations relatives à un "client", ce qui correspond à la très grande majorité des cas.
    On utilise un (ou plusieurs clusters) de serveurs supplémentaires avec une copie de la base de données qui est utilisée exclusivement pour les requêtes complexes qui mettent en œuvre un grande partie de la base de données texte.
  2. Un SGBDR qui assure 2 types de fonctions, à savoir- la gestion (et consultation) d’une partie des données structurés de la base de données ainsi que la liaison entre les différents éléments des arborescences "Baobab",- et des services tels que gestion des autorisations, … et surtout le suivi des mises à jour des éléments de la base de données Baobab, afin d’assurer un complète cohérence du système.

Ces 2 ensembles sont supervisés par un serveur (selon la technologie Ace) qui assure l’interface avec les postes clients.

Différents services et logiciels:

  1. au niveau du serveur de supervision (ace1)un service d'interrogation, de mise à jour et de supervision ; Ce service:
    - Transmet les requêtes en provenance des PC clients aux services de recherche, assure la liaison entre requêtes SQL et requêtes en texte libre.
    - Garantit la cohérence entre les données de la base et les fichiers: état global du système, mécanismes de reprise, journaux de mises à jour.
    - Permet d'administrer le système, de gérer les sauvegardes, de redémarrer depuis le dernier état valide.
    Il communique avec le SGBDR via SQL et avec les services Baobab via un protocole spécifique.
  2. un SGBDR gère:
    - les données spécifiques de l'application (typiquement des données structurées)
    - les informations d'état en liaison avec les données gérées par la techno Baobab (intégrité de l’ensemble).
    - les autorisations, utilisateurs, sessions, etc.
  3. service de gestion des données sur fichiers (techno Baobab) sur des serveurs (Ace2) et de clusters de serveurs (Ace3) ; Ce service prend en charge:
    - l'exécution de requêtes en texte libre et la liaison avec les requêtes SQL pour interrogation du SGBDR
    - les mises à jour sur les fichiers.
  4. un logiciel d'administration du système (sur le PC de l’administrateur).
  5. le logiciel dans les PC-clients pour l'interrogation et la mise à jour des données.