Partes: 1, 2, 3, 4

  1. COMPARATIVA DE LAS BASES DE DATOS
    1. Comparativa General
    2. La siguiente tabla muestra una comparación general de las bases de datos.

      Tabla # 7: Comparativa general de las bases de datos

      Fuente: Internet

      Autor: Diego Burbano

      Mysql es muy popular por su velocidad de procesamiento, además el tipo de licencia que maneja es Gpl (General Public Licence).

      Oracle es una base de datos robusta, es una de las bases de datos más confiables que existen en el mercado.

    3. Sistemas Operativos soportados
    4. Tabla # 8: Sistemas Operativos Soportados

      Fuente: Internet

      Autor: Diego Burbano

      Free BSD (Berkeley Software Distribution).- Es un sistema operativo open source de la familia de sistemas operativos Unix, fue desarrollado por Research Group, UC Berkeley.

      Hp-UX ( Hewlett Packard Unix ).- es un sistema operativo de la familia Unix, desarrollado por Hewlett-Packard.

      Novell Netwate.- es un sistema operativo de red desarrollado por Novell, Inc.

      Sco Open Server.- La empresa que lo diseñó es The SCO Group, pertenece a la familia de sistemas operativos Unix, el tipo de licencia es propietaria, antes se llamaba Sco Unix desarrollado por Santa Cruz Operation (SCO) y ahora mantenido por Sco Group.

      Iris.- La empresa que lo diseño es Silicon Graphics, pertenece también a la familia Unix.

      Qnx.- la empresa que le desarrollo es QNX Software systems, el tipo de licencia es propietaria.

    5. Interfaces (Api’s) / Conectores soportados

Tabla # 9: Interfaces / Conectores Soportados

Fuente: Internet

Autor: Diego Burbano

Mysql ofrece los conectores indicados en la tabla que pueden ser usados para desarrollar aplicaciones utilizando mysql como base de datos. Cuando una aplicación es desarrollada con Php, Java, .net, perl, ODBC, Mysql dispone de un driver que se encarga de realizar este trabajo.

Java.- es una plataforma independiente, es un lenguaje orientado a objetos desarrollado por Sun Microsystems Inc. Un compilador java crea al código binario y la maquina virtual Java (JVM) convierte el código binario en lenguaje de máquina. Java al ser una plataforma independiente, los programas compilados en Java en una plataforma, pueden ser utilizados en otra plataforma sin cambio alguno.

Oracle maneja PL/SQL que es un lenguaje de programación propio de Oracle, la base de datos incluye un compilador Java y JVM con la ingeniería de la base de datos. Esto permite a los desarrolladores escribir procedimientos almacenados, triggers y funciones en el estándar de programación Java incluido en lenguaje Pl/sql. Los desarrolladores compilan los programas Java directamente en la base de datos o leer una clase java utilizando la utilidad de Oracle llamada LoadJava. Mysql no permite almacenar o ejecutar programas java en la base de datos.

4.4              Comparativa de Características de las Bases de Datos

Tabla #  10: Comparativa de Características de las bases de datos


Autor: Diego Burbano  

4.5              Aplicaciones Administrativas de Mysql

 Tabla #  11: Aplicaciones Administrativas de Mysql

 Autor: Diego Burbano

4.6              Aplicaciones Administrativas de Oracle

 Tabla #  12: Aplicaciones Administrativas de Oracle

 

Autor: Diego Burbano  

4.7              Comparativa de Tipos de Datos

Tabla #  13: Comparativa de Tipos de Datos

Autor: Diego Burbano

4.8              Almacenamiento de Datos

 4.8.1        Almacenamiento de Datos en Mysql

 Gráfico #11: Arquitectura de Almacenamiento en Mysql

Fuente: Manual de Mysql

Autor: Diego Burbano

Esta eficiente arquitectura provee beneficios para el tipo de aplicación que se necesite como data warehousing, procesamiento de transacciones, situaciones de alta disponibilidad, etc. Todo para que el motor de la base de datos funcione eficientemente. Esto va de la mano con las ventajas de utilizar un set de interfaces y servicios.

 El programador de aplicaciones y el dba pueden interactuar con la base de datos a través de los conectores Api’s y capas de servicios que se están disponibles para los tipos de almacenamiento. Es posible cambiar entre los tipos de almacenamiento sin necesidad de modificar mucho código o procesos durante el cambio.

 4.8.1.1     Ingeniería de almacenamiento Mysql ( Pluggable Storange Engine)

 Es el componente de Mysql que es el responsable de administrar las operaciones de entrada/salida de la base de datos, así como de habilitar y reforzar ciertas características de acuerdo a la particular aplicación, esto hace más eficiente y alto al performance de la base de datos. Esta es una de las razones por las que Mysql es ahora conocido por tener alto performance comparado con las bases de datos propietarias.

 Desde una perspectiva técnica, los componentes de almacenamiento son: 

    • Concurrencia.- algunas aplicaciones requieren de estrategias de bloqueos más  rígidas que otros  ( por ejemplo, bloqueo a nivel de fila ). Seleccionar la correcta estrategia de bloqueo puede reducir en gran medida la saturación del sistema y ayuda en mucho al performance de la base de datos. Esta área incluye soporte para características como control de concurrencia multiversión o "snapshot" read. 
    • Soporte de transacciones.- no todas las aplicaciones necesitan transaccionalidad, pero para las que lo usan, está muy bien definido la característica como ACID compliance. 
    • Integridad referencial.- la necesidad de tener en un servidor de base de datos relacional integridad referencial a través de claves foráneas y DDL.
    • Almacenamiento Físico.- esto abarca todo lo que tiene que ver con el tamaño de página para tablas e índices, así como el formato usado para guardar los datos físicamente en disco.  
    • Soporte de indexamiento.- los diferentes escenarios n las aplicaciones, se benefician de las diferentes estrategias de índices, y cada uno de los tipos de almacenamiento tiene generalmente sus propios métodos de indexamiento ( b-tree por ejemplo). 
    • Caché de Memoria.- las diferentes aplicaciones responde mejor de acuerdo a la estrategia de almacenamiento en caché que utilizan.

4.8.1.2     Comparación de los diferentes tipos de almacenamiento en Mysql

Tabla #  14: Comparativa de almacenamiento de Datos en Mysql

Fuente: Mysql

Autor: Diego Burbano

Mysql ofrece varios tipos de almacenamiento propios de Mysql que han sido diseñados de acuerdo a las necesidades de las aplicaciones, esto permite a los profesionales de bases de datos, seleccionar un tipo de almacenamiento especializado a las necesidades de una aplicación particular. Una ellas es Innodb, la cual permite el manejo de transacciones, MyIsam es otra que contiene características y capacidades que soportan alto tráfico en ambientes web. Al ser una herramienta Open Source, lo clientes pueden crear su propia ingeniería de almacenamiento que se ajuste a sus requerimientos.

