Você está na página 1de 28

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
Fabián Fuentes
Cristian Espinoza
Cristian Monsalves

Ingeniería en Computación e Informática


Temuco 15 de Abril de 2011
Indice

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.

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.
Historia
MYSQL 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
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
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 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
• 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.
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
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

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.

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

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)

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.

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

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.

Você também pode gostar