trabajo bases de datos

39
Instituto Profesional La Araucana Temuco. Departamento de Informática Principales Bases de Datos que usa el mercado. Taller de Bases de Datos Integrantes: Daniel Muñoz

Upload: cristian-monsalves

Post on 04-Jul-2015

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Trabajo Bases de Datos

Instituto Profesional La AraucanaTemuco.Departamento de Informática

Principales Bases de Datos que usa el mercado.

Taller de Bases de Datos

Integrantes:Daniel Muñoz

Fabián FuentesCristian Espinoza

Cristian Monsalves

Ingeniería en Computación e InformáticaTemuco 15 de Abril de 2011

Page 2: Trabajo Bases de Datos

Indice

1. Indice2. Introducción3. MySQL

3.1 Historia3.2 Lenguajes3.3 Aplicaciones3.4 Versiones3.5 Plataformas3.6 Características de la Versión 5.0.223.7 Características Adicionales3.8 Características de la Versión 4.03.9 Mejoras futuras3.10 Tipos de compilaciones del Servidor3.11 Código Fuente3.12 Industria3.13 Licencia

4. Oracle5. Postgres

5.1 Principales Características5.2 Requerimientos de Hardware5.3 Principales Funcionalidades5.4 Comunidades de desarrollo existentes que contribuyen con PostgreSQL5.5 Ventajas de PostgreSQL respecto a otros sistemas de B.D.5.6 Posibles inconvenientes o desventajas5.7 Breve comparación de PostgreSQL con MySQL5.8 Reconocimientos recibidos por PostgreSQL

6. Informix6.1 Historia6.2 Caracteristicas Generales6.3 Ventajas6.4 Desventajas6.5 Diferencias con Oracle6.6 Informix C-Isam6.7 Informix Dinamic Server

Page 3: Trabajo Bases de Datos

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.

Page 4: Trabajo Bases de Datos

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.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el Copyright del código está en poder del autor individual, MYSQL es patrocinado por una empresa privada, que posee el Copyright de la mayor parte del Código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MYSQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

Page 5: Trabajo Bases de Datos

HistoriaMYSQL es una idea originaria de la empresa Opensource MYSQL AB

establecida inicialmente en Suecia en 1995. El objetivo que persigue esta empresa consiste en que MYSQL cumpla el estándar SQL, pero sin “sacrificar velocidad, fiabilidad o usabilidad”.

SQL (lenguaje de consulta estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un estándar para las bases de datos relacionales. Desde 1986 el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL 92, SQL 99, SQL 2003.

Michael Widenius en la década de los 90 trató de usar MSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, MSQL no era rápido ni flexible para sus necesidades. Esto lo llevo a crear una API SQL denominada MYSQL para bases de datos muy similar a la de MSQL pero más portable.

El nombre de MYSQL procede de la combinación de MY, hija del cofundador Michael Widenius, con el acrónimo SQL. Por otra parte, el directorio base y muchas bibliotecas usadas por los desarrolladores tenían el prefijo MY.

Lenguajes

Existen varias APLS que permiten, a aplicaciones en diversos lenguajes de programación, acceder a las bases de datos MYSQL, incluyendo C, C++, C#, Pascal, Delphi, Java, Lisp, Php, Real Basic (mac y Linux), Tcl, cada uno

Page 6: Trabajo Bases de Datos

utiliza una API especifica. También existe una interfaz ODBC, llamado MYODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos MYSQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.

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

Page 7: Trabajo Bases de Datos

Plataformas

MSQL funciona sobre múltiples plataformas, incluye:

Page 8: Trabajo Bases de Datos

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

Page 9: Trabajo Bases de Datos

Características de la versión 5.0.22

Un amplio subconjunto de ANSI SQL 99, y varias extensiones.

Soporte a multiplataforma. Procedimientos de almacenados

Disipadores (triggers)

Vistas actualizables.

Soporte x/open xa de transacciones distribuidas; transacciones en dos fases como parte de esto, utilizando el motor INNODB.

Soporte para SSL

Query CACHING

Soporte completo para UNICODE.

Conforme a las reglas ACID usando los motores INNODB, BDB y Clúster.

Características Adicionales

Usa GNU Automake, Autoconf, y Libtool para portabilidad Uso de multihilos mediante hilos del kernel. Usa tablas en disco b-tree para búsquedas rápidas con compresión de

índice Tablas hash en memoria temporales El código MySQL se prueba con Purify (un detector de memoria

perdida comercial) así como con Valgrind, una herramienta GPL

Page 10: Trabajo Bases de Datos

Completo soporte para operadores y funciones en cláusulas select y where.

Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación

Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor.

Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.

Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).

Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix.

En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida.

MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL.

Page 11: Trabajo Bases de Datos

