Escolar Documentos
Profissional Documentos
Cultura Documentos
Temuco.
Departamento de Informática
Integrantes:
Daniel Muñoz
Fabián Fuentes
Cristian Espinoza
Cristian Monsalves
1. Indice
2. Introducción
3. MySQL
3.1 Historia
3.2 Lenguajes
3.3 Aplicaciones
3.4 Versiones
3.5 Plataformas
3.6 Características de la Versión 5.0.22
3.7 Características Adicionales
3.8 Características de la Versión 4.0
3.9 Mejoras futuras
3.10 Tipos de compilaciones del Servidor
3.11 Código Fuente
3.12 Industria
3.13 Licencia
4. Oracle
5. Postgres
5.1 Principales Características
5.2 Requerimientos de Hardware
5.3 Principales Funcionalidades
5.4 Comunidades de desarrollo existentes que contribuyen
con PostgreSQL
5.5 Ventajas de PostgreSQL respecto a otros sistemas de B.D.
5.6 Posibles inconvenientes o desventajas
5.7 Breve comparación de PostgreSQL con MySQL
5.8 Reconocimientos recibidos por PostgreSQL
6. Informix
6.1 Historia
6.2 Caracteristicas Generales
6.3 Ventajas
6.4 Desventajas
6.5 Diferencias con Oracle
6.6 Informix C-Isam
6.7 Informix Dinamic Server
Introducción
Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado
DBMS (Data Base Management System) como una colección de datos
relacionados entre sí, estructurados y organizados, y un conjunto de
programas que acceden y gestionan esos datos.
La colección de esos datos se denomina Base de Datos o BD, (DB Data
Base).
Antes de aparecer los SGBD (década de los setenta), la información se
trataba y se gestionaba utilizando los típicos sistemas de gestión de archivos
que iban soportados sobre un sistema operativo.
Éstos consistían en un conjunto de programas que definían y trabajaban sus
propios datos.
Los datos se almacenan en archivos y los programas manejan esos archivos
para obtener la información. Si la estructura de los datos de los archivos
cambia, todos los programas que los manejan se deben modificar; por
ejemplo, un programa trabaja con un archivo de datos de alumnos, con una
estructura o registro ya definido; si se incorporan elementos o campos a la
estructura del archivo, los programas que utilizan ese archivo se tienen que
modificar para tratar esos nuevos elementos.
En estos sistemas de gestión de archivos, la definición de los datos se
encuentra codificada dentro de los programas de aplicación en lugar de
almacenarse de forma independiente, y además el control del acceso y la
manipulación de los datos vienen impuesto por los programas de aplicación.
Esto supone un gran inconveniente a la hora de tratar grandes volúmenes de
información.
Surge así la idea de separar los datos contenidos en los archivos de los
programas que los manipulan, es decir, que se pueda modificar la estructura
de los datos de los archivos sin que por ello se tengan que modificar los
programas con los que trabajan.
Se trata de estructurar y organizar los datos de forma que se pueda acceder a
ellos con independencia de los programas que los gestionan.
MySQL
MYSQL es un sistema de gestión de base de datos relacional, multihilo
y multiusuario con más de seis millones de instalaciones. MSQL AB desde
Enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle
Corporation desde Abril de 2009, desarrolla MYSQL como software libre en
un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible
con esta licencia, pero para aquellas empresas que quieran incorporarlo en
productos privativos deben comprar a la empresa una licencia específica que
les permita este uso. Está desarrollado en su mayor parte en ANSI C.
Lenguajes
Aplicaciones
MYSQL es muy utilizado en aplicaciones web, como Drupal o Phpbb, en
plataformas (Linux/Windows-apache-mysql-php/perl/python), y por
herramientas de seguimientos de errores como Bugzilla. Su popularidad
como aplicación web esta muy ligada a PHP , que a menudo aparece en
combinación con MYSQL, MYSQL es una base de datos muy rápida en la
lectura cuando utiliza el motor no transaccional MYLSAM, pero puede
provocar problemas de integridad en entornos de alta concurrencia en la
modificación. En aplicaciones web hay baja concurrencia en la modificación
de datos y en cambio el entorno es intensivo en lecturas de datos, lo que hace
a MYSQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el
que va a utilizar MYSQL es importante adelantar monitoreos sobre el
desempeño para detectar y corregir errores tanto de SQL como de
programación.
Versiones de MySQL
Plataformas
MSQL funciona sobre múltiples plataformas, incluye:
BSD
FREEBSD
HP-UX
GNU/LINUX
MAC OS X
NETBSD
NOVELL NETWARE
OPENBSD
OS/2 WARP
AIX
GNX
SGI IRIX
SOLARIS
SUNOS
SCO OPENSERVER
SECO UNIX WARE
TRU64
EBD
WINDOWS 95, WINDOWS 98, WINDOWS NT, WINDOWA 2000,
WINDOWS XP, WINDOWS VISTA, WINDOWS 7, WINDOWS
SERVER (2000, 2003 Y 2008):
OPENVMS
Características Adicionales
Poco a poco los elementos de los que carecía MYSQL están siendo
incorporados tanto por desarrollos internos, como por desarrolladores de
software libre. Entre las características disponibles en las últimas versiones se
puede destacar:
Mejoras Futuras
El mapa de ruta de MYSQL 5.1 indica soporte para:
• Particionado de la base de datos.
• Replicación segura
• Planificación de eventos.
• Funciones XML
• Max (no se trata de MAXDB, que es una cooperación con SAP), los
binarios incluyen características adicionales que no han sido lo
bastante probadas o que normalmente no son necesarias.
Código Fuente
MYSQL esta escrito en una mezcla de c y c++ hay un documento que
describe su estructura interna en http://dev.mysql.com/doc/internals/en
Industria
La industria radica en la venta de productos software y de algunos
servicios relacionados a numerosas empresas que utilizan estos productos.
Oracle
• soporte de transacciones,
• estabilidad,
• escalabilidad
• Soporte multiplataforma.
• Oracle, para poder ver la luz por una red WAN o RAS, bien sea
Internet, o una red privada virtual, requiere de una herramienta
denominada IAS. Esta herramienta es configurada en un servidor y
sirve de enlace entre el software q ataca la b.d y los usuarios, a través
de un router, configurando los caminos, y las puertas de enlace.
Actualmente para realizar una instalación de Oracle que nos permita acceder
a B.D Cliente/Servidor, necesitaremos bastante memoria Ram, unos 256 mb
dedicados, junto a unos 10gb de Disco, así como tener instalado en nuestro
sistema (Windows), la máquina virtual de java, y ser administradores de la
misma. Requiere de mucha memoria Ram, debido al interfase gráfico
desarrollado en Java.
PostgreSQL
PostgreSQL: En los últimos años, el software de bases de datos ha
experimentado un auge extraordinario, a raíz de la progresiva informatización
de casi la totalidad de las empresas de hoy día. No es extraño pues, que
existan multitud de gestores de bases de datos, programas que permiten
manejar la información de modo sencillo. De este modo tenemos Oracle,
Microsoft SQL Server, Borland Interbase entre otras.
Las soluciones software que hemos citado son comerciales. Como siempre,
en el mundo del software libre, siempre que se necesita algo, tarde o
temprano se implementa. Así tenemos MySQL, gestor muy usado en la web
(combinado con PHP y Apache) o PostgreSQL, que será el gestor que
trataremos.
Como hemos comentado, PostgreSQL es software libre. Concretamente está
liberado bajo la licencia BSD, lo que significa que cualquiera puede disponer
de su código fuente, modificarlo a voluntad y redistribuirlo libremente,
PostgreSQL además de ser libre es gratuito y se puede descargar libremente
de su página web http://www.postgresql.org para multitud de plataformas.
PostgreSQL
Desarrollador: PostgreSQL Global Development Group.
Última versión: PostgreSQL 8.3 (4 de febrero de 2008)
Sistema Operativo: Multiplataforma.
Licencia: BSD.
Lenguaje: Inglés.
Sitio web: www.postgresql.org
Principales Características
* Alta concurrencia: mediante un sistema denominado MVCC (Acceso
concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que
mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin
necesidad de bloqueos.
* Integridad de los datos: claves primarias, llaves foráneas con capacidad de
actualizar en cascada o restringir la acción y restricción not null.
* Resistencia a fallas. Escritura adelantada de registros (WAL) para evitar
pérdidas de datos en caso de fallos por: Energía, Sistema Operativo,
Hardware.
* Multi Linux, Unix, BSD's, Mac OS X, Solaris, AIX, Irix, HP-UX,
Windows.
* PITR. Puntos de recuperación en el tiempo.
* Tablespaces. (Ubicaciones alternativas para los datos)
* Replicación sincrónica y asincrónica.
* Cumple con factores que determinan la calidad del software. (ISO 9126-1)
* Características operativas: Corrección, Fiabilidad, Eficiencia, Integridad,
Facilidad de uso.
* Capacidad para soportar cambios: Facilidad de mantenimiento,
Flexibilidad, Facilidad de prueba.
Requerimientos de Hardware
Realmente PostgreSQL no tiene requerimientos específicos de hardware. Se
considera suficiente con satisfacer los requerimientos recomendados para
instalar el sistema operativo que se vaya a utilizar. Como mismo se pude
realizar todo el desarrollo con un servidor Pentium IV de 1.7 MHz y 1 GB de
RAM con Red Hat Linux 8.0, para una mínima cantidad de usuarios, también
podemos emplear recursos de hardware distribuidos para una BD
considerablemente grande. Naturalmente, si se desea que el sistema ofrezca
servicio a un número relativamente grande de usuarios concurrentes habrá
que tener este factor en cuenta a la hora de elegir el hardware más apropiado
de acuerdo a nuestras necesidades.
Informix
HISTORIA
En los años 80’ la pequeña empresa Relational Database Systems (RDS)
lanza su primer SGBD bautizado como Informix cuyo nombre viene de
“Información en Unix” el cual poseía su propio lenguaje de consulta y
herramientas para formularios (Informer y Perform). De la mano de Unix y
SQL RDS fue creciendo y en 1986 cambia su nombre a Informix Software
ganando mucha popularidad con sus productos como Informix-SQL,
Informix-OnLine (este permitía la realización de copias de respaldo
coherentes de la base de datos mientras el servidor estaba en línea y los
usuarios modificaban los datos). En 1988 compra Innovative Software y en
1995 Illustra lo cual reflejaba el éxito que estaba teniendo Informix en el
mercado. Pero en 1997 gracias a las malas gestiones de la compañía el éxito
fue decayendo, esto dio pie para que IBM comprara a Informix la tecnología
de bases de datos, la marca, los planes para futuros desarrollos (un proyecto
interno llamado Arrowhead) y la base de aproximadamente 100.000 clientes
asociados con estos. A pesar de su caída Informix es uno de los más
importantes líderes en tecnología de base de datos, cuyo objetivo es proveer a
las más grandes corporaciones alrededor del mundo con herramientas de
vanguardia y alto desempeño que les permitan obtener la mayor eficiencia y
productividad en el manejo de información corporativa que les confieran
importantes ventajas competitivas.
Actualmente, las soluciones de bases de datos de Informix, que se encuentran
soportadas por los más importantes proveedores de hardware, desarrolladores
de software e integradores de soluciones, incluyen sistemas de alto
desempeño para ambientes corporativos muy diversos, desde pequeños
grupos de trabajos hasta las más complejas aplicaciones de procesamiento
paralelo, entre ellas destacan:
- Aplicaciones DatawareHouse.
- Manejo Dinámico de Contenidos Web.
- Servidores de Bases de Datos.
- Herramientas para el Desarrollo de las Aplicaciones en Áreas de
Procesamiento de transacciones en Línea.
- Sistemas Empresariales de Computación Distribuida.
CARACTERISTICAS GENERALES
- Dispone de herramientas graficas
- Gestiona múltiples bases de datos remotas de una única consola donde se
muestran gráficamente tanto la base de datos, como los objetos que contiene
(tablas, índices, procedimientos).
- Utiliza plataforma NT y UNIX
- Capacidad de relación de datos de múltiples lugares físicos
- Opción de conectar datos relacionales de páginas web
- Ocupa menos memoria y recursos que Oracle
- Se integra con Linux y oracle
- Ofrece herramientas para crear menús, formularios de entrada de datos y
generadores de listados
- Tiene arquitectura para servidor OLTP (On Line Transaction Prosessing)
para UNIX. Esta tecnología se puede ver en INFORMIX Dynamic Server.
- Cumple con los niveles de seguridad.
VENTAJAS
- Hace la conversión de tipos automáticamente, es decir no es necesario
especificar alguna instrucción que diga que conversión de tipo se necesita.
- Los valores nulos se identifican con la palabra NULL y es el estado inicial
de cualquier variable que se maneje.
- Si no se colocan algunos valores, añade nulo automáticamente.
- Reduce los costos de la administración
- Atiende las necesidades de las exigentes prácticas actuales del e-business
particularmente para aplicativos que requieran transacciones de alto
desempeño.
- Soporta requisitos de procesamiento de transacción online, complejos y
rigurosos.
- Optimiza capacidades de inteligencia del negocio competitivas.
DESVENTAJAS
- No tiene soporte para BLOBs (Objetos grandes binarios).
- Imágenes
- Audio
- Video
- No tiene soporte para el tipo de datos VARCHAR.
Son datos con una longitud fija de máximo 2000 caracteres.
- No es recomendable utilizarlo con aplicaciones que exigen un gran
rendimiento desde el punto de vista de la rapidez, ya que si bien no es lento,
no posee la velocidad de sus competidores.
- ES single-Threaded, no aprovecha procesadores múltiples. (Se ocupa de una
sola petición al mismo tiempo).
LENGUAJE
La sintaxis que utiliza es muy similar a la de SQL de Oracle 8, pero presenta
algunas pequeñas variaciones, además de funciones que no están presentes en
SQL.
Como ejemplo, Informix no utiliza left o right en los Joins, solo outer.
Otra de las diferencias que se encuentra es la orden return, que en el caso de
SQL solo acepta un valor y debe ser de tipo INT ,en SQL Se utiliza
generalmente para el retorno de errores, mientras que en Informix se puede
utilizar para devolver datos de tipo: char, int etc.
DIFERENCIAS CON ORACLE
Oracle siempre ha sido considerada una base de datos para uso más general
que Informix. Informix por su lado, se especializó más en aplicaciones tipo
GIS (datos geográficos), Datawarehouse y Datamining.
Ambas tienen parecidas características y funcionalidades. Cada una tiene las
típicas ampliaciones que permiten especializar la base de datos a un cierto
tipo de aplicación (en Informix se llaman DataBlades. Para competir, en cada
nueva versión que sacaban, las dos iban añadiendo de serie muchas de las
extensiones que en la versión anterior eran opcionales (de pago por
separado).
En Oracle, tienes que definir los usuarios dentro la base de datos (gestión
interna de usuarios). En cambio, Informix utiliza los mismos usuarios de
Linux (los que creas con adduser), simplificando la administración. Para
conectar externamente vía TCP/IP a Oracle, hacía falta colgar un daemon
llamado listener de un puerto. Luego el listener traducía las llamadas al
SQLNet para hablar con la base de datos. Luego había dos procesos: el
daemon de la base de datos (oracle), y el daemon que escuchaba el puerto
(listener). En Informix, el mismo daemon de la base de datos (ONINIT)
atiende los puertos. De esta manera Informix ocupa menos memoria y
recursos. Con estas diferencias ya podemos ver, que Informix es una base de
datos más moderna e integrada con Linux que Oracle.
INFORMIX C-ISAM
Es una biblioteca de funciones C que administra con los archivos de método
de acceso secuencial indexado (ISAM). Evita la sobrecarga de los sistemas
de gestión de bases de datos relacionales (RDBMS) y ofrece un acceso a los
registros de base de datos.
Características:
- Recuperación rápida de datos.
- Opciones flexibles de indexación.
- Creación de diversos índices.
- Actualización automática de índices.
- Integridad de datos.
- Funciones de registro y recuperación de datos.
- Opciones de bloqueo de la integridad de datos entre diversos usuarios
Características
- Compatibilidad con múltiples plataformas y normas estándar abiertas, como
por ejemplo, los servicios Web, Linux, el procesamiento autónomo y el
comercio electrónico a la carta.
- Servicio orientado a la arquitectura (SOA).
- Funciones incorporadas para publicar XML.
- Incorporación de la herramienta OpenAdmind para identificaciones para las
administraciones remotas.