sgbd
DESCRIPTION
gestores de base de datosTRANSCRIPT
GESTORES DE BASE DE DATOS MÁS
USADOS
1. Introducción
Para superar los límites de los sistemas de ficheros
surgieron los denominados Sistemas Gestores de Bases de Datos.
Estas aplicaciones daban cabida a múltiples bases de datos. Esto se
debe a que no solo almacenaban los datos es sí, sino que además
almacenaban la definición lógica de la base de datos (esquemas y
subesquemas), así como la definición de los usuarios y sus
respectivos permisos de acceso.
En el ámbito físico presentaban la ventaja esencial de
acceso simultáneo a varios ficheros, lo que supone una gran mejora
respecto a los tiempos de búsqueda y respuesta.
A nivel lógico, la nueva y estructurada organización de estos
sistemas, apoyados en el modelo relacional de bases de datos,
permiten que su gestión sea posible mediante lenguajes de muy alto
nivel y de cuarta generación.
En la práctica los S.G.BB.DD se presentan en compactos entornos
de desarrollo que facilitan enormemente el diseño y creación
de base de datos.
2. Desarrollo
2.1 Características fundamentales de un Sistema de
Gestión de Base de Datos
(SGBD)
Un SGBD permite el almacenamiento, manipulación y
consulta de datos pertenecientes a una base de datos organizada en
uno o varios ficheros. En el modelo más extendido (base de datos
relacional) la base de datos consiste, de cara al usuario, en un
conjunto de tablas entre las que se establecen relaciones. A pesar de
sus semejanzas (ambos manejan conjuntos de tablas) existen una
serie de diferencias fundamentales entre un SGBD y un programa
de hoja de cálculo, la principal es que un SGBD permite:
El método de almacenamiento y el programa que gestiona
los datos (servidor) son independientes del
programa desde el que se lanzan las consultas (cliente)
En lugar de primarse la visualización de toda la
información, el objetivo fundamental es permitir consultas
1
complejas, cuya resolución está optimizada, expresadas mediante
un lenguaje formal.
El almacenamiento de los datos se hace de forma eficiente
aunque oculta para el usuario y normalmente tiene, al contrario de
lo que ocurre con las hojas de cálculo, poco que ver con la
estructura con la que los datos se presentan al usuario.
El acceso concurrente de múltiples usuarios autorizados a
los datos, realizando operaciones de actualización y consulta de los
mismos garantizando la ausencia de problemas de seguridad
(debidos a accesos no autorizados) o integridad (pérdida de datos
por el intento de varios usuarios de acceder al mismo fichero al
mismo tiempo.
2.2 Clasificación de los gestores de base de datos (SGBD)
2.2.1 Gestores de BB.DD Corporativos
Están orientados a la implementación de un gran volumen
de información y a proveer accesos a ésta a través de redes (tanto
de área extensa como locales). Son aplicaciones muy extensas que
requieren plataformas específicas y dedicadas, lo cual las hace
exclusivas de grandes instituciones.
2.2.2 Gestores de BB.DD Personales.
Están destinados a ofrecer solución a las necesidades
domesticas de almacenamiento de información, así como gestión
para Pymes. En la actualidad estos sistemas están muy extendidos,
por ser muy flexibles y fáciles de utilizar.
3. Diferentes sistemas de gestión de bases de datos (SGBD)
Rapidez, efectividad en los procesos y los grandes flujos de
información están como primera necesidad la hora de optimizar
servicios y productos. Ante esta notable demanda de soluciones
informáticas han surgido multitud de gestores de bases de datos,
siendo estos programas que permiten manejar la información de
modo sencillo y que prestan servicios para el desarrollo y el manejo
de bases de datos.
Con la salida al mercado de múltiples entornos de
desarrollo la preocupación están en conocer las características,
ventajas y desventajas de cada herramienta que ofrece el mercado, y
para el caso especifico del desarrollo de este trabajo damos a
conocer características generales de los productos que más se
destacan como son Oracle, Microsoft SQL Server y Borland
Interbase que comercialmente son los más fuertes, sin embargo en
el mundo del software libre, se aprecian opciones tan completas
2
como MySQL, y postgreSQ, para el desarrollo del presente
trabajo se mencionaran algunas de las características de los
diferentes manejadores de base de datos antes mencionados.
3.1 Software bajo licenciamiento libre
POSTGRESQL
PostgreSQL se diseño como una base de datos orientada a
objetos, es decir, una ORDBMS. Esto significa, que las tablas no
son tablas, sino objetos, y las tuplas son instancias de ese objeto.
Puedes crear nuevos tipos de datos, hacer herencias entre objetos,
PostgreSQL tiene transacciones, integridad referencial, vistas, y
multitud de funcionalidades, pero es lento y pesado.
Características de PostGreSQL
Principales características de este gestor de bases de datos:
1. Implementación del estándar SQL92/SQL99.
2. Soporta distintos tipos de datos: además del soporte para los
tipos base, también soporta datos de tipo fecha, monetarios,
elementos gráficos, datos sobre redes (MAC, IP ...),
cadenas de bits, etc. También permite la creación de tipos
propios.
3. Incorpora una estructura de datos array.
4. Incorpora funciones de diversa índole: manejo de fechas,
geométricas, orientadas a operaciones con redes, etc.
5. Permite la declaración de funciones propias, así como la
definición de disparadores.
6. Soporta el uso de índices, reglas y vistas.
7. Incluye herencia entre tablas (aunque no entre objetos, ya
que no existen), por lo que a este gestor de bases de datos
se le incluye entre los gestores objeto-relacionales.
8. Permite la gestión de diferentes usuarios, como también los
permisos asignados a cada uno de ellos.
Ventajas de PostGreSQL
Seguridad en términos generales -Integridad en BD:
restricciones en el dominio -Integridad referencial - Afirmaciones
(Assertions) -Disparadores (Tiggers) -Autorizaciones -Conexión a
DBMS -Transacciones y respaldos.
Desventajas de PostGreSQL
3
Es fácil de vulnerar sin protección adecuada.
El motor MyISAM es instalado por defecto y carece de
capacidades de integridad relacional.
InnoDB genera mucho footprint en memoria al indizar.
El toolset empresarial tiene un costo adicional por
suscripción anual.
Realizar revisiones llegar a ser una labor manual y tediosa
para el DBA.
Reducida cantidad de tipos de datos.
MYSQL SERVER
Es un sistema de gestión de bases de datos relacional, fue
creada por la empresa sueca MySQL AB, la cual tiene el copyright
del código fuente del servidor SQL, así como también de la marca.
MySQL es un software de código abierto, licenciado bajo la GPL
de la GNU, aunque MySQL AB distribuye una versión comercial,
en lo único que se diferencia de la versión libre, es en el soporte
técnico que se ofrece, y la posibilidad de integrar este gestor en un
software propietario, ya que de otra manera, se vulneraría la
licencia GPL.
El lenguaje de programación que utiliza MySQL es Structured
Query Language (SQL) que fue desarrollado por IBM en 1981 y
desde entonces es utilizado de forma generalizada en las bases de
datos relacionales.
Características principales MySql Server
Inicialmente, MySQL carecía de algunos elementos
esenciales en las bases de datos relacionales, tales como integridad
referencial y transacciones. A pesar de esto, atrajo a los
desarrolladores de páginas web con contenido dinámico, debido a
su simplicidad, de tal manera que los elementos faltantes fueron
complementados por la vía de las aplicaciones que la utilizan. Poco
a poco estos elementos faltantes, están siendo incorporados tanto
por desarrolladores internos, como por desarrolladores de software
libre. En las últimas versiones se pueden destacar las siguientes
características principales:
El principal objetivo de MySQL es velocidad y robustez.
Soporta gran cantidad de tipos de datos para las columnas.
Gran portabilidad entre sistemas, puede trabajar en distintas
plataformas y sistemas operativos.
4
Cada base de datos cuenta con 3 archivos: Uno de
estructura, uno de datos y uno de índice y soporta hasta 32
índices por tabla.
Aprovecha la potencia de sistemas multiproceso, gracias a
su implementación multihilo.
Flexible sistema de contraseñas (passwords) y gestión de
usuarios, con un muy buen nivel de seguridad en los datos.
El servidor soporta mensajes de error en distintas lenguas
Ventajas MySql Server
Velocidad al realizar las operaciones, lo que le hace uno de
los gestores con mejor rendimiento.
Bajo costo en requerimientos para la elaboración de bases
de datos, ya que debido a su bajo consumo puede ser
ejecutado en una máquina con escasos recursos sin ningún
problema.
Facilidad de configuración e instalación.
Soporta gran variedad de Sistemas Operativos
Baja probabilidad de corromper datos, incluso si los errores
no se producen en el propio gestor, sino en el sistema en el
que está.
Conectividad y seguridad
Desventajas MySql Server
Un gran porcentaje de las utilidades de MySQL no están
documentadas.
No es intuitivo, como otros programas
3.2 Software bajo Licenciamiento Comercial
INTERBASE
Esta es una buena base de datos con 16 años de experiencia
en el sector de las bases de datos comerciales, existen muchas
herramientas de pago para Interbase. Casi todos los gestores de
Backup soportan Interbase (como ArcServe). Tiene también
gestores remotos para Windows de muy alta calidad, como
Maratón, todas estas herramientas hacen de Interbase un producto
muy profesional preparado para cualquier proyecto medio que
necesite de una base de datos realmente fiable, Interbase cuenta
tiene la mayoría de funcionalidades de una base de datos comercial:
triggers, tratamiento especial de blobs, backup On-line, gran
escalabilidad, bases de datos de solo lectura (para ponerlas en CD-
Rom), integridad referencial en cascada o el autotunning. dispone,
de soporte directo para PHP.
5
Ventajas de Interbase
Es una lástima que un sistema tan bueno como InterBase no
sea más popular de lo que actualmente es. Y ya podemos
mencionar el principal enemigo de InterBase: la
incertidumbre sobre su futuro
InterBase destaca del resto de los sistemas de bases de datos
por su arquitectura única, basada en versiones. Esto quiere
decir que, a pesar de tratarse del sistema más barato, es
también el que ofrece un mejor acceso concurrente a los
datos que administra. Si necesitamos una vista coherente de
la base de datos, Oracle, SQL Server y DB2 bloquean la
información que leen e impiden su actualización durante la
duración de la transacción de lectura. Esto no sucede en
InterBase porque la escritura genera una nueva versión del
registro, sin perder la coherencia de la información. Una
agradable consecuencia es que podemos realizar copias de
seguridad completas "en caliente", sin interrumpir el
funcionamiento del sistema.
Otro de los puntos fuertes de InterBase es su cercanía al
estándar de SQL, sobre todo en la sintaxis de procedimientos
almacenados y triggers.
Es sumamente fácil programar una base de datos activa en
InterBase y posteriormente adaptar la definición para Oracle.
El lenguaje de procedimientos y triggers es muy potente, e
incluso supera a Oracle en la facilidad para expresar
cláusulas de verificación check que involucren a varias
tablas, y en que los triggers no están sujetos a los problemas
ocasionados en Oracle por las denominadas "tablas
mutantes".
Desventajas de Interbase
Los problemas de InterBase se deben a la misma causa que
sus ventajas: su arquitectura única. Es muy sencillo realizar
particiones en otros sistemas (Oracle, DB2, SQL Server, Informix)
para aumentar el rendimiento físico de una base de datos, pero este
concepto es difícil de adaptar para InterBase. De todos modos, el
particionamiento por software no es sino un sustituto un poco más
flexible de ciertas técnicas RAID para la mejora del rendimiento, e
InterBase sí permite que una base de datos se expanda a lo largo de
varios discos, aunque no controla qué tablas van a parar a qué
dispositivo.
ORACLE
Sin duda alguna la actual unión entre Dell y Oracle
constituye uno de los principales encuentros tecnológicos al
6
servicio de las necesidades empresariales actuales, tras alcanzar más
de 22.000 instalaciones de software Oracle en equipo Dell, las
empresas han demostrado un sólido éxito en la tarea de entregar
mayor beneficio empresarial a una amplia gama de clientes, entre
ellos el Lighting Group de Acuity Brands, Electronic Arts, Menasha
Corporation, el Centro Mercedes-Benz.
Las propuestas de precio fijo incluyen: servicios de
migración para los clientes que proceden de UNIX a Linux,
servicios de implementación para ayudar a los clientes a desplegar
rápidamente Oracle9i Database con Real Application Clusters;
afinamiento del rendimiento y de la capacidad, así como replicación
en espejo de las bases de datos y planificación de la recuperación de
emergencia
Características principales de Oracle
En torno cliente / servidor.
Gestión de grandes bases de datos.-Usuarios concurrentes.
Alto rendimiento en transacciones.-Sistema de alta
disponibilidad.
Gestión de la seguridad.-Compatibilidad.-Contestabilidad.
Ventajas de Oracle
Oracle es el motor de base de datos relacional más usado a
nivel mundial.
Puede ejecutarse en todas las plataformas, desde una Pc
hasta un supercomputador.
Oracle soporta todas las funciones que se esperan de un
servidor "serio": un lenguaje de diseño de bases de datos
muy completo (PL/SQL) que permite implementar diseños
"activos", con triggers y procedimientos almacenados, con
una integridad referencial declarativa bastante potente.
Permite el uso de particiones para la mejora de la eficiencia,
de replicación e incluso ciertas versiones admiten la
administración de bases de datos distribuidas.
El software del servidor puede ejecutarse en multitud de
sistemas operativos.
Existe incluso una versión personal para Windows 9x, lo
cual es un punto a favor para los desarrolladores que se
llevan trabajo a casa.
¿Qué hay de los objetos de Oracle? Este sistema ha
comenzado a evolucionar en esta dirección,
añadiendo tipos de clases, referencias, tablas
anidadas, matrices y otras estructuras de datos
complejas. Desafortunadamente, la implementación
7
actual de las mismas no ofrece una ventaja clara en
eficiencial, como sería de esperar, y sí provocan la
incompatibilidad de los diseños que aprovechan las
nuevas características con otras bases de datos.
Oracle es la base de datos con más orientación
hacía INTERNET
Un aceptable soporte
Desventajas de Oracle
Una de las versiones más recientes de Oracle es la 8 punto
algo (Aunque ya está la 9i). Y es que desde el lanzamiento
original de la 8 se sucedieron varias versiones con
correcciones, hasta alcanzar la estabilidad en la 8.0.3. El
motivo de tantos fallos fue, al parecer, la remodelación del
sistema de almacenamiento por causa de la introducción de
extensiones orientadas a objetos.
El mayor inconveniente de Oracle es quizás su precio.
Incluso las licencias de Personal Oracle son excesivamente
caras, en mi opinión. Otro problema es la necesidad de
ajustes. Un error frecuente consiste en pensar que basta
instalar el Oracle en un servidor y enchufar directamente las
aplicaciones clientes. Un Oracle mal configurado puede ser
desesperantemente lento.
También es elevado el coste de la formación, y sólo
últimamente han comenzado a aparecer buenos libros sobre
asuntos técnicos distintos de la simple instalación y
administración.
SQL SERVER
Es un sistema para la gestión de bases de datos producido
por Microsoft basado en el modelo relacional cuya principal
función es la de almacenar y consultar datos solicitados por otras
aplicaciones, sin importar si están en la misma computadora, si
están conectadas a una red local o si están conectadas a través de
internet (plataforma “Cloud-Ready”).
Ventajas de Sql Server
Los problemas que te mencione en el punto 1 de las
desventajas de MS Sql Server, han sido resuelto en SQL
Server 7: las páginas han aumentado a 8192KB (aunque
8
este tamaño sigue siendo constante), el bloqueo se produce
a nivel de fila, las columnas de tipo variable ocupan ahora
lo justo y han desaparecido los odiados dispositivos,
abriendo paso a ficheros nativos del sistema operativo con
crecimiento automático.
El atractivo principal: lo barato del sistema, y la tendencia
de los directivos a aceptar preferentemente productos de
Microsoft. Además, hay que reconocer que la versión 7 es
bastante estable, aunque me han llegado rumores de
problemas en máquinas con varios procesadores que se han
resuelto el Service Pack 1.
Otro punto importante a favor de SQL Server es la interfaz
de acceso OLE DB y ADO. Aunque se trata de una interfaz
universal, SQL Server es una de las primeras bases de datos
en soportarla.
Cuando SQL Server no tiene tareas de usuario para
procesar, comienza a escribir automáticamente las
memorias intermedias sucias del caché al disco. Como estas
escrituras se realizan en los ciclos de inactividad del
servidor, se denominan escrituras libres.
La tarea de limpieza tiene las siguientes ventajas:
-Mejor utilización de la CPU .
-Menor necesidad de limpieza de las memorias intermedias
durante el procesamiento de las transacciones.
-Puntos de verificación más rápidos.
-Menor tiempo de recuperación.
-En aplicaciones que actualizan continuamente la
misma página de base de datos, la tarea de limpieza
puede iniciar innecesariamente escrituras de la base
de datos. Los administradores del sistema pueden
utilizar el parámetro de configuración housekeeper
free write percentage para inhabilitar la tarea de
limpieza o para controlar sus efectos secundarios.
SQL Server registra las transacciones de tal modo que las
actualizaciones en una de ellas siempre se puedan recuperar o
reducir al último estado consistente si el equipo cliente o servidor
falla. Aunque el motor de base de datos Microsoft Jet y los archivos
.mdb también proporcionan transacciones, éstas no se administran
mediante un registro de transacciones separado en los
archivos .mdb y pueden fallar sin posibilidad de recuperación si se
daña el archivo de la base de datos.
Desventajas de Sql Server
Los problemas de la 6.5 eran muchos: bloqueo a nivel de página,
9
dispositivos con crecimiento manual, un tamaño de página fijo y
demasiado pequeño (2048KB), una pésima implementación de los
tipos de datos variables como varchar...
10