·
Procesar peticiones de recuperación y
modificaciones
Al
evolucionar los modelos de bases de datos, también lo hacen los productos DBMS
que soportan varios tipos de bases de datos. Por ejemplo MySQL es un sistema de
este tipo, como lo son Oracle, DB2, SQL Server y PostgreSQL. Estos productos,
como cualquier DBMS, permiten acceder y manipular datos dentro de las bases de
datos, protegerlos de la corrupción e inconsistencias, y mantener los metadatos
necesarios para definir donde los datos que serán almacenados.
MySQL
Surgiendo
como uno de los más grandes jugadores en el mercado de los DBMS está MySQL. Que
como otros productos DBMS, MySQL provee un amplio conjunto de características
que soportan un ambiente seguro para almacenar, mantener y acceder a los datos.
MySQL es rápido, confiable y una alternativa escalable de los muchos DBMS
comerciales que existen en la actualidad. A continuación se mencionan de manera
general algunas de las características que se encuentran en MySQL:
· Escalabilidad: MySQL
puede manejar grandes bases de datos, lo cual se ha demostrado con sus
implementaciones en organizaciones como Yahoo!, Cox Communications, Google,
Cisco, Texas Instruments, UPS, Sabre Holdings, HP y la prensa asociada. Incluso
en la NASA y en los censos de Estados Unidos se han implementado soluciones
MySQL. De acuerdo a la documentación MySQL, algunas de las soluciones empleadas
por MySQL AB, la compañía creadora de MySQL, contiene más de 50 millones de
registros, y algunos usuarios de MySQL han reportado que sus bases de datos
contienen 60,00 tablas y 5 mil millones de columnas.
· Portabilidad: MySQL
corre sobre una variedad de sistemas operativos, incluyendo Unix, Linux,
Windows, QS/2, Solaris y MacOS, MySQL puede también correr sobre diferentes
arquitecturas, desde las PC de escritorio hasta los grandes Mainframes.
· Conectividad: MySQL
está totalmente orientado a las redes, soporta sockets TCP/IP, sockets Unix y
las llamadas pipes. En adición, MySQL puede ser accesado desde cualquier lugar
en internet, y múltiples usuarios pueden accesar a las bases de datos MySQL
simultáneamente. MySQL además provee una gran variedad de interfaces para
distintas aplicaciones de programación (APIs) para soportar la conectividad
desde distintas aplicaciones escritas en lenguajes tales como C, C++, Perl,
PHP, Java y Python.
· Seguridad: MySQL
incluye un poderoso sistema de control de acceso a los datos. El sistema
utiliza una estructura basada en el anfitrión(host) y el usuario que controla
quien puede accesar a la información específica y el nivel de acceso a esa
información. MySQL también soporta el protocolo de capa segura de sockets (SSL)
para poder permitir conexiones encriptadas.
· Velocidad: MySQL
fue desarrollado con la velocidad en mente. El monto de tiempo que toma a las
bases de datos MySQL responder una petición de datos están rápido o más rápido
que muchos de los otros DBMS comerciales. El sitio
· Facilidad
de uso: MySQL es fácil de instalar e implementar. Un usuario puede
tener una instalación MySQL lista y corriendo, minutos después de descargar los
archivos. Incluso en un nivel administrativo, MySQL es relativamente fácil de
optimizar, especialmente comparado con otros productos DBMS
· Código
de fuente abierta: MySQL hace que el código fuente de MySQL esté
disponible para cualquier persona para descargarlo y ocuparlo. La filosofía 13
de código fuente abierto permite a una audiencia global participar en la
revisión, pruebas y desarrollo del código.
PostgreSQL
Es un
DBMS que incorpora el modelo relacional para sus bases de datos y que se basa
en el lenguaje estándar SQL. PostreSQL ha mostrado ser bastante capaz y
confiable, tiene buenas características de rendimiento. Es un manejador
multiplataforma, nativamente corre en UNIX, pero es capaz de correr en sistemas
como Linux, freeBSD, y Mac OS X, también funciona en sistemas Windows
NT/2000/2003 Server, o incluso en sistemas Windows XP. Además utiliza un código
de fuente libre. PostreSQL puede ser comparado favorablemente contra otros
DBMS, pues contiene las mismas características que los demás DBMS comerciales,
además de algunos extras que no se encontrarán en otros lados.
Las
características de PostreSQL incluyen:
· Transacciones
·
Subselecciones
·
Vistas
·
Llaves externas con integridad referencial
·
Bloqueo sofisticado · Tipos de usuarios
definidos
·
Herencia
·
Reglas
·
Control de concurrencia de múltiples versiones
Desde
la versión 6.5, PostgreSQL se ha vuelto bastante estable, con cada gran serie
de pruebas de regresión para asegurar una estabilidad muy superior en cada
lanzamiento. A partir del lanzamiento 7.x se ha llegado a un acercamiento mayor
que en ningún otro hacia lo que es el lenguaje SQL92 y una restricción en el
tamaño de las filas que fue removido. En lanzamiento de la versión 8 se han
agregado características tales como:
·
Versión nativa de Microsoft Windows
·
Espacios de la tabla
·
Habilidad para alterar los tipos de columna
·
Recuperación en tiempo de punto
PostgreSQL
ha demostrado su confiabilidad en el uso. Cada lanzamiento ha sido controlado
muy cuidadosamente, y los lanzamientos beta han sido sujetos de prueba al menos
una vez al mes. Con una comunidad de usuarios más grande, con acceso al código
fuente, los errores y problemas en el funcionamiento son reparados muy
rápidamente. El rendimiento de PostgreSQL ha sido mejorado en cada lanzamiento,
y las últimas pruebas de rendimiento contra otras marcas, muestran que, en
algunas circunstancias, se compara muy bien contra los productos comerciales.
Una de las fortalezas de PostgreSQL radica en su arquitectura, y es que es
debido a esta, que se puede manejar en un entorno cliente/ servidor, el cual
beneficia tanto a los desarrolladores como a los usuarios. El corazón de PostgreSQL
radica en las instalaciones de bases de datos en los procesos de servidor. El
cual corre en un solo servidor. Las aplicaciones que necesitan acceder a los
datos almacenados dentro de la base de datos que requieren hacer vía el proceso
de bases de datos. Los programas de tipo cliente no pueden acceder a los datos
directamente, incluso si están corriendo en la misma máquina como el proceso
servidor.
Esta
separación entre el cliente y el servidor permiten que las aplicaciones sean de
tipo distribuidos. Se puede utilizar la red para poder realizar la separación
de los 16 clientes de tu servidor y desarrollar aplicaciones de cliente en un
entorno que se ajuste a las necesidades de los usuarios.
Oracle
El
servidor Oracle tiene todas las características de un DBMS y que tiene un
soporte amplio para entornos sofisticados cliente/servidor. Muchas de las
características internas de Oracle están diseñadas para proveer una alta
disponibilidad, máximo rendimiento, seguridad y un uso eficiente de los de los
recursos del cliente. Aunque estas características son arquitectónicamente
importantes para un servidor de base de datos, Oracle también incluye
características basadas en el lenguaje que aceleran el desarrollo y mejoran el
rendimiento del lado del servidor.
· Lenguaje
PL/SQL: Un gran componente de Oracle es su máquina de
procesamiento (Lenguaje de Procedimientos). PL/SQL está diseñado
específicamente para procesos clientes/servidor en los que se activa un
programa para bloquear la lógica que contiene la aplicación así como los
enunciados que serán enviados al servidor en una sola petición.
· Procedimientos
almacenados: Oracle permite la capacidad de almacenar
bloques de PL/SQL como objetos dentro de la base de datos en forma de
procedimientos almacenados, funciones, y paquetes de la base de datos. Las
porciones lógicas de la aplicación, especialmente aquellas que requieren acceso
a la base de datos, pueden residir en donde son procesadas (en el servidor).
Usar procedimientos almacenados incrementa la eficiencia de los sistemas
cliente/servidor significativamente.
· Activadores
de la base de datos: Los activadores de la base de datos re
ensamblan los procedimientos almacenados que residen en los bloques PL/SQL de
la base de datos; la diferencia entre los dos radica en que los activadores son
disparados automáticamente por el kernel de la RDBMS en respuesta a que se
cumpla un evento del tiempo (como alguna operación update, delete o insert)
· Integridad
declarativa: Cuando se define una tabla en Oracle, se puede
incluir una restricción de integridad como parte de la definición de la tabla.
Las restricciones son forzadas por el servidor cuando se insertan, actualizan o
borran registros. En adición a las restricciones integrales referenciales que
fuerzan las relaciones entre las llaves primarias y foráneas, también se pueden
definir las propias restricciones del usuario para controlar los valores del
dominio de las columnas individuales de la tabla.
· Funciones
definidas por el usuario: También se encontrarán bloques PL/SQL de
funciones definidas por el usuario. Estas son similares a los procedimientos
almacenados y también reducen el monto de codificación de la porción del
cliente en la aplicación. Estas funciones no solo se pueden llamar desde
PL/SQL, sino que también se pueden extender al set estándar de las funciones
Oracle SQL. Se pueden colocar funciones definidas por el usuario dentro de
sentencias SQL justo como cualquier otra función de Oracle SQL.