Análisis comparativo de bases de datos de Código abierto vs. Código cerrado (determinación de índices de comparación)
Enviado por Ing. Diego Javier Burbano
- Resumen
- Fundamentos de bases de datos
- El sistema gestor de base de datos (DBMS)
- El modelo Entidad Relación
- Bases de datos Distribuidas
- Criterios de Calidad
- Tendencias Futuras
- SGBD Paralelos
- SGBD Distribuidos
- ¿Qué es el código abierto?
- Principales características técnicas de los motores de bases de datos
- Principales características de los gestores de bases de datos
- Oracle
- Comparativa de las bases de datos
- Anexos
- Conclusiones y Recomendaciones
- Bibliografía
- Glosario de Términos y Siglas
Esta monografía realiza un estudio comparativo de base de datos libres como Mysql versus bases de datos propietarias como Oracle, la comparación se da en la versión 5.0.18 de Mysql y la versión 10g de Oracle.
Se analizan varios puntos de comparación como soporte, rendimiento, funcionalidad, sistemas operativos soportados, interfaz de desarrollo, conectores, características de acceso a datos, tipos de datos, seguridades, tipos de almacenamiento.
Con este estudio los gerentes y desarrolladores pueden decidir según su proyecto que motor de base de datos usar de acuerdo a sus necesidades, presupuesto o afinidad.
Este estudio se realiza entre las dos bases de datos descritas, pero puede ser utilizado para comparar otras bases de datos existentes.
Es necesario en los estudios de evaluación de software tomar en cuenta las herramientas open source para que el usuario final, desarrolladores y gerentes puedan ver las ventajas y desventajas entre los productos propietarios y libres.
Antes de las bases de datos se utilizaban archivos secuenciales como almacenes de datos. Estos daban un acceso muy rápido pero sólo de forma secuencial (para acceder a una posición, se debía recorrer el archivo entero). Más tarde aparecieron los archivos indexados, donde el acceso ya podía ser aleatorio (acceder de una vez a la posición deseada del archivo).
El sistema de archivos era el sistema más común de almacenamiento de datos. Para compartir los datos entre varias máquinas surgió el NFS, y más tarde para evitar fallos en los sistemas de archivo aparecieron los sistemas RAID (mirror).
Pero los programas y datos cada vez eran más complejos y grandes. Se requería de un almacenamiento que garantizara un cierto número de condiciones y que permitiera operaciones complejas sin que se violaran estas restricciones. Además cada usuario que accediera a los datos debía tener su trabajo protegido de las operaciones que hicieran el resto de usuarios.
Respondiendo a estas necesidades, surgieron las bases de datos jerárquicas donde los datos se situaban siguiendo una jerarquía.
Las bases de datos jerárquicas tenían el problema que los accesos a los datos eran unidireccionales, y era más complicado hacer el camino inverso (pero posible, aunque el tiempo de cálculo era mayor). Por ejemplo, era fácil saber que cuentas tenía un cliente, pero no tanto saber de que cliente era una cierta cuenta.
Para dar absoluta libertad a las relaciones entre tablas surgieron las bases de datos relacionales (RDBMS).
Las RDBMS trajeron dos cosas muy importantes: las propiedades ACID y un lenguaje común de acceso a los datos: SQL.
Las propiedades ACID son:
- Atomicidad. Cada transacción del usuario debe tratarse de forma atómica. O se ejecuta todo o nada. En todo sistema la información es muy importante y no es posible realizar una transacción a medias. Una transacción se ejecuta exactamente una vez y tiene carácter "atómico" (de subdivisión), es, decir, el trabajo se realiza en su totalidad o no se realiza en ningún caso.
- Consistencia. Las transacciones han de cumplir las restricciones definidas dentro la base de datos. Si no las pueden cumplir, se evita su ejecución. De esta forma se conserva la integridad y coherencia de los datos.
- Aislamiento. Una transacción es una unidad de aislamiento, permitiendo que transacciones concurrentes se comporten como si cada una fuera una única transacción que se ejecuta en el sistema. Las transacciones alcanzan el nivel más alto de aislamiento cuando se pueden serializar. En este nivel, los resultados obtenidos de un conjunto de transacciones concurrentes son idénticos a los obtenidos mediante la ejecución en serie de las transacciones.
- Durabilidad. Una vez se ha completado la transacción, los resultados de la misma han de ser permanentes y sobrevivir a posibles caídas del sistema o la base de datos.
Debido a que las RDBMS tienen que soportar todas estas propiedades, nunca serán tan rápidas como trabajar directamente sobre archivos, aunque internamente trabajen sobre ellos. La mayoría de desarrolladores prefieren hoy en día sacrificar la velocidad por las funcionalidades.
Según Henry F. Korth autor del libro "Fundamentos de Bases de Datos" se define una base de datos como una serie de datos organizados y relacionados entre sí, y un conjunto de programas que permitan a los usuarios acceder y modificar esos datos.
Las bases de datos proporcionan la infraestructura requerida para los sistemas de apoyo a la toma de decisiones y para los sistemas de información estratégicos, ya que estos sistemas explotan la información contenida en las bases de datos de la organización para apoyar el proceso de toma de decisiones o para lograr ventajas competitivas. Por este motivo es importante conocer la forma en que están estructuradas las bases de datos y su manejo.
Uno de los propósitos principales de un sistema de base de datos es proporcionar a los usuarios una visión abstracta de los datos. Es decir, el sistema esconde ciertos detalles de cómo se almacenan y mantienen los datos.
- Qué son las Bases de Datos?
- Porqué utilizar una base de datos?
Los sistemas tradicionales se denominaban sistemas orientados hacia procesos, debido a que, en ellos, se ponía el énfasis en los tratamientos que reciben los datos, los cuales se almacenan en archivos que son diseñados para una determinada aplicación.
Este planteamiento produce además de una ocupación inútil de memoria, un aumento de los tiempos de procesos, al repetirse los mismos controles y operaciones en los distintos archivos. Pero mas graves todavía son las inconsistencias que a menudo se presentan en estos sistemas, debido a que la actualización de los mismos datos, cuando estos se encuentran es más de un archivo, no se puede realizar de forma simultánea en todos ellos.
Con el fin de resolver estos problemas y de lograr una gestión mas racional del conjunto de datos, surge un nuevo enfoque que se apoya sobre una "base de datos" en la cual los datos son recogidos y almacenados, al menos lógicamente, una sola vez, con independencia de los tratamientos.
Gráfico # 1: Diagrama del flujo de la información al utilizar una base de datos
Fuente: Análisis y diseño detallado de aplicaciones informáticas de gestión
Página siguiente |