Análisis comparativo de bases de datos de Código abierto vs. Código cerrado (determinación de índices de comparación)
- 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 |