sgbd

15
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) 1

Upload: yasibit-reyes-molina

Post on 27-Dec-2015

6 views

Category:

Documents


0 download

DESCRIPTION

gestores de base de datos

TRANSCRIPT

Page 1: SGBD

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

Page 2: SGBD

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

Page 3: SGBD

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

Page 4: SGBD

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

Page 5: SGBD

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

Page 6: SGBD

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

Page 7: SGBD

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

Page 8: SGBD

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

Page 9: SGBD

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

Page 10: SGBD

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