martes, 5 de abril de 2016

5.1.1 Sistemas de manejadores de bases de datos


La mayoría de las bases de datos reposan en un sistema de administración de bases de datos para administrar los datos almacenados dentro del sistema de base de datos y hacer los datos disponibles para los usuarios quienes necesitan acceder a tipos específicos de información. Un DBMS (Sistemas de administración de bases de datos) está hecho de un completo arreglo de herramientas cliente-servidor que ayudan con varias tareas administrativas relacionadas con los datos. La mayoría de los DBMS proveen de algún tipo de herramienta que permite al cliente interactuar directamente con los datos almacenados en la base de datos. Un DBMS debe almacenar datos y permitir que estos sean recuperados y modificados de manera que se protejan los datos contra operaciones que pudieran causar inconsistencias en la base o corromper los datos.  En general la mayoría de los DBMS completos proveen los siguientes tipos de funcionalidad:


·       Administración de almacenamiento
·         Mantenimiento de la seguridad
·         Mantenimiento de los metadatos
·         Administración de las transacciones
·         Apoyo en la conectividad
·         Optimización del rendimiento
·         Proveer mecanismos de respaldo y recuperación
·         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.

No hay comentarios.:

Publicar un comentario