Características Versión 4.0

Inicialmente, MYSQL de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.

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:

Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.

Disponibilidad en gran cantidad de plataformas y sistemas.

Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles.

Transacciones y claves foráneas.

Conectividad segura

Replicación.

Búsqueda e indexación de campos de textos.

MSQL es un sistema de administración de base de datos. Una base de datos es una colección estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MYSQL SERVER. Dado que los computadores son muy buenos manejando grandes cantidades de información, los administradores de bases de datos juegan un papel central en computación, como aplicaciones independientes o como parte de otras aplicaciones.

MYSQL es un sistema de administración relacional de base de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedidos. MYSQL es software de fuente

Page 12: Trabajo Bases de Datos

abierta significa que es posible para cualquier persona puede bajar el código fuente MYSQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades.

Mejoras Futuras

El mapa de ruta de MYSQL 5.1 indica soporte para: Particionado de la base de datos.

Backup en línea para todos los motores de almacenamiento.

Replicación segura

Restricciones a nivel de columna.

Planificación de eventos.

Funciones XML

Tipos de Compilaciones del Servidor

Hay tres tipos de compilación del servidor MYSQL. Estándar: los binarios estándares de MYSQL son los recomendados

para la mayoría de los usuarios, e incluyen el motor de almacenamiento INNODB.

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.

MYSQL DEBUG: Son binarios que han sido compilados información de depuración extra. No debe ser usada en sistemas en producción porque el código de depuración puede reducir el rendimiento.

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

Page 13: Trabajo Bases de Datos

Industria

La industria radica en la venta de productos software y de algunos servicios relacionados a numerosas empresas que utilizan estos productos.

MySQL AB clasifica los productos así:

MySQL Enterprise: incluye MySQL Enterprise Server , Monitoreo de la red MySQL, servicios de consulta y soporte de producción MySQL.

MySQL Cluster MySQL Embedded Database. MySQL Drivers: para JDBC, ODBC y .Net MySQL Tools: MySQL Administrator, MySQL Query Browser, and

the MySQL Migration Toolkit. MaxDB: MaxDB es una base de datos de código abierto certificada

para SAP/R3.

Los ingresos de esta empresa por la venta de licencias privativas de sus productos y los servicios suma los U$12 millones.

Licencia

La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.

Page 14: Trabajo Bases de Datos

Oracle

Es un sistema de gestión de base de datos objeto-relacional, desarrollado por Oracle Corporation.

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando:

soporte de transacciones, estabilidad, escalabilidad Soporte multiplataforma.

Su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros SGBD con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux.

La plataforma: Oracle es un sistema gestor de datos relacional de última generación, lo cual quiere decir que está orientado al acceso remoto y redes (Internet). Hoy por hoy Oracle se puede implementar en diferentes plataformas: Familia de Microsoft, Unix, Linux, Vms, etc. Las arquitecturas en las que se asienta pueden ser: Intel, Alpha, Sparc, Risc., a nivel de procesadores. Oracle es perfectamente configurable en entornos "OLTP" (Procesamiento de Transacciones En Línea), paralelos, Cluster, e incluso resulta una genial solución a nivel de Datawarehouse y CRM (Customer relationship management). La plataforma para la que en realidad está desarrollada oracle, y pensada desde un principio es Unix (sea cual sea el fabricante), ya que es un sistema q soporta la mayoría de la carga de los sistemas a nivel mundial, así como es un sistema abierto y configurable. Para la gestión, sea del negocio que sea, Oracle y Unix se complementan de una manera casi inalcanzable para otros sistemas, ya que para su administración, oracle se amolda y apoya en la potencia de unix, a la vez que aprovecha al 100% su versatilidad y configurabilidad. Con respecto a Windows, debemos decir que Oracle ha sido capaz de adaptarse de tal manera que hace firme competencia a la base de datos propia de microsoft "Sql Server". Son muchas las ventajas y pocas las desventajas q presenta oracle frente a sql-server. La instalación de oracle, administración, configuración e inclusive la implementación de herramientas visuales, en un entorno Windows, se ha

Page 15: Trabajo Bases de Datos

conseguido simplificar al máximo para conseguir dar un servicio óptimo a los usuarios de los sistemas Windows.

La B.D: Oracle se ha posicionado firmemente en el mercado de su sector. Puesto que ofrecen una solución integral para resolver cualquier cuestión empresarial, oracle se a convertido en el sofware "a batir". Las últimas versiones de la B.D 8.i, 9i se han convertido en la gran aventura de oracle hacia Internet, ofreciendo un interfase de última tecnología basado en Java y Xml, así como un servidor adjunto de aplicaciones para Internet, email, seguridad de datos.Se a mejorado el kernel de la B.D implementado constantemente soluciones para la seguridad y rechazo a usuarios "no deseados" en el sistema, así como una estabilidad y escalabilidad a prueba de bombas: "Cluster". Developer: Oracle, con developer lo que busca es la solución informática respecto del interfase gráfico de acceso a datos.