Como se puede ver en la figura, tenemos varios tipos de almacenamiento que pueden ser usados con el servidor de base de datos:

    • MyIsam, es el default de los tipos de almacenamiento, usa indexamiento B-tree, es uno de los más usados en aplicaciones web, data warehousing y otros tipos de aplicación. Nótese que el tipo de almacenamiento puede ser fácilmente cambiado alterando la configuración de la variable STORAGE_ENGINE.
    • InnoDb, usado para aplicaciones transaccionales, soporta algunas características incluida ACID, boqueo a nivel de fila, los usuarios que escriben información no bloquean a otros usuarios que leen información y viceversa, soporta claves foráneas.
    • BDB, es otra alternativa de manejo transaccional como innodb que soporta Commit, Rollback y otras características transaccionales.
    • Memory, almacena todos los datos en RAM para proporcionar un acceso rápido en ambientes que requieren una vista rápida de la información.
    • Merge, permite al DBA o al desarrollador, realizar un grupo lógico de series de tablas MyIsam idénticas y referenciadas estas como un único objeto. Bueno para ambientes VLDB como data warehousing.
    • Archive, provee una solución perfecta de almacenamiento y recuperación de grandes tablas históricas, archivos o información de auditoria.
    • Federated, ofrece la habilidad de realizar una especie de link entre los datos de servidores Mysql creando una base de datos lógica de varios servidores ubicados físicamente en distintos lugares. Muy bueno para ambientes distribuidos con un manejo inteligente de los datos.
    • Cluster/NDB, fue particularmente creado para ambientes con alto nivel de rendimiento que requieren un alto nivel de disponibilidad.
    • Otras, incluye otros tipos de almacenamiento, incluye csv (archivos separados por comas como tablas en la base de datos), también incluye un tipo de almacenamiento de ejemplo que pude ser usado para iniciar el proceso de creación de un tipo nuevo de almacenamiento.

 En la tabla # 14 tenemos un análisis más completo de lo que soporta cada uno de los tipos de almacenamiento, esta tabla tiene algunas de las características más importantes, pero en el manual de referencia existe más información.

Es posible utilizar varios tipos de almacenamiento en una aplicación, mysql no limita el uso de un tipo de almacenamiento en una base de datos particular. Para que la aplicación funcione siempre con el máximo rendimiento lo más importante es seleccionar adecuadamente el tipo de almacenamiento a usar.

Por ejemplo, para una aplicación de Business Inteligente (BI), la aplicación tendría los siguientes requerimientos:

    • Pesadas consultas y lectura de datos con el mínimo tiempo entre lecturas.
    • Las operaciones son solo de lectura por naturaleza, esto implica que no se necesita altos niveles de concurrencia de datos, solamente el bloqueo compartido puede ser usado entre lecturas .
    • La aplicación puede usar un host en una interfase web que requiere la capacidad de búsqueda full-text.
    • El soporte de transacciones no es necesario.
    • La integridad referencial de los datos es asumida por el código del sistema transaccional.
    • Los datos deben ser repicados a varios sitios geográficos.

Para este tipo de aplicación, la opción correcta puede ser MyIsam.

4.8.2        Almacenamiento de datos en Oracle

 Oracle utiliza Espacios de tablas (tablespaces) que consiste en uno o más archivos de datos (datafiles) en disco para cada una de las tablas creadas. Cada tablespace puede usar un diferente tamaño de bloque (Block Size) para optimizar el almacenamiento. Todas las tablas mantienen la misma estructura en la base de datos. Oracle  sopota tablas temporales para una sesión individual o global para todos los usuarios. Oracle también soporta el manejo de tablas externas que permite a los usuarios realizar consultas en archivos planos como si los datos estuvieran en la misma base de datos.

 Sistema de Archivos:

Archivos de Control

TableSpaces

Archivos de datos

Segmentos de rollback

Grupos RedoLog

4.9              Comparativa de Soporte

 4.9.1        Oracle

 El servicio de soporte Oracle incluye:

    • Asistencia técnica las 24 horas al día 7 días a la semana ( 24 x 7 )
    • Acceso a OracleMetaLink – sistema de soporte al cliente basado en el internet.
    • Habilidad para registrar requerimientos a través de OracleMetaLink.
    • Actualizaciones de software, versiones de mantenimiento.

Asistencia técnica a los problemas y preguntas de los clientes con relación a los productos oracle. Se presta a través de su CSI (código de identificación de soporte) desde el centro de soporte en Orlando, al cual se accede por llamada telefónica ó por la conexión con Oracle MetaLink. Este proceso requiere el registro por parte del cliente de las solicitudes de asistencia técnica (TAR’s) la cuales se transfieren directamente y se resuelven por analistas técnicos que tienen acceso a un amplio rango de herramientas de software de diagnóstico. Cada TAR recibe una prioridad establecida por el analista y el cliente,  en función del impacto que cause en el negocio del cliente. Todas las solicitudes son registradas, procesadas, solucionadas y sólo se cierran cuando el analista y cliente así lo acuerden.

Actualizaciones de productos (upgrades) y versiones de mantenimiento. Oracle tiene el compromiso de la continua investigación y desarrollo de mejoras a sus productos que aseguren a sus clientes cumplir con los continuos retos que enfrentan es su negocio, por medio de las actualizaciones de productos.

 4.9.2        Mysql

 Mysql Network provee soporte y servicios directos de los desarrolladores de Mysql asegurando una respuesta confiable, segura y rápida. En la página web las personas interezadas en la herramienta tienen acceso a listas de correo, foros, documentación en línea, información técnica de temas específicos.

El soporte de Mysql se divide en tres tipos para los clientes con aplicaciones de base de dato crítica:

 Mysql Network Basic.- Provee consultores independientes para pequeños negocios con servicios que mejoran la productividad. Tiene acceso a software certificado y optimizado, mantenimiento, updates, ingreso a la base de conocimiento de Mysql. Si tiene incidentes, puede realizar un máximo de dos incidencias, acceso web y tiene un tiempo máximo de respuesta de 2 días. Este tipo de soporte cuesta $595.00 por servidor por año.

 Mysql Network Silver.- provee los mismos servicios que el básico en lo que se refiere a software, pero en la parte de resolución de problemas, puede tener un numero de incidentes ilimitado, acceso web, acceso telefónico 8x5 y un limite de 4 horas en el tiempo de respuesta. El costo es 1995.00 por servidor y por año.

 Mysql Network Gold.- tiene las mismas particularidades del básico y plata, pero en la resolución de problemas tiene numero de incidentes ilimitado, acceso web, acceso telefónico 24x7, máximo tiempo de repuesta a incidencias 2 horas, además, en caso de emergencias, tiene un tiempo máximo de respuesta de 30 minutos, también dispone de resolución de problemas en forma remota. El costo es de 2995.00 por servidor por año.

 Mysql Network Platinum.- Además de las particularidades de software de las anteriores, tiene como opción el desarrollo de proyectos especiales, tiene un número de incidentes ilimitado, acceso web, acceso a llamadas telefónicas 24x7, máximo tiempo de respuesta en incidencias 30 min, en caso de emergencia tiene también 30 minutos de tiempo base. Para soporte de consultaría tiene resolución de problemas remotamente, revisión de código, revisión de performance, revisión de código para manejar las diferentes api’s que soporta Mysql y funciones definidas por el usuario. El costo es de 4995.00 por servidor por año.

