Escolar Documentos
Profissional Documentos
Cultura Documentos
Motivacin Las bases de datos son el medio ms comnmente utilizado para almacenar la informacin que una empresa genera y emplea en sus aplicaciones de gestin. Para garantizar la durabilidad de tal informacin se suele recurrir a una poltica de generacin de copias de seguridad peridicas, que seran empleadas en caso de fallo para regenerar de nuevo la base, minimizando as las prdidas de informacin. El empleo de estas tcnicas implica un coste econmico muy bajo, pues los dispositivos y medios de almacenamiento necesarios para ello llevan ya mucho tiempo en el mercado y su fiabilidad est plenamente garantizada. Sin embargo, cuando uno de los equipos falla y hay que recurrir a la recuperacin de la base de datos perdida, puede que necesitemos ms recursos o ms tiempo del inicialmente previsto. Todo depende de lo que haya llegado a fallar: puede ser el disco donde se mantena la base, algn otro componente de ese mismo ordenador, o incluso el ordenador completo (en caso de incendio, por ejemplo). Lo ideal sera tener un repuesto de la pieza que haya podido fallar, pero eso no siempre ocurrir. El plazo necesario para adquirirla, arreglar el ordenador y recuperar el estado de la base de datos podra implicar que la empresa fuera incapaz de proporcionar sus servicios, aunque sean de naturaleza interna (contabilidad, gestin de almacn, gestin de clientes, gestin de proveedores, etc.), durante un tiempo apreciable. Adems, la ltima copia de seguridad que se guard no evitar que se hayan perdido todos los datos modificados en la base desde el momento de realizacin de dicha copia hasta el momento del fallo. Esto implicara que todas las transacciones llevadas a cabo durante ese plazo, tendran que ser realizadas de nuevo. Con algo de suerte todava podramos disponer de las fuentes de informacin necesarias para poderlas repetir, pero aun as, sera una tarea que a nadie le gustara realizar. Una solucin ligeramente mejor consiste en replicar las bases de datos empleadas por la empresa. En lugar de guardar una sola copia de cada base en el ordenador que normalmente se emplea para procesar su informacin, podemos mantener un nmero mayor de copias. Por ejemplo, en lugar de tener una base para cada departamento de la empresa, manteniendo en cada una de ellas slo la informacin de su departamento propietario, podramos tener el mismo nmero de bases, pero replicadas tantas veces como departamentos haya. Es decir, cada departamento guardara su propia informacin ms una copia adicional de la informacin de todos los dems departamentos. Para empresas mayores, con varios centros o sucursales, la divisin podra hacerse por sucursal, en lugar de por departamento. Hay que observar que esto no implica un coste econmico excesivo, pues no se necesita
La replicacin de BBDD permite mejorar la disponibilidad de la informacin sin un gran coste adquirir un mayor nmero de equipos informticos, sino aumentar ligeramente su capacidad de almacenamiento. De esta forma, al emplear replicacin, si uno de los ordenadores fallara, slo se perdera momentneamente una de las rplicas de la informacin. El resto de copias continuara disponible y permitira que los servicios que puedan depender de tal informacin sigan funcionando correctamente. Adems, mientras no se den situaciones de fallo, el mantenimiento de dichas copias puede conllevar un ligero aumento de las prestaciones del sistema. Esto se debe a que no es raro que desde un equipo necesitemos, de vez en cuando, acceder a la informacin presente en la base de datos de otro equipo de la empresa. Para ello, deberemos iniciar una transaccin sobre el SGBD remoto, y para atenderla necesitamos la colaboracin de nuestro equipo local, el servidor remoto y el uso de cierto ancho de banda en la red. Si estos accesos se realizan sobre una base de datos totalmente replicada, podrn atenderse de manera puramente local. Con ello, para las transacciones de solo lectura se puede proporcionar una elevada capacidad de servicio replicando la base de datos, aumentando de esta manera la concurrencia para este tipo de accesos y reduciendo tambin su tiempo se respuesta. El grupo de sistemas distribuidos del Instituto Tecnolgico de Informtica, junto a otros grupos de investigacin nacionales y extranjeros y algunas empresas interesadas, ha desarrollado un sistema de replicacin de bases de datos relacionales llamado COPLA, producido en el proyecto de investigacin GlobData (accesible en la URL: http://globdata.iti.es, enero 2004) financiado por el V Programa Marco de la Unin Europea. En este artculo describiremos el sistema COPLA, as como las ventajas que reportara el uso de una arquitectura de soporte a replicacin de bases de datos como la proporcionada en COPLA. El sistema COPLA El sistema COPLA est estructurado en tres niveles distintos tal como muestra la Figura 1. Estos niveles estn implantados en Java y pueden estar ubicados en mquinas distintas, pues se intercomunican
Actualidad
Revista del Instituto Tecnolgico de Informtica
Gestor COPLA
ser el encargado de elegir el protocolo ms adecuado para cada aplicacin que vaya a usarse, dependiendo de los parmetros que se desee optimizar: rendimiento, ratio de abortos, etc. Por otra parte, el mdulo que implanta al protocolo de consistencia es el nico encargado de la comunicacin entre las diferentes rplicas (es decir, entre los diferentes ordenadores) que componen un sistema COPLA. Debido a esto, junto al protocolo de consistencia existe otro mdulo encargado de la gestin de la comunicacin entre los nodos. Este nuevo mdulo tiene que implantar protocolos de difusin de actualizaciones y tiene que monitorizar el estado de cada uno de los nodos, con el objetivo de detectar las cadas o recuperaciones de stos tan pronto como sea posible y reconfigurar entonces el sistema para que pase a manejar adecuadamente su nueva composicin. Para ello, este mdulo de comunicaciones implanta algn protocolo de pertenencia y el protocolo de consistencia tambin tendr incluido uno o ms subprotocolos de recuperacin. Con esto se lograr que el sistema resultante pueda manejar automticamente cualquier situacin de fallo o recuperacin de uno o ms de los ordenadores que componen el sistema COPLA. 3. Uniform Data Store El nivel inferior es el responsable de proporcionar al Gestor COPLA una imagen orientada a objetos de la base de datos relacional que se est utilizando realmente como Sistema Gestor de Bases de Datos (SGBD). Por tanto, UDS se encarga de ocultar los detalles relacionales y ofrecer una imagen uniforme para el gestor, independientemente de la base de datos que tengamos. Actualmente se dispone de un UDS para las ltimas versiones de PostgreSQL, aunque no sera excesivamente difcil desarrollar componentes equivalentes para otros SS.GG.BB.DD. El rendimiento final obtenido con esta arquitectura depende en gran medida del tipo de protocolo de consistencia que se est empleando. En la prxima seccin estudiaremos en detalle las tcnicas bsicas de replicacin de bases de datos empleadas hoy en da. Replicacin de bases de datos Las tcnicas de replicacin de bases de datos se suelen clasificar en funcin del instante empleado para propagar las actualizaciones generadas en cada transaccin. Tendremos as dos tipos de protocolos: 1. Replicacin perezosa En estos protocolos las actualizaciones, si hubo alguna, se propagan al resto de rplicas una vez la transaccin original ya ha terminado exitosamente. De esta manera, se minimiza el tiempo de respuesta de cada transaccin pues no ha sido necesaria la propagacin de las actualizaciones para darla por terminada, y se mejora el rendimiento del sistema. No obstante, esto puede conducir a que
9
Est claro que el estndar ODMG no suele ser conocido por los programadores con experiencia en el lenguaje Java, pero una vez habituados a l, el desarrollo de aplicaciones con acceso a bases de datos se puede simplificar bastante. Como resultado, las aplicaciones desarrolladas una vez ya conocida la interfaz requerirn mucho menos cdigo que las desarrolladas sobre JDBC. 2. Gestor COPLA Es el componente central de la arquitectura y sobre l recae la responsabilidad de la gestin de cachs, para optimizar el acceso a la base, y la del mantenimiento de la consistencia entre las diferentes rplicas. Hay que advertir que el mantenimiento de la consistencia no es una tarea trivial. De hecho, precisa la utilizacin de algn protocolo especfico que mediante unas reglas determinadas asegure que todas las rplicas realicen las actualizaciones de la informacin en el mismo orden, evitando o detectando los conflictos que puedan darse entre diferentes nodos que traten de acceder concurrentemente a los mismos registros y al menos en uno de los nodos en modo escritura. Por esta razn, el gestor COPLA admite la instalacin de diferentes protocolos de consistencia, internos al propio gestor. Estos protocolos podrn adoptar diferentes estrategias a la hora de garantizar la consistencia de la informacin, como veremos en la seccin 3. As, el administrador
Actualidad
Revista del Instituto Tecnolgico de Informtica
Actualidad
10
Actualidad
Revista del Instituto Tecnolgico de Informtica
los fundamentos del testeo de software y se describirn los procesos bsicos que cada compaa moderna debe implementar para garantizar un nivel de calidad en sus productos. La jornada se dirige a la presentacin y explicacin de tcnicas, modelos y metodologas que se pueden utilizar para llevar a cabo un proceso bsico de testeo. Las jornadas contarn con la participacin de expertos internacionales en el rea de software testing, como el prestigioso Tim Koomen, ganador del European Testing Excellence Award 2003. El precio de la inscripcin (300 euros) incluye comida y documentacin. Traduccin simultnea al castellano.
Estas jornadas pretenden introducir aquellos conceptos bsicos del testeo tiles para cualquier compaa en el mercado actual. Se explicar la importancia y