Forms: Es un módulo de programación destinado a la construcción del interfase gráfico y del cuerpo del programa de acceso a datos.

Graphics: Es otro módulo de programación destinado a la fabricación de gráficos de estadísticas con respecto a la información contenida o no en una B.D Oracle.

Procedure Builder: Herramienta destinada a la construcción, depuración y compilación de procedimientos y demás objetos de B.D.

Proyect Builder: Herramienta destinada a la planificación de trabajos con respecto al desarrollo en un entorno de programación orientado a B.D.

Existen más módulos dentro del paquete developer, pero estos son los más destacados, o los más usados por la comunidad de profesionales de Oracle. Oracle Developer 6i ofrece ventajas con respecto a sus competidores como puede ser: Un standard de programación plenamente adaptado a las normas de Sql Oracle; un entorno de programación mejorado para facilitar el desarrollo y la posibilidad de desarrollar junto al servidor IAS (Internet Aplication Server) una solución para Internet; todo ello, siguiendo un standard, y una normalización de la seguridad de acceso a datos. Comunicaciones:

Oracle, se puede implementar en cliente/servidor con muchas arquitecturas de red, pero las más usadas con TCP e IPX/SPX. La razón de TPC es clara: es el standard de red usado a nivel internacional en Internet. En el caso de IPX resulta de la compatibilidad de Oracle para su funcionamiento con Novel/Netware.

Oracle, posee su propio lenguaje de red, que se asienta de igual manera sobre casi cualquier protocolo; este es Net8 (antiguo Sql-Net). Este

Page 16: Trabajo Bases de Datos

protocolo permite la configuración, e implementación sobre otros protocolos debido a su versatilidad, es decir, se adapta a los tamaños de tramas de red, y resulta una buena solución de envío y recepción de datos en cualquier red a nivel LAN o incluso WAN.

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.

Page 17: Trabajo Bases de Datos

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.

PostgreSQLDesarrollador: 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.

Page 18: Trabajo Bases de Datos

* 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.

Page 19: Trabajo Bases de Datos