4.10          Comparativa de Licenciamiento

Tabla #  15: Comparativa de Licenciamiento

Autor: Diego Burbano

4.11          Empresas que utilizan Oracle

 General Motors, General Electric, Intel Corporation, Hp, Philips, Nike, Banco de crédito del Perú, Alcatel, British Gas, Andinatel Ecuador, Mercado Libre, Mastercard Internacional, Boing, Sri Ecuador, Concep, Superintendencia de Bancos del Ecuador, Toyota Casa Baca, Iess.

El mercado de la base de datos Oracle no está segmentado solo a un tipo de aplicaciones, como se puede observar, existen entidades financieras, empresas de comunicaciones

Comunicaciones, portales web.

 4.12          Empresas que utilizan Mysql

 Dentro de las empresas que utilizan Mysql en sus ambientes de producción tenemos las siguientes:

Sonny, Suzuki, Lycos, Yahoo, Dell, PortaOne, Nasa, Unicef, Mcafee, Aizawa Securities, Google.

Como se puede observar, la mayoría son empresas que tienen su aplicación en el internet con base de datos, es decir, aplicaciones web.

4.13          Calidad del Software Mysql

Un proyecto financiado por el departamento de seguridad interna de EEUU con 1.2 millones de euros, es un proyecto completamente independiente ( http://www.whitehouse.gov/pcipb/ ). El estudio realizado por la empresa Coverity (http://www.coverity.com/main.html ) especializada en auditoria de código y evaluación de riesgos y Symantec, en colaboración con la universidad de Stanford. Este proyecto, a parte de los resultados es un proyecto completamente independiente no como otros que han sido financiados por empresas y consultoras afines a una tendencia u otra. En este caso la finalidad era la de saber la verdad sobre el software libre para que ayude a la toma de decisiones.

Para el proyecto se analizaron 32 proyectos de software libre uno por uno frente a las aplicaciones propietarias, entre ellos la base de datos libre Mysql, la conclusión fue que el software libre tiene menos errores de programación que el software propietario.

Software libre: 0.434 errores por cada 1,000 líneas de código
Propietario: de 20 a 30 errores por cada 1,000 líneas de código

Incluso en el caso más desastroso, se ha comprobado que en muchas ocasiones las Comunidades de Software Libre tienen pocos problemas en hacer cambios mayores en el código, incluso partiendo desde cero, para solventar errores graves de diseño, cosa que es complicado ver en productos propietarios en producción, que arrastran errores hasta el final del ciclo de vida.

4.14          Precios Oracle

Tabla #  16 Precios Oracle

Fuente: Global Price List Oracle 6 Enero 2006

Autor: Diego Burbano

Dentro de los productos más vendidos de Oracle, tenemos los relacionados con la base de datos, es decir,

 Oracle Database Standar Edition One

Oracle Database Standar Edition

Oracle Database Enterprice Edition

 Claro está que cada uno de ellos tiene acogida en mercados muy diferentes.

 Oracle Database Standar Edition One.- Este producto está orientado a empresas pequeñas, para poder utilizar esta versión, el equipo sobre el que va a ser instalado no puede contar con capacidad para más de dos procesadores. Como se puede apreciar en la tabla, el costo de este producto es de $4995 por procesador (máximo dos), o de $149 por usuario nombrado (mínimo 5).

 Oracle Database Standar Edition.- Este producto cuenta con las mismas características que la versión Standar Edition One, pero esta puede ser configurada en un equipo con capacidad hasta 4 procesadores, el costo es de $15000 por procesador (máximo 4) o de $300 por usuario nombrado (mínimo 5).

 Oracle Database Enterprice Edition.- Orientado a empresas grandes o que requieren características especiales, puede ser configurado sin restricción de procesadores, y su costo es de $40000 por procesador o de $800 por usuario (mínimo 25 usuarios por procesador instalado).

 Los clientes de Oracle Database Enterprice Edition encuentran muy útil licenciar de manera adicional opciones como:

 Real Application Cluster

Partitioning

Diagnostic Pack

Tunnig Pack

Change Management Pack

Configuration Management Pack

 Real Application Cluster.- Su finalidad es poder tener múltiples servidores soportando a la misma base de datos, tiene un costo de $20000 por procesador, o de $400 por usuario nombrado.

Obviamente el número de procesadores o usuarios a licenciar debe ser igual al número de procesadores o usuarios licenciados para Oracle Enterprice Edition.

 Partitioning.- Una opción que permite administrar las tablas grandes de la base de datos en diferentes tablespaces, para ayudar al rendimiento de la base de datos. Su coso es de $10000 por procesador o $200 por usuario nombrado.

 Orcle Packs.- Diagnostic, Tunning, Change Management, Configuration Managemet son características adicionales que permiten facilitar la administración del motor de base de datos Oracle, así como potenciar su rendimiento. El costo de cada uno de estos 4 paquetes es de $3000 por procesador o de $60 por cada usuario nombrado.

 Otro de los productos que tienen buena salida es el Internet Application Server:

 Internet Application Server Standar Edition One

Internet Application Server Standar Edition

Internet Application Server Enterprice Edition

 Internet Application Server Standar Edition One.- A un costo de $4995 (máximo 2cpu) por procesador o de $149 (mínimo 5 usuarios) por usuario nombrado, está orientado a empresas pequeñas que requieran un servidor de aplicaciones, se puede configurar en equipos de máximo 2 procesadores.

 Internet Application Server Standar Edition.- Para empresas un poco más grandes cuyo servidor pueda escalar hasta 4 CPUs a un costo de $10000 por CPU (máximo 4), o de $200 por usuario nombrado (mínimo 5).

 Internet Application Server Enterprice Edition.- Para empresas grandes, no tiene límite de escalabilidad a nivel de CPUs, y tiene un costo de $30000 por CPU o de $600 por usuario nombrado.

A nivel de servidor de aplicaciones, existe un sin número de opciones pero ninguna que se venda en forma masiva, son todas más bien puntuales para el cliente.

Otro producto que se vende es el:

 Developer Suite.- Para aquellos encargados del desarrollo de aplicaciones a un costo de $5000 por usuario nombrado (no se puede licenciar por procesador).

4.15          Precios Mysql

 Mysql es Glp (General Public Licence) no tiene costo, en lo que gana la empresa Mysql Ab es en el soporte y entrenamiento.

Al ser una empresa que maneja sus códigos con el tipo de licencia Gpl reduce los costos de desarrollo, administración.

Tabla #  17 Precios Mysql

Fuente: shop.mysql.com Enero 2006

Autor: Diego Burbano

4.16          Algunas Pruebas de Rendimiento

 Las pruebas realizadas sobre la base de datos Mysql (versión 5.0.18)  se realizaron en una notebook pentium 4 de 2.4 Ghz, 1 GB Ram, el sistema operativo es Xp Professional.

Cabe señalar que para realizar un test más exhaustivo de los motores de base de datos existen empresas que dedican sus recursos y tiempo solo a este tipo de análisis.

Tabla #  18 Pruebas de rendimiento

Autor: Diego Burbano

Para las pruebas se creó una base de datos llamada "Salud", 3 tablas relacionadas entre sí. La versión de Mysql es el 5.0.18 para windows, la versión de Oracle fue la 10.2.0.1.0 también para windows.

Se generó procedimientos almacenados para cada motor de base de datos, el mismo que genera en forma secuencial el número de registros requeridos, para tomar los tiempos de respuesta en el caso de Oracle, como maneja el tipo de dato TimeStamp con soporte para milisegundos, se creó un campo fecha con tipo de dato Timestamp, en el caso de Mysql se utilizó el command line Client que con cada ejecución indica el tiempo que se demoró.

 Según los resultados obtenidos en las pruebas, mysql es muchísimo más rápido que oracle cuando se utiliza el tipo de almacenamiento MyIsam, el cual, no maneja transacciones ni integridad referencial.

Al realizar las mismas pruebas con el tipo de almacenamiento Innodb (este tipo de almacenamiento maneja transaccciones), el tiempo de respuesta decayó en un 50% con respecto a Myisam. Con respecto a Oracle, sigue siendo más rápido (4 veces más rápido).

 Innodb es el tipo de almacenamiento que maneja transaccionalidad, integridad referencial, es por esto que al comparar Myisam con Innodb, esta última es más lenta.

 Si nos ponemos a analizar el porque de tanta diferencia entre Oracle y Mysql, esto se debe a que Oracle realiza muchos más controles, por ejemplo, Oracle 10g tiene nuevas y novedosas características como Flashback Query, FlashBack Table, Flash Back TransactionUqery , lo que hacen es guardar en la misma base de datos una tabla histórica con la información de inserción, actualización o borrado que el usuario realizó sobre una determinada tabla, esta operación es costosa en tiempos de respuesta ya que por cada cambio en la tabla actualiza 2 veces, una en la tabla padre y otra en la tabla histórica de la siguiente manera:

    • El primer paso es crear la tabla:

Gráfico #12: FlashBack Query – Creación Tabla

Autor: Diego Burbano

    • Luego realzamos el siguiente proceso para actualizar, borrar e insertar datos sobre esta tabla:

            insert into rates values ('EURO',1.1012);

            commit;

            update rates set rate = 1.1014;

            commit;

            update rates set rate = 1.1013;

            commit;

            delete rates;

            commit;

            insert into rates values ('EURO',1.1016);

            commit;

            update rates set rate = 1.1011;

            commit;

    • Los resultados obtenidos al consultar en la base de datos Oracle, son los siguientes:

Gráfico #13: FlashBack Query – Historia de Actualizaciones

 Autor: Diego Burbano

Tendríamos que preguntarnos si esta característica es tan útil en un entorno de producción en el que lo primordial es la respuesta rápida a los usuarios, en el caso de un banco esto resulta muy bueno ya que permite recuperar los datos del valor de  una divisa por ejemplo en un tiempo específico, esto ayuda a un correcto funcionamiento del negocio pero a la vez disminuye el performance de la base de datos. En todo caso para ambientes tan críticos como un banco, el poder recuperar los registros de una tabla (Flashback Table) que por accidente fue eliminada es de mucha ayuda ya que no se necesita parar la atención el público y el proceso es rápido.

El mismo análisis que hace Oracle (FlashBack Query) es programable en cualquier base de datos, se puede crear tablas de auditoria que permitan determinar que cambios se realizaron sobre un campo, pero esto va a degradar el tiempo de respuesta. 

4.17          Pruebas de caídas

 Las bases de datos están expuestas a problemas como fallas en comunicaciones, falla del ups. En estos casos, que no son muy repetitivos pero que suceden en ambientes reales es necesario proteger los datos.

 Las bases de datos manejan este problema con las llamadas transacciones y las propiedades ACID.

 Una transacción es un grupo de instrucciones sql que se manejan en forma atómica, como una sola unidad de trabajo, la atomicidad permite que las transacciones se ejecuten en su totalidad o no se ejecuta nada, esto permite que los datos se mantengan consistentes.

 Tanto Mysql como Oracle manejan transacciones y ACID.

El procedimiento almacenado utilizado para las pruebas en Mysql es el siguiente:

DELIMITER $$

DROP PROCEDURE IF EXISTS `salud`.`spCreaCliente2` $$

CREATE PROCEDURE `spCreaCliente2`()

BEGIN

DECLARE CTR INTEGER;

DECLARE ch1 CHARACTER(30);

DECLARE ch2 CHARACTER(30);

Start transaction;

set CTR = 1;

set ch1 = 'djburbano[arroba]hotmail.com';

set ch2 = '2439481';

WHILE CTR<= 3000000 DO

 insert into salud.clientes values (ctr,'sierra','av granados',ch2,ch1,'T','0501890255');

  SET CTR = CTR + 1;

END WHILE;

END $$

DELIMITER ;

 Al ejecutar el procedimiento almacenado spCreaCliente2, el momento en que termina el proceso se realiza un commit automático y los datos están consistentes y son permanentes, pero si en el transcurso de la ejecución se apaga el equipo, no se procesa ninguna inserción.

 En oracle es de manera similar, la transacción empieza con el primer DML ejecutado y finaliza con alguno de los siguientes eventos

    • Si una sentencia Commit o Rollback es utilizado.
    • Si una sentencia DDL o DCL  que tiene commit automático es ejecutada.
    • Si el usuario sale del iSql*Plus (rollback automático)
    • Por una caída del sistema. (rollback automático)

 El procedimiento almacenado utilizado para las pruebas en Oracle es el siguiente:

CREATE OR REPLACE PROCEDURE SP_CREACLIENTESORA2 is

BEGIN

FOR i IN 1..1000 LOOP

insert into clientes values (i,'sie','dici','243941','dja[arroba]hotmail.com','T','0501890255', LOCALTIMESTAMP);

END LOOP;

ENd;

 Al ejecutar el procedimiento almacenado SP_CREACLIENTESORA2, el momento en que termina el proceso se realiza un commit automático y los datos están consistentes y son permanentes, pero si en el transcurso de la ejecución se apaga el equipo, no se procesa ninguna inserción, se realizó un roolback.

4.18          Comparativa de Pesos desde el punto de vista del usuario

Tabla #  19: Comparativa de pesos - usuario

Autor: Diego Burbano

4.19          Comparativa de pesos desde el punto de vista del desarrollador

Tabla #  20: Comparativa de pesos - desarrollador

Autor: Diego Burbano

Anexo # 1: Control de Accesos a Usuarios

 Mysql Provee altas características de seguridad, contiene un sistema de autentificación capaz de aceptar o denegar las conexiones, contiene también una herramienta para administración de los privilegios y métodos de encriptación.

Anexo # 2: Backups

 Mysql puede ser respaldada con las utilidades en ambiente gráfico disponibles y además tiene la capacidad de sacar respaldos en caliente, esto es permitido gracias a online backup cuando la aplicación está en normal actividad.

Anexo # 3: SSL: Secure Sockets Layer

 Es la misma tecnología que mantiene seguros los datos de los números de tarjetas de crédito cuando se realizan compras a través del internet.

Mysql lo soporta, el administrador de la base de datos cuenta con nuevos niveles de seguridad a nivel de base de datos, dependiendo de las necesidades en la seguridad de las aplicaciones en particular.

En los casos más básicos, quizá se desee encriptar solamente las sesiones, dejando al protocolo SSL que proteja as contraseñas de los usuarios. También se puede obligar a los usuarios que se conecten a través de SSL utilizando los argumentos opcionales que proporciona el comando Grant.

Anexo # 4: Encriptación de Datos

 En las aplicaciones que almacenan datos muy delicados, como por ejemplo, registros de cuentas bancarias, quizá es necesario almacenar estos datos con un formato encriptado. Al hacer esto, resulta muy complicado para alguien tratar de utilizar los datos y se asegura la privacidad y no divulgación de los mismos.

En aplicaciones que son menos delicadas, se usa la encriptación para proteger algunas piezas de información, como por ejemplo la base de datos con las contraseñas para otra aplicación. En realidad, las contraseñas nunca deberían almacenarse en la base de datos sin encriptar.

A diferencia de la encriptación tradicional, que puede ser revertida, la serialización es un proceso de un solo sentido que no puede ser revertido. La única forma de averiguar la contraseña que generó una serialización en particular es utilizar un ataque de cálculo por fuerza bruta ( probando todas las combinaciones para al entrada).

Mysql ofrece cuatro funciones para serializar contraseñas: Password(), Encrypt(), Sha1() y Md5(). La mejor forma de ver los resultados de cada función es probándolas utilizando el mismo texto original

Anexo # 5: ACID

 Mysql soporta Atomicidad, consistencia, aislamiento y durabilidad, es un modelo transaccional que asegura la integridad y validez de los datos. Soporta también Commit y Roolback que asegura la consistencia de los datos.

Oracle si soporta transaccionalidad, utiliza Roolback, Commit, SavePoint.

Anexo # 6: Control de Concurrencia

Oracle maneja un control de concurrencia multiversión que difiere de los mecanismos de concurrencia utilizados por otros fabricantes de bases de datos.

Oracle soporta la consistencia de lectura en un nivel de instrucción y de transacción. Oracle determina el número de cambio del sistema ( System Change Number, SCN) actual. El SCN esencialmente actúa como una marca de tiempo donde el tiempo se mide en términos de compromisos de la base de datos en lugar del tiempo de reloj.

Si en el curso de una consulta se encuentra que un bloque de datos tiene un SCN mayor que el que está siendo asociado con la consulta, es evidente que se ha modificado el bloque de datos después del SCN de la consulta original mediante alguna otra transacción y puede o no haberse comprometido. Por ello los datos en el bloque no se pueden incluir en una vista consistente de la base de datos como existía a la hora del SCN de la consulta. En su lugar, se debe utilizar una versión anterior de los datos en el bloque; específicamente aquel que tenga el SCN mayor que no exceda al SCN de la consulta.

En el modelo de concurrencia de Oracle las operaciones de lectura no bloquean las operaciones de escritura y las operaciones de escritura no bloquean las operaciones de lectura, una propiedad que permite alto grado de concurrencia.

Anexo # 7: Procesamiento Distribuido de Transacciones

 Muchas veces una simple transacción necesita escalar entre múltiples servidores de bases de datos. Esta situación es solventada por Mysql 5.0. Usando la ingeniería de almacenamiento disponible llamada Innodb, asegurando la integridad de la transacción. Mysql soporta Distributed Transaccions (XA), permite distribuir las transacciones a través de los diferentes servidores.

Anexo # 8 : Unicode

 Unicote es un estándar industrial cuyo objetivo es proporcionar el medio por el que un texto en cualquier forma o idioma pueda ser codificado para el uso informático.

El establecimiento de Unicode ha involucrado un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos multilingües. Unicode se ha vuelto el más extenso y completo esquema de codificación de caracteres, siendo el más dominante en la internacionalización y adaptación local del software informático. El estándar ha sido implementado en un número considerable de tecnologías recientes, que incluyen XML, Java y sistemas operativos modernos.

Anexo # 9: Indices

 Mysql con el uso de las tablas innodb soporta el estándar b-tree indexing.

Oracle soporta el tipo de indexamiento b-tree indexing, esta característica mejora el rendimiento cuando accesa a una tabla,

Anexo # 10: Diccionario de Datos

 Esta característica de la base de datos permite obtener fácilmente la información de los objetos que pertenecen a la base de datos como son las tablas, vistas, procedimientos almacenados, etc.

Mysql soporta esta característica desde la versión 5.

Anexo # 11: Vistas

 Es una característica que permite visualizar los datos de una o varias tablas.

Mysql soporta esta característica desde la versión 5.

Oracle soporta esta característica que es un gran mecanismo para crear consultas con cierto formato o con ciertos campos de la tabla, esto ayuda a proteger la información que se presenta al usuario.

Anexo # 12: Trigger

 Los disparadores ejecutan acciones antes o después de que se realice algún proceso de DML, un ejemplo de uso puede ser para sacar datos de auditoria, o para encriptar datos.

Mysql soporta esta característica desde la versión 5.

Anexo # 13: Cursores

 Son utilizados dentro de los procedimientos almacenados para seleccionar o modificar datos con cierta lógica de negocio.

Mysql soporta esta característica desde la versión 5.

Anexo # 14: Funciones

 Las funciones difieren de los procedimientos almacenados en que el propósito de la función es retornar un valor o información de una llamada a rutina o de una consulta, esto ayuda mucho a la reutilización de código.

Mysql soporta esta característica desde la versión 5.

Anexo # 15:  Procedimientos Almacenados

 Los procedimientos almacenados programados eficientemente ayudan a reducir el tráfico de red ya que utiliza una sola llamada a la base de datos.

Mysql soporta esta característica desde la versión 5 para satisfacer las necesidades de muchas empresas, una diferencia con los procedimientos almacenados de las bases de datos propietarias es que solamente necesita la cláusula SELECT para obtener una salida de datos, esto no ocurre con otras bases de datos que necesitan llamadas a paquetes o cursores con apuntadores a la cláusula SELECT.

Los procedimientos almacenados ayudan a eliminar tráfico excesivo en la red porque solamente una simple llamada al servidor es requerida en lugar de múltiples llamadas.

Oracle también soporta esta característica, además permite construir sentencias dinámicas.

Anexo # 16: Recovery de Transacciones Erróneas

 Es una herramienta que sirve para retornar al estado anterior las transacciones que por error se ejecutaron sobre la base de datos.

Mysql no soporta esta característica.

En oracle, esta característica se la conoce como flashback query, que permite a un usuario establecer un cierto número SCN o tiempo de reloj en su sesión y ejecutar consultas sobre los datos que existían en esa fecha (supuesto que los datos todavía existían en el segmento de retroceso).  Normalmente en un sistema de bases de datos, una vez realizado el cambio no hay forma de retroceder al estado anterior de los datos a menos que se realicen restauraciones desde copias de seguridad, sin embargo, realizar esto es bases de datos muy grandes, resulta ser muy costoso.

Oracle dispone de una herramienta que realiza el trabajo en forma casi automática (necesita de un DBA para su correcta ejecución), Primero identifica la tabla afectada, la operación realizada Inserción, actualización o borrado, luego examina los cambios que realizó la transacción y si afectó a otras tablas, el dba examina el resultado del análisis de oracle, copia el la sentencia SQL y la ejecuta. Además puede recuperar la información con especifico time point.

Anexo # 17: Réplica

 Es el proceso de copia y mantenimiento de bases de datos múltiples que hacen un sistema distribuido. Consiste en dos servidores: uno Maestro y uno esclavo, El maestro registra todas las consultas que provocan cambios en la base de datos y las almacena en un fichero de registro binario. El servidor esclavo se conecta al maestro, lee las condiciones en el fichero binario y las ejecuta contra su copia local.

Mysql Maneja replica maestro-esclavo (en una sola vía).

Generalmente 3 productos o herramientas de Oracle cubren el área de replicación. Todos ellos están incluidos en el Oracle Enterprise Edition.

Anexo # 18: Cluster

 Esta característica ayuda al balanceo de carga, la idea básica que está por detrás del balanceo de carga es bastante sencilla. Se dispone de un cluster de dos o más servidores y queremos compartir la carga de trabajo tanto como sea posible. Además de unos servidores finales, un balanceador de carga (e menudo un elemento especializado de hardware) se encarga de encaminar las conexiones entrantes a los servidores disponibles que estén menos ocupados.

Este grupo de servidores independientes o nodos, conectados vía una red privada que trabajan en grupo como un sistema unificado. Esta característica de la base de datos garantiza la disponibilidad de los datos en caso de falla de hardware por ejemplo. Mysql Cluster implementa recoverability automático del nodo para asegurar una aplicación automáticamente, es decir, si uno o más nodos de la base de datos deja de operar, pasa a otro nodo de la base de datos que contiene un set consistente de datos.

Mysql es usada para proveer el máximo tiempo en producción para sistemas de negocio críticos. En particular, Mysql Cluster es especialmente utilizado para proporcionar alta disponibilidad y respuesta rápida en búsquedas con sql. Mysql Cluster utiliza el Query Cache, el cual es una especie de memoria de cache que almacena consultas repetitivas, esto ayuda mucho a la respuesta rápida y al performance de Mysql Cluster cuando consultas idénticas son enviadas al servidor.

Oracle utiliza Real Apllication Clusters (RAC) como una opción de la base de datos, que soporta hardware clusters.

Anexo # 19: Particionamiento de Tablas

 Se trata de una característica del las bases de datos actuales que permite dividir físicamente una tabla de la base de datos en particiones de acuerdo a la lógica del negocio que se necesite, de forma que, reduce significativamente los tiempos de respuesta de la aplicación.

En Oracle, la versión 10g soporta esta característica, permitiendo dividir los datos por fecha por ejemplo. La aplicación afecta directamente al diccionario de datos, creando la tabla interina de los datos e indicando qué datos se encuentran en una partición. Este mismo aplicativo permite realizar cambio en la base de datos en caliente sin reprogramar el aplicativo.

En Mysql, las tablas InnoDb manejan particiones, es decir,  si las tablas son muy grandes, las descompone en pequeñas y más manejables piezas llamadas particiones.

Anexo # 20: Automatic Storange Management

 Mysql automáticamente expande el espacio de almacenamiento de la base de datos.

Oracle también realiza este proceso automático desde la versión 10g, esto permite liberar al administrador de la base de datos  de este tipo de análisis.

Anexo # 21: Federated Tables

 En algunas ocasiones se necesitan referenciar a tablas que pertenecen a otras bases de datos remotas que se encuentran en otros servidores. Esta técnica hace que las distintas bases de datos físicas se vean como una base de datos lógica para la comunidad de usuarios, esto simplifica el acceso a datos.

Anexo # 22: XML

 Extensible Markup language (XML) es un formato de archivo estándar  usado para transferir datos entre sistemas, es similar al hypertext markup language (html) que almacena datos en un formato de jerarquía después de extraerlo de la base de datos, transformar y leerlo en otra base de datos. Un validador puede verificar que un documento xml pasa os requerimientos de estructura antes de procesar los datos. Xml es un componente clave en la computación basada en internet para transferir datos entre organizaciones.

Anexo # 23: Características Orientadas a Objetos

 Esta característica en bases de datos tiene que ver con la posibilidad de acceder, utilizar, modificar los datos de una base de datos utilizando propiedades de la orientación a objetos: Hoy en día, ha aumentando uso de multimedios (la animación de vídeo, audio) en aplicaciones, especialmente en aplicaciones de la Internet. Los requisitos aumentados en la búsqueda, el índice por ejemplo, que optimiza eficazmente la búsqueda de datos, se pone en duda al utilizar tipos de datos más complejos.

Anexo # 24: Precision Math

 En el caso de Mysql, soporta para los clientes que necesitan gran precisión en sus cálculos matemáticos. Dispone de 56 dígitos de precisión.

Anexo # 25: Archive Engine

Esta herramienta permite almacenar de forma eficiente los datos históricos.

Esta utilidad permite comprimir los datos en un 80% y reducir el tamaño de almacenamiento de los mismos.

Capítulo 5.-        Conclusiones y Recomendaciones

 5.1.1        Conclusiones 

    • El comercio electrónico ofrece opciones de automatización en todos los negocios de las empresas, los documentos digitales son el futuro, al ser este servicio tan imprescindible, se hace necesario analizar las posibilidades existentes en el mercado de bases de datos y las características que una base de datos libre puede solventar frente a las bases de datos comerciales.
    • La inversión en una base de datos de código abierto es una alternativa válida que gerentes y desarrolladores deberían considerar el momento de escoger una solución informática.
    • El desarrollo de MySql y la forma en la que los miles de usuarios aportan con la solución pronta a problemas existentes en el motor de base de datos, la hacen ver como una seria competidora ante las bases de datos propietarias, poco a poco sus funcionalidades envidian casi nada a estas últimas.
    • Hay que tomar en cuenta que la compra del motor de base de datos no es el único gasto que las empresas tendrán que realizar para automatizar sus procesos, existen otros costos como administración, mantenimiento, capacitación, el costo es entonces un punto muy importante para tomar en cuenta a la hora de seleccionar un sistema gestor de bases de datos.
    • Las bases de datos de código abierto están ganando terreno en el mercado rápidamente, esto ha preocupado mucho a las firmas propietarias de software como Oracle a tal punto que esta empresa ya lanzó su versión libre de la base de datos, además Oracle compró recientemente la empresa Innodb que es la empresa que maneja la ingeniería de almacenamiento de  Mysql, esto indica que las empresas saben que Mysql es un buen competidor.
    • Según las pruebas realizadas, el motor de base de datos Mysql es mucho más rápido que Oracle en el procesamiento de transacciones, esta es otra característica válida que en ambientes críticos de producción toma gran importancia el tiempo de respuesta de la base de datos en lo que satisfacción del cliente se refiere y en ambientes grandes de información como dataware house para la toma de decisiones.
    • La base de datos Oracle es una herramienta muy confiable y segura, tiene opciones de auditoria, backup y aplicaciones para la toma de decisiones que la diferencian de sus competidores libres y propietarios. En ocasiones es mejor sacrificar los recursos (memoria, disco) para obtener a cambio integridad en los datos.
    • Si comparamos las herramientas de administración que posee Oracle frente a las de Mysql, nos damos cuenta que a Mysql le falta mucho por recorrer aún, pero con el transcurso del tiempo las distancias se van acortando.
    • El tiempo de presencia en el mercado de cada una de las bases de datos es un factor determinante en su desarrollo y características de madurez, más de 10 años de ORACLE frente a 5 de MySql hacen que existan diferencia sin embargo el avance de MySql es notorio y robusto.
    • Al tener el código fuente e instaladores de la base de datos disponibles, cualquier persona puede analizarlo y utilizarlo para desarrollar otro producto. La ventaja, sobre el modelo de software tradicional  radica en que al tener disponible el código fuente e instaladores, la velocidad de respuesta ante errores y la aparición de los mismos es sumamente alta gracias al test que realizan miles de personas alrededor del mundo.
    • El problema del open source ha sido siempre la falta de soporte técnico garantizado al cual acudir si los manuales y ayuda en línea no son suficientes, hoy en día, existen empresas como Mysql Ab que se ha preocupado por este problema y tiene varios servicios de soporte especializado. De hecho, esta es la fuente de sus ingresos, con el producto libre, lo que vende es la solución de problemas.
    • En la página web http://www.tpc.org se puede observar varios benchmarcks de bases de datos, según este análisis realizado por la organización: Transaction Processing Performance Council, no se toma en cuenta a Mysql ya que la organización solamente avalúa los productos de miembros asociados y afiliados, este tipo de evaluaciones no son reales.
    • Es complicado realizar un estudio de performance de las bases de datos ya que depende en gran medida de la experiencia de desarrolladores y del administrador de la base de datos, también del volumen de información, laboratorios especializados, simulación de casos reales.

5.1.2        Recomendaciones 

    • Oracle debe abrir el código fuente de sus aplicaciones de manera que permita a los usuarios un mejor manejo de la herramienta y conocer sobre su funcionamiento.
    • Las pequeñas empresas deben tomar en cuenta las bases de datos de código abierto como Mysql para sus desarrollos ya que tiene muchas funcionalidades como las bases de datos comerciales y que está al alcance de su economía.
    • En este estudio se detallan buenas razones para usar bases de datos de código abierto en las empresas, en el caso de mysql, cumple con muchas de las características de las bases de datos propietarias, además el soporte es muy bueno y lo principal es que el costo se reduce en gran medida.
    • Realizar las pruebas entre los motores de bases de datos en  otros sistemas operativos y con servidores de características óptimas. Este estudio no las realiza por lo complicado que resulta en términos de infraestructura y costos.

Capítulo 6.-        Bibliografía 

    • http://opensource.org/docs/definition.php
    • http://mx.grulic.org
    • http://wikipedia.org
    • http://www.tpc.org
    • http://www.mysql.com
    • http://www.oracle.com
    • Mysql Avanzado, Jeremy D. Zawodny y Derek J. Balling. Editorial O’reilly.
    • Bases de Datos desde Chen hasta Codd con Oracle, Irene Ruiz, Miguel Angel Gómez, Enrique López Espinosa, Gonzalo Cerruela García, Editorial Alfaomega.
    • Mysql para Windows y Linux, César Pérez, Editorial Alfaomega.
    • La biblia de Mysql, Ian Gilfillan, Editorial Anaya.
    • Fundamentos de Bases de Datos, Cuarta Edición, Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Editorial McGraw Hill.

Glosario de Términos y Siglas

 ACID, 15

Atomicidad, Consistencia, Aislamiento, Durabilidad.

ANSI, 40

Instituto Nacional Estadounidense de Estándares

Api, 150

Application programmign Interface - Interfaz de programación de aplicaciones.

Backup, 171

Copia de Seguridad

BDOO, 33

Base de Datos Orientada a Objetos

B-tree, 174

Arbol B son estructuras de datos que se encuentran comunmente en las implementaciones de bases de daros y sistemas de archivos.

CAD/CAM, 50

Diseño asistido por computadora (Computer Aided Design); Fabricación asistida por computadora (Computer Aided Manufacturing).

CKPT, 119

CheckPoint Process, proceso de la instancia Oracle.

Commit, 65

Sentencia SQL que indica confirmación de los cambios realizados.

DatawareHouse, 149

Es una colección de datos, un almacén de datos que varia en el tiempo y que ayuda a la toma de decisiones.

DBA, 20

Data Base Administratos, administrador de la base de datos.

DBWR, 119

DataBase Writer, proceso de la instancia Oracle.

DDL, 22

Lenguaje de definición de datos, es el lenguaje proporcionado por el sistema gestor de base de datos para llevar a cabo tareas de definición de estructuras de la base de datos.

Deadlock, 86

Es un interbloqueo, traba mortal, ocaciona el bloqueo permanente de procesos en la base de datos.

Diccionario de datos, 23

Es una estructura propia de la base de datos en la que se definen los elementos que forman parte de la misma.

DBMS, 19

Sistema gestor de base de datos. ( DataBase Management System).

DML, 22

El lenguaje de manipulación de datos, permite a os usuarios llevar a cabo consultas y manipulación de los datos.

E-R, 31

Diagrama Entidad - Relación, permite manejar en forma gráfica una estructura de base de datos.

FSF, 58

Free Software Foundation, organización de software libre, promueve este movimiento.

GPL, 63

Licencia pública general (General Public Licence), creada por la Free Sofware Foundation orientada principalmente a los términos de distribución, modificación y uso del software. Su propósito es declarar que el software para este tipo de licencia es libre.

IBM, 28

International Business Machines Corporation

InnoDb, 94

Tipo de almacenamiento utilizado por la base de datos Mysql para el manejo de transacciones y características Acid.

Java, 134

Lenguaje de programación.

JDBC, 47

Java DataBase Conectivity, un Api que permite la ejecución de  operaciones sobre una base de datos desde el lenguaje de programación Java.

JVM, 143

Maquina virtual Java, permite la ejecución de programas sin depender de la plataforma.

LAN, 53

Red de área local, interconexión de varios ordenadores y periféricos.

LGWR, 120

Log Writer, proceso de la instancia Oracle.

Md5, 172

Algoritmo de resumen del mensaje 5, es un algoritmo de encriptación.

MysqlAB, 94

Empresa desarrolladora de la base de datos Mysql.

NFS, 14

Sistema de archivos de red ( Network File System), posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales.

ODBC, 47

Estándar de acceso a bases de datos (Open DataBase Conectivity), permite acceder a los datos sin importar que sistema gestor de base de datos almacene los datos.

ODMG, 40

Es el acrónimo de Object DataBase Management Group, Se usa tanto para definir el grupo de personas y empresas encargadas de desarrollar el modelo de objetos para persistencia, así como para la definición de dicho estándar.

Este modelo especifica los elementos que se definirán, y en qué manera se hará, para la consecución de persistencia en las BBDDOO que soporten el estándar. Consta de un lenguaje de definición de objetos, ODL, que especifica los elementos de este modelo.

OMG, 42

El Object Management Group u OMG (de sus siglas en inglés Grupo de Gestión de Objetos) es un consorcio dedicado al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos, tales como UML, XML, CORVA. Es una organización NO lucrativa que promueve el uso de tecnología orientada a objetos mediante guías y especificaciones para tecnologías orientadas a objetos

Php, 143

Es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. PHP es el (acrónimo recursivo de "PHP: Hypertext Preprocessor", inicialmente PHP Tools, o, Personal Home Page Tools) es un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios web, y últimamente también para la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica.

PL/SQL, 116

Lenguaje de programación Simple de Oracle. Lenguaje procedural que amplía las capacidades del estándar SQL y poder definir secuencias de control, de flujo y toma de decisiones.

RAID, 14

RAID (Redundant Array Of Independent/Inexpensive Disks) es un término inglés que hace referencia a un conjunto de discos redundantes independientes/baratos. Este tipo de dispositivos se utilizan para aumentar la integridad de los datos en los discos

RDBMS, 15

Relational DataBase Management System, Sistema gestor de bases de datos relacionales.

Roolback, 65

Un instrucción sql que indica que la transacción debe reverarse.

Sha1, 172

La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia Nacional de Seguridad estadounidense y publicadas por el National Institute of Standards and Technology (NIST).

SMP, 56

Es el acrónimo de Symmetric Multi-Processing, multiproceso simétrico. Se trata de un tipo de arquitectura de ordenadores que se encuentra en las computadoras personales y servidores de baja gama.

SQL, 15

El Lenguaje de Consulta Estructurado (Structured Query Language).

SSL, 171

Secure Sockets Layer (SSL) y Transport Layer Security (TLS), su sucesor, son protocolos criptográficos que proporcionan comunicaciones seguras en Internet. Existen pequeñas diferencias entre SSL 3.0 y TLS 1.0, pero el protocolo permanece sustancialmente igual. El término "SSL" según se usa aquí, se aplica a ambos protocolos a menos que el contexto indique lo contrario.

Throughput, 56

Se entiende como el número de tareas que pueden completarse en un intervalo de tiempo determinado

UNIX, 59

Es un sistema operativo portable, multitarea y multiusuario; desarrollado en principio por un grupo de empleados de los laboratorios Bell de AT&T

VLDB, 153

Very Large Data Bases, son bases de datos muy grandes como ambientes DataWareHouse.

XML, 134

Es la sigla del inglés eXtensible Markup Language (lenguaje de marcado ampliable o extensible) desarrollado por el World Wide Web Consortium (W3C).

[1]Para más información: http://es.wikipedia.org/wiki/Sistema_de_archivos

[2]Network file system: es un sistema de archivos distribuido para un entorno de red de área local. Posibilita que distintos sistemas conectados a una misma red accedan a archivos remotos como si se tratara de locales. Originalmente desarrollado por Sun Microsystems.

[3]Redundant Array Of Independent/Inexpensive Disks: este término hace referencia a un conjunto de discos redundantes independientes, es utilizado para mejorar el rendimiento, la tolerancia fallos y errores en los discos, así como también mejora la integridad de los datos. http://es.wikipedia.org/wiki/RAID

[4]Relational Data Base Management System:    Proporciona un ambiente adecuado para gestionar una base de datos.

[5]Atomicidad, Coherencia, aislamiento y Durabilidad.

[6]Structured Query Language: Es un lenguaje de acceso a las bases de datos, permite especificar todas las operaciones sobre la base de datos como por ejemplo: Inserción, Borrado, Actualización. Utiliza características de álgebra y cálculo relacional permitiendo de esta forma realizar consultas a la base de datos de forma sencilla. Más información en: http://es.wikipedia.org/wiki/SQL

[7]Una transacción es un conjunto de procesos que se ejecutan uno después del otro, este conjunto de procesos que deben ejecutarse una sola vez en forma completa, si algún subproceso falla, lo realizado anteriormente debe reversarse para que los datos no se alteren, a este comportamiento se lo denomina Todo o nada.

[8]           Más información en : http://es.wikipedia.org/wiki/Edgar_Frank_Codd

[9]           Más información en : http://es.wikipedia.org/wiki/IBM

[10]El proceso de normalización consiste en aplicar una serie de reglas a las relaciones obtenidas luego de haber pasado del modelo Entidad Relación al modelo relacional.

Para más información :

http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_una_base_de_datos

[11]Entidad Relación.- es un diagrama que consiste en objetos relacionados entre sí, que permiten identificar las entidades, atributos y relaciones que van a formar parte de la base de datos.

[12]Para más información : http://www.omg.org

[13]ODBC son las siglas de Open DataBase Connectivity, un estándar de acceso a bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato de cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en Ingles) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas de datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos.

