Comparació de bases de dades en SQL Server (I)

2 12 2007

Sovint, en el món de la informàtica i en d’altres camps, formem equips de treball (més o menys coordinats) per avançar en un projecte de forma paral·lela. Moltes vegades, sobretot quan programem, disposem d’elements comuns, com puguin ser fitxers de codi, binaris, bases de dades… als quals ha de poder accedir i manipular tothom alhora, sense que això suposi trepitjar la feina d’un altre equip.

Una primera solució a aquest problema seria incloure tot el material del que disposem en un fons comú, de manera que qui volgués editar quelcom s’ho descarregués temporalment i quan hagués acabat ho tornés a publicar de manera que tothom veiés els canvis. Els inconvenients apareixen abans de començar:

  • Control de concurrència molt pobre (què passarà si dos usuaris estan modificant el mateix fitxer?)

  • Es fa impossible saber qui ha efectuat cada canvi

  • És un procés lent, ja que implica descarregar-se els fitxers un per un, quan és molt probable sigui necessari editar més d’un fitxer alhora

Existeixen altres mètodes per compartir la informació creant un arbre de versions, és a dir, cada vegada que algú modifica algun dels recursos es desa una còpia de l’element abans de modificar-se en un fons i la versió editada passa a ser considerada la base per a posteriors modificacions. D’aquesta manera es resolen els inconvenients presentats a la metodologia anterior.
Aquest apropament té noves mancances:

  • Requereix que tots els equips de treball actualitzin periòdicament els documents a la versió més recent; sinó, algú podria donar com a vàlid un recurs modificat sobre una base que no conté tots els canvis

  • Aquest sistema normalment inclou funcions de “mescla” de continguts, o sigui que si dos usuaris modifiquen el mateix fitxer (en segments diferents), el conjunt és prou “intel·ligent” per incloure ambdós canvis; els problemes vénen quan les modificacions dels usuaris afecten al mateix segment (quina és la bona?), sobretot comptant que són sistemes tan sensibles que un simple espai o tabulació poden generar el que es coneix com a conflicte, que ha de resoldre manualment l’usuari que se’l troba

  • El mètode de control de canvis funciona correctament, sempre que es tracti de fitxers de text; quan estem parlant d’altres tipus de dades (imatges, binaris compilats, bases de dades…), el sistema pot reportar modificacions (de les que potser no som ni conscients) i crear conflictes

Llegeix la resta d’aquesta entrada »