Principales funcionalidades: Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cada uno de ellos ofrece, desde las operaciones básicas de programación, tales como bifurcaciones y bucles, hasta las complejidades de la programación orientada a objetos o la programación funcional. Los disparadores (triggers en inglés) son funciones enlazadas a operaciones sobre los datos. Algunos de los lenguajes que se pueden usar son los siguientes: Un lenguaje propio llamado [PL/PgSQL (similar al PL/SQL de Oracle).

C

C++

Gambas

Java

Perl

PHP

Python

Ruby

PostgreSQL soporta funciones que retornan "filas", donde la salida puede tratarse como un conjunto de valores que pueden ser tratados igual a una fila retornada por una consulta (query en inglés). Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con los derechos de un usuario previamente definido. El concepto de funciones, en otros DBMS, son muchas veces referidas como "procedimientos almacenados" (stored procedures en inglés).

Comunidades de desarrollo existentes que contribuyen con PostgresSQL

PostgreSQL Global Development Group.

Centro de informações para os usuários brasileiros. (Brasil)

Informace o PostgreSQL v češtině. (República Checa)

Simplified Chinese PostgreSQL Community (China)

Traditional Chinese PostgreSQL Community (China)

Page 20: Trabajo Bases de Datos

Die Deutsche PostgreSQL Seite (Alemania)

Comunidad en Español de PostgreSQL (Argentina)

Comunidad en Español de PostgreSQL (Perú)

La communaute Française de PostgreSQL (Francia)

The Greek PostgreSQL Community (Grecia)

Associazione Italian PostgreSQL Users Group (Italia)

Comunità italiana di PostgreSQL (Italia)

The Japanese PostgreSQL Community (Japón)

The Korean PostgreSQL Community (Corea)

Informacje o PostgreSQL po polsku (Polonia)

PostgreSQL Türkiye Web Sayfası (Turquía)

Ventajas de PostgreSQL respecto a otros sistemas de B.D.:

Instalación ilimitada: Es frecuente que las bases de datos comerciales sean instaladas en más servidores de lo que permite la licencia. Algunos proveedores comerciales consideran a esto la principal fuente de incumplimiento de licencia. Con PostgreSQL, nadie puede demandarlo por violar acuerdos de licencia, puesto que no hay costo asociado a la licencia del software. Esto tiene varias ventajas adicionales: Modelos de negocios más rentables con instalaciones a gran escala. No existe la posibilidad de ser auditado para verificar cumplimiento de licencia en ningún momento. Flexibilidad para hacer investigación y desarrollo sin necesidad de incurrir en costos adicionales de licenciamiento.

Page 21: Trabajo Bases de Datos

Mejor soporte que los proveedores comerciales: Además de nuestras ofertas de soporte, tenemos una importante comunidad de profesionales y entusiastas de PostgreSQL de los que su compañía puede obtener beneficios y contribuir.

Ahorros considerables en costos de operación: Nuestro software ha sido diseñado y creado para tener un mantenimiento y ajuste mucho menor que los productos de los proveedores comerciales, conservando todas las características, estabilidad y rendimiento. Además de esto, nuestros programas de entrenamiento son reconocidamente mucho más costo-efectivos, manejables y prácticos en el mundo real que aquellos de los principales proveedores comerciales. Estabilidad y confiabilidad legendarias: En contraste a muchos sistemas de bases de datos comerciales, es extremadamente común que compañías reporten que PostgreSQL nunca ha presentado caídas en varios años de operación de alta actividad. Ni una sola vez. Simplemente funciona. Extensible: El código fuente está disponible para todos sin costo. Si su equipo necesita extender o personalizar PostgreSQL de alguna manera, pueden hacerlo con un mínimo esfuerzo, sin costos adicionales. Esto es complementado por la comunidad de profesionales y entusiastas de PostgreSQL alrededor del mundo que también extienden PostgreSQL todos los días. Multiplataforma: PostgreSQL está disponible en casi cualquier Unix (34 plataformas en la última versión estable), y una versión nativa de Windows está actualmente en estado beta de pruebas. Diseñado para ambientes de alto volumen: PostgreSQL usa una estrategia de almacenamiento de filas llamada MVCC para conseguir una respuesta más eficiente en ambientes de grandes volúmenes. Los principales proveedores de sistemas de bases de datos comerciales usan también esta tecnología, por las mismas razones.

Posibles inconvenientes o desventajas:

1. Consume gran cantidad de recursos.

2. Tiene un límite de 8K por fila, aunque se puede aumentar a 32K, con una disminución considerable del rendimiento.

3. Es de 2 a 3 veces más lento que MySQL.

4. Menos funciones en PHP.

Breve comparación de PostgreSQL con MySQL: Como conclusión a la comparación entre MySQL y PostgresSQL, podemos decir que MySQL junto con Apache y PHP forman un buen equipo para servir páginas web con contenido dinámico, discusiones, noticias, etc. En general, MySQL se

Page 22: Trabajo Bases de Datos

considera más eficiente para sistemas en los que la velocidad y el número de accesos concurrentes sea algo primordial, y la seguridad no sea muy importante. En cambio, para sistemas más serios en las que la consistencia de la base de datos sea fundamental (BD con información realmente importante, bancos, agencias gubernamentales, etc.) PostgreSQL es una mejor opción pese a su mayor lentitud. Ninguno de estos dos gestores es totalmente perfecto, por lo que no hay que obsesionarse en la elección única y fanática, como se suele hacer en muchos casos. Simplemente se trata de escoger el más conveniente en cada caso.

Reconocimientos recibidos por PostgreSQL 1999 LinuxWorld Editor's Choice Award for Best Database 2000 Linux Journal Editors' Choice Awards for Best Database 2002 Linux New Media Editors Choice Award for Best Database 2003 Linux Journal Editors' Choice Awards for Best Database 2004 Linux New Media Award For Best Database 2004 Linux Journal Editors' Choice Awards for Best Database 2004 ArsTechnica Best Server Application Award 2005 Linux Journal Editors' Choice Awards for Best Database 2006 Linux Journal Editors' Choice Awards for Best Database 2008 Developer.com Product of the Year, Database Tool

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

Page 23: Trabajo Bases de Datos

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.

Page 24: Trabajo Bases de Datos

- 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.

Page 25: Trabajo Bases de Datos

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.

Page 26: Trabajo Bases de Datos

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

Page 27: Trabajo Bases de Datos

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

Page 28: Trabajo Bases de Datos

INFORMIX DYNAMIC SERVER

Es un servidor estratégico de datos, cuya principal misión es servir al procesamiento de transacciones en redes distribuidas OLTP (online transaction processing). La última versión de IDS de IBM contiene mejoras significativas en cuanto a rendimiento, replicación, disponibilidad, capacidad de ampliación y seguridad, que permiten un procesamiento óptimo de transacciones en línea. Al mismo tiempo, IDS sigue disminuyendo la complejidad, el tiempo, los conocimientos de administración de base de datos y los costes relativos a la gestión al simplificar y automatizar muchas de las tareas de mantenimiento de una base de datos empresarial.

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.