[14]JDBC es el acrónimo de Java Database Connectivity, un API (Interfaz de Programación de Aplicaciones) que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java(Java es una plataforma de software desarrollada por Sun Microsystems, de tal manera que los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos computacionales) independientemente del sistema de operación donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice..

 [15]         Time Slice: Fracción de tiempo. Intervalo fijo de tiempo que se asigna a cada usuario o programa en un sistema multitarea o de tiempo compartido.

 [16]Más información en http://es.wikipedia.org/wiki/Richard_Stallman ;

http://www.z-labs.com.ar/docs/tif/3-stallman.html

[17]La GNU General Public License (Licencia Pública General) es una licencia creada por la Free Software Foundation y orientada principalmente a los términos de distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software Libre. Más información en: http://www.es.gnu.org/licencias/gples.html

[18]Esto ocurre cuando hay algún tipo de fallo en una transacción utilizando Bases de Datos, todos los datos que no hayan sido guardados (dar commit), regresan a su estado original, evitando así la perdida de datos cuando un cliente falla.

[19]INNODB es un tipo de tabla de Mysql que permite trabajar con transacciones, y definir reglas de integridad referencial.

[20]ACID son las propiedades que una base de datos debe cumplir para que el Sistema administrador de base de datos (DBMS) maneje correctamente la transaccionalidad, el término ACID viene de Atomicidad, Consistencia, Aislamiento, Durabilidad.

[21]SQL ANSI es un estándar para el manejo del lenguaje estructurado de consultas.

 Pongo a su disposición un análisis comparativo de bases de datos de código abierto vs bases de datos de código cerrado, este análisis pretende dar a los desarrolladores, gerentes y usuarios un documento que les permita realizar una evaluación entre motores de base de datos tanto libres como propietarios de manera que a la hora de elegir entre uno u otro tomen en cuenta puntos importantes.

Cualquier comentario o sugerencia, bienvenida.

 

 

Trabajo realizado por :

Ing. Diego Javier Burbano

Quito - Ecuador Mayo 2006

dburbano[arroba]yahoo.com

Partes: 1, 2, 3, 4

Comentarios


Trabajos relacionados

Ver mas trabajos de Computacion

   

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.