Descargar

Comparación entre sistemas de gestión de bases de datos (SGBD)

Enviado por [email protected]


Partes: 1, 2, 3

    1. Objetivos
    2. Justificación
    3. Alcances
    4. Limitaciones
    5. Marco referencial del proyecto
    6. Sistemas de gestión de bases de datos a  comparar
    7. Metodología
    8. Estrategia de comunicación
    9. Programación
    10. Recursos
    11. Presupuesto
    12. Conclusiones
    13. Bibliografía
    14. Anexos

    INTRODUCCION

    Antes de las bases de datos que hoy conocemos, se utilizaban ficheros secuenciales como almacenes de datos. Estos daban un acceso muy rápido pero sólo de forma secuencial,  más tarde aparecieron los ficheros indexados, donde el acceso ya podía ser aleatorio,  el sistema de ficheros era el sistema más común de almacenamiento de datos. para compartir los datos entre varias máquinas surgió el NFS (Network File System), y más tarde para evitar fallos en los sistemas de fichero aparecieron los sistemas RAID.

    Pero los programas y datos cada vez eran más complejos y grandes por tal motivo se requería de un almacenamiento que garantizara un cierto número de condiciones y que permitiera operaciones complejas sin que se violaran estas restricciones.

    Además cada usuario que accediera a los datos debían tener su trabajo protegido de las operaciones que hicieran el resto de usuarios,  respondiendo a estas necesidades, surgieron las bases de datos jerárquicas donde los datos se situaban siguiendo una jerarquía,  estas bases de datos jerárquicas tenían el problema que los accesos a los datos eran unidireccionales, y era más complicado hacer el camino inverso, pero posible, aunque el tiempo de cálculo era mayor, ( Por ejemplo, era fácil saber que cuentas tenía un cliente, pero no tan fácil  saber de que cliente era una cierta cuenta).

    Para dar absoluta libertad a las relaciones entre tablas surgieron las bases de datos relacionales (RDBMS), las RDBMS trajeron dos cosas muy importantes: las propiedades ACID y un lenguaje común de acceso a los datos: SQL.,  mediante SQL, por primera vez, decías QUE datos querías y no COMO los tenías que sacar. Apareció el término de transacción: Agrupación de instrucciones SQL (Selects, Inserts y Updates).

    Con el advenimiento de Internet, el software libre se ha consolidado como alternativa, técnicamente viable y económicamente sostenible al software comercial, contrariamente a lo que a menudo se piensa, grandes empresas informáticas como IBM, Sun y Apple ofrecen apoyo financiero y comercial al software libre.

    Para algunas  compañías,  es  prioridad  inminente la reducción de costos, empresas que han invertido una fuerte suma de dinero en cuestión de licenciamiento y utilizan estas herramientas de forma ilegal,  hoy ven en el software libre como otra alternativa para ofrecer los mismos servicios a un costo, significativamente reducido.

    Estas alternativas las podemos encontrar tanto para sistemas operativos, herramientas de ofimática, software especializado, manejadores de bases de datos.

     

    Tabla 1.  Ficha  del proyecto

     RESUMEN EJECUTIVO

    La finalidad  de este trabajo es realizar  un estudio  comparativo  entre sistemas de gestión de bases de datos uno de licenciamiento  libre y otro de licenciamiento comercial.

    Con el advenimiento de Internet, el software libre se ha consolidado como alternativa, técnicamente viable y económicamente sostenible al software comercial, contrariamente a lo que a menudo se piensa,  convirtiéndose  el software libre como otra alternativa para ofrecer los mismos servicios a un costo significativamente reducido, encontrando estas  alternativas tanto para sistemas operativos, herramientas de ofimática, software especializado, manejadores de bases de datos,  para este caso nos basaremos en los manejadores de Bases de Datos,  se pretende determinar un soporte  para  recomendar a una empresa la utilización de estos recursos de distribución libre, de la misma forma en que se confía en software  propietario o mucho mejor, para la toma de esta decisión se tendrán  en cuenta factores como; seguridad en el almacenamiento de los  datos, ventajas que proporciona  un manejador de base de datos gratuito, volúmenes de información que soportara,  cual es su rendimiento, complejidad en la migración de los datos,  soporte ofrecido,  sistema de backup,  confiabilidad  ofrecida,  considerando estos  elementos   como importantes para un buen desempeño en la  aplicación y con esto el soporte de la decisión.

    Como objetivo general   se tiene el elaborar un documento donde se encuentre el diseño  y ejecución de pruebas, entre dos sistemas de gestión de bases de datos, uno protegido bajo licencia comercial y el otro bajo licenciamiento Libre,  con el fin  de evaluar factores mencionados anteriormente,  lo cual permitirá de conformidad con el resultado, determinar la conveniencia  para el auditor de  recomendar a una organización la utilización de un sistema protegido bajo licenciamiento libre.

    Durante la elaboración de este documento  se desarrollaran los siguientes objetivos específicos para el complemento  de  alcanzar el objetivo general:

    Seleccionar un sistema de gestión de base de datos protegido bajo licencia comercial y otro bajo licencia libre.

    Diseño de  pruebas comparativas  para  manejadores de bases de  datos.

    Diseñar un sistema de evaluación para valorar los resultados arrojados por las pruebas desarrolladas

    La decisión de  realizar los comparativos entre estas dos formas de licenciamiento  es porque hoy en día la tecnología "Open Source"  ha tomado  fuerza y  se ha convertido en una buena opción, pero de ahí a  vender la idea y convencer  el cambiar de una solución comercial a una libre, con el fin de reducir costos o solucionar los problemas de licenciamiento a uno de nuestros clientes, implica comprometer  nuestra credibilidad  como profesionales, teniendo un soporte  técnico  que avale las posibles recomendaciones.

    Para  complementar   este documento se realizaron búsquedas en Internet, bibliografía de textos  alusivos al tema y en la experiencia tanto de los participantes  como de algunos profesionales en el medio laboral, el propósito   no es probar  cual es el mejor sino que tan bueno  es el motor  protegido bajo licenciamiento libre.

    Para la realización  de este documento  se tendrán en cuenta los siguientes criterios o limitantes:

    ·         Se realizará las pruebas en una sola máquina

    ·         No se utilizara ningún entorno de red, pero si se desarrollara un entorno que emule una red de X cantidad de estaciones de trabajo realizando cada una de ellas sus propias peticiones independientes a la base de datos, esto se explica mejor en la parte de la metodología

    ·         Se utilizara un solo lenguaje de programación para hacer la pruebas de velocidad en la base de datos y volúmenes de datos

    1.       OBJETIVOS

    1.1.             OBJETIVO GENERAL

    Elaborar un documento donde se encuentre el diseño  de un conjunto de pruebas  y ejecución de las mismas,  entre dos sistemas de gestión de bases de datos, uno protegido bajo licencia comercial y el otro bajo licenciamiento Libre,  con el objetivo de evaluar factores como capacidad para soportar altos volúmenes de datos, Integridad, concurrencia, velocidad, sistema de backup y confiabilidad, lo cual permitirá de conformidad con los  resultados, determinar la conveniencia  para el auditor de avalar  una recomendación a una organización para la utilización de un sistema protegido bajo licenciamiento libre.

    1.2.             OBJETIVOS  ESPECIFICOS

    ·         Seleccionar un sistema de gestión de base de datos protegido bajo licencia comercial y otro bajo licencia libre.

    ·         Diseñar un conjunto de  pruebas comparativas  para  manejadores de bases de  datos.

    ·         Diseñar un sistema de evaluación para valorar los resultados arrojados a las Seleccionar pruebas desarrolladas

    ·         Concluir  que tan conveniente es para un auditor  dar una recomendación a una organización  sobre,  la utilización de un sistema de gestión de base de datos protegido bajo licenciamiento libre

    2.       JUSTIFICACIÓN

    Hoy en día la tecnología "Open Source"  ha tomado  fuerza y  se ha convertido en una buena opción,   pero   de ahí a  realizar una recomendación de cambiar de una solución comercial a una libre con el fin de reducir costos o solucionar los problemas de licenciamiento a uno de nuestros clientes es de pensar,  teniendo en cuenta que el activo mas importantes para una organización es la información y se corre el riesgo de perder la credibilidad como profesional,  de ahí  nace la importancia  de  diseñar, ejecutar, valorar y  analizar pruebas  que  soporten  las  posibles recomendaciones  que se pueden  dar  con respecto a ventajas  que posee un  software libre  Vs un software comercial.

    3.       ANTECEDENTES

    Se realizo una búsqueda  tanto en  Internet  como en el medio laboral,   para validar la existencia de  documentación  donde  se plasmaran  pruebas  comparativas en cuanto al rendimiento de uno u otro manejador de bases de datos,  teniendo en cuenta los factores mencionados en el alcance, en donde la finalidad  no es probar  cual es el mejor sino que tan bueno  es el motor  protegido bajo licenciamiento libre, logrando encontrar información   sobre  características entre un manejador de base de datos comercial y uno  libre,  pero no   un diseño de pruebas como el que se esta planteando.

    Sin embargo los documentos   encontrados   serán de gran  apoyo para dar inicio al  trabajo y  parte de esta información se incluirá en el documento  que se pretende realizar.

    4.       ALCANCES

    Se realizará un diseño de pruebas y posterior ejecución a los manejadores de datos de tipo comercial y libre  con el fin de conocer:

    • Capacidad para soportar altos volúmenes de datos
    • Integridad en los datos
    • Concurrencia
    • Velocidad
    • Sistemas de Backup y Restauración
    • En el  desarrollo de este trabajo  no se  incluye análisis de costos  con respecto a capacitación, asesoría   ni migración de datos.
    • Se darán a conocer  nombres  de firmas que prestan soporte y capacitación para la administración del manejador de datos bajo licenciamiento libre

    5.       LIMITACIONES

    Las siguientes son las limitaciones que se tendrán en cuenta para el desarrollo de este trabajo:

    ·         Se realizará las pruebas en una sola máquina

    ·         No se utilizara ningún entorno de red.

    ·         Se desarrollara un entorno que emule una red de  n numero de  estaciones de trabajo,  realizando cada una de ellas sus propias peticiones independientes a la base de datos, esta información se amplia en la metodología.

    ·         Se utilizara un solo lenguaje de programación para hacer la pruebas  de velocidad y volumen de datos,   en la base de datos.

    6.       MARCO REFERENCIAL DEL PROYECTO

    6.1.               MARCO CONCEPTUAL

    El mercado de manejadores de bases de datos es bastante grande y  ofrece

    demasiadas alternativas a la hora de elegir un software en que confiar,   en el momento  de  tomar una decisión con respecto a por cual herramienta inclinarnos,

    cual es la optima, cual  me ofrece mayores garantías  en mi desarrollo específico, que detalles de implementación debemos tener en cuenta para elegir  nuestro sistema de gestión de bases de datos,    se convierte  en una gran preocupación y  responsabilidad  el conocer las   características ventajas  y desventajas, no desconocemos  que  las herramientas constituyen un  aspecto fundamental a la hora de desarrollar un  proyecto o una implementación, las características  de los proyectos, de las compañías o  las necesidades hacen prioritario  que estas herramientas se ajusten a esos  requerimientos específicos,  por estas  razones se debe  profundizar e investigar  las diferentes alternativas que se tienen  al alcance ,evitando inconvenientes   posteriores como son,  perdida  de tiempo, perdida de dinero o aun mas grave comprometer la credibilidad  profesional al  avalar un concepto técnico sin el suficiente  soporte y conocimiento.

    Para  esta investigación se realizo una búsqueda  en  Internet,  bibliografía  en  temas específicos sobre sistemas manejadores de bases de datos,  software libre y software comercial,  la finalidad  no es probar  cual es el mejor sino que tan bueno  es el motor  protegido bajo licenciamiento libre, definiendo características entre un manejador de base de datos comercial y uno  libre.

    Se realizará un diseño de pruebas y posterior ejecución a los manejadores de datos de tipo comercial y libre  con el fin de conocer, capacidad para soportar altos volúmenes de datos,  integridad en los datos, concurrencia, velocidad, sistemas de Backup y Restauración.    

    En el desarrollo de este trabajo  no se  realiza  análisis de costos  de capacitación, asesoría   ni migración de datos,  daremos  a conocer  nombres  de firmas que prestan soporte y capacitación para la administración del manejador de datos bajo licenciamiento libre.

    Dentro de las limitaciones  contenidas en esta investigación contemplamos  que  las pruebas  se realizaran en una sola maquina , no se utilizara ningún entorno de red  por lo tanto se desarrollara un entorno que emule una red de  N numero de  estaciones de trabajo,  ejecutando cada una de ellas sus propias peticiones independientes a la base de datos, se utilizara un solo lenguaje de programación para hacer la pruebas  de velocidad y volumen de datos,   en la base de datos.

    6.2.             MARCO TEORICO

    El software ha experimentado un auge extraordinario  a raíz de la progresiva informatización de casi la totalidad de las empresas, ante esta notable demanda, surgen  multitud  de soluciones  en programas como  sistemas operativos,  manejadores de Bases de Datos,    servidores web , sistemas de red, paquetes de oficina entre otros, los cuales  ofrecen a la comunidad  diferentes formas   de licenciamiento tanto libre como  comercial,    por  esta razón damos a conocer un  poco de historia y características  del software libre y generalidades  del software comercial.

    6.2.1.                       SOFTWARE LIBRE

    El Software Libre es un asunto de libertad, no de precio, para  tener mejor claridad  del concepto  se debe  pensar  en libre,  como en libertad de expresión no en algo gratis,  se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software,  de modo más preciso:, se refiere a cuatro libertades de los usuarios del software:

    • Libertad de usar el programa, con cualquier propósito .
    • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades,  acceso al código fuente es una condición previa para esto.
    • Libertad de distribuir copias, con lo que puedes ayudar  a interesados.
    • Libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que todos se  beneficien.

    Software libre, no significa no comercial. Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante, Es aquel que puede ser distribuido, modificado, copiado y usado; por lo tanto, debe venir acompañado del código fuente para hacer efectivas las libertades que lo caracterizan. Dentro de software libre hay, a su vez, matices que es necesario tener en cuenta.

    Por ejemplo, el software de dominio público significa que no está protegido por el copyright, por lo tanto, podrían generarse versiones no libres del mismo, en cambio el software libre protegido con copyleft impide a los redistribuidores incluir algún tipo de restricción a las libertades propias del software así concebido, es decir, garantiza que las modificaciones seguirán siendo software libre.

    También es conveniente no confundir el software libre con el software gratuito, éste no cuesta nada, hecho que no lo convierte en software libre, porque no es una cuestión de precio, sino de libertad.

    6.2.2.                    Cómo surge el software  libre

    El movimiento del Software Libre tuvo su origen en el mundo académico. Desde hace más de treinta años, numerosos programadores de distintas universidades han desarrollado herramientas de forma cooperativa y abierta, intercambiando libremente su código fuente. De esta manera se ha logrado construir productos de software de gran envergadura y excelentes cualidades técnicas. Con el crecimiento de Internet, dicho movimiento ha sumado adeptos en todo el mundo, trascendiendo el ámbito académico. En la última década han surgido empresas que basan su negocio en el desarrollo, la distribución y el soporte de Software Libre. En la actualidad numerosas empresas que tradicionalmente han utilizado el modelo propietario para el desarrollo y la comercialización de sus productos, comienzan ha incorporar productos de software libre. A modo de ejemplo podemos citar a IBM, que basa todos sus productos orientados a la web en el servidor libre Apache.

    Algo que  indujo a este desarrollo fueron los procedimientos abusivos utilizados por casi todas las principales empresas desarrolladoras de software propietario que han sido denunciados reiteradamente ante la justicia. Los tribunales norteamericanos han llegado incluso a condenar a una de las firmas más importantes del mundo por prácticas monopólicas violatorias de las leyes,  la necesidad de liberarse de tan irritante esclavitud ha movido a técnicos de todo el mundo a desarrollar e introducir, de manera ordenada y sistemática, el software libre.

    6.2.3.                    Historia  y evolución 

    Tabla 2. Historia y Evolución del software libre

    1.974:

    Bell Labs publica la descripción de Unix: un sistema operativo portable escrito en un lenguaje avanzado de 3ra generación Lenguaje C, multiusuario, multitarea, con capacidad de procesamiento en línea, sistema de archivos jerárquico, editor, compilador de C y herramientas de procesamiento de texto.

    1.975:

    Las Universidades empiezan a manifestar intereses por compartir el producto. Bell Labs distribuye Unix con fuentes de manera abierta y libre a los entes del ambiente académico y científico solicitantes a cambio de pagar los gastos de medio magnético, manual y flete; y deben reportar toda investigación y mejora que se desarrolle con el Sistema. Berkeley 1BSD.

    1.976:

    Es instalado en las Universidades importantes de USA y Europa.

    1.977:

    500 instalaciones registradas.

    1.978:

    Unix versión 6; se estiman 700 instalaciones. Berkeley 2BSD.

    1.979:

    Primera versión del Sistema UUCP para comunicación de datos entre computadoras. Berkeley 3BSD.

    Es instalado en Venezuela en la Universidad Simón Bolívar.

    Se Licencia Unix versión 7, que se populariza de manera explosiva como plataforma para experimentar y desarrollar tecnología, probar algoritmos, protocolos de comunicación, lenguajes de programación y manejadores de Base de Datos.

    1.980:

    Berkeley despacha Unix 4.0BSD al Departamento de Defensa de USA. En la Red DARPANET desde 1.979 se usa UUCP y se empieza a utilizar TCP/IP bajo Unix 4.0BSD.

    Arranca la cruzada de la Computación Personal y la era de la integración a escala en Microprocesadores.

    1.981:

    Unificación de versiones: Unix System III, Licencia Comercial.

    Surge nuevos proveedores de Computadoras bajo Unix como Onys, Plexus, Convergent Techs., Altos y Ohio Scie. AT&T anuncia línea de computadoras bajo Unix. Sperry, Motorolla y NCR anuncia línea de mini computadoras basadas en Microprocesadores 68000 y Unix.

    1.982:

    Varias versiones comerciales de Unix (Xenix, Citix, Centix, etc).

    Berkeley incorpora UUCP HDB que puede operar sobre TCP/IP.

    Unix para arquitectura IBM S/370.

    1.983:

    Unix System V unifica versiones y llama a un estándar. Sun, HP, Apollo, Data General, Tecktronics, Silicon Graphics e Intergraph lanzan las Estaciones Gráficas de Trabajo Profesional bajo Unix dedicadas al procesamiento gráfico y CAD.

    DARPA y Berkeley aseguran que Unix 4.1BSD ofrece mayor rendimiento y mejores herramientas en un Digital VAX que el propio sistema operativo Digital VMS.

    Más de 130.000 instalaciones.

    1.984:

    Unix System V Release 2 incorpora los últimos avances tecnológicos en manipulación y administración de recursos, protocolos de comunicación, lenguajes, Base de Datos, procesamiento distribuido y paralelismo. El proyecto de Interfaces Gráficas con Ventanas e Iconos (Athena X-Window System) se desarrolla e implementa bajo Unix.

    Más de 200.000 instalaciones.

    1.985:

    Xenix System V para PC con 80286 y el novedoso 80386.

    Sun implementa NFS (Networf File System/Shearing) sobre TCP/IP para compartir archivos en Red.

    Surgen productos para interconectar PC con Redes Unix.

    Cray, Amdhal, Elxsi y Alliant establecen a Unix como estándar para sus Supercomputadores con procesamiento paralelo.

    IBM anuncia el desarrollo de AIX para S/370 y Serie/1.

    HP anuncia línea de computadoras Basadas en Tecnología RISC bajo Unix.

    Carnegie Mellon university anuncia versión de Unix MATCH diseñado con tecnología de Microkernel Orientado a Objetos.

    NSFnet, Milnet y Arpanet utilizan TCP/IP a plenitud=Internet.

    Se publican críticas a Unix para tratar de frenar su avance.

    Más de 420.000 instalaciones.

    1.986:

    Unix System V release 3.0 incorpora nuevos servicios, Facilidades de Interconexión, poderosos esquemas para la administración de Recursos que aumentan el rendimiento.

    SUN publica definición de Protocolos de RED necesarios para implementar NFS (Network File System/Shearing).

    AT&T provee RFS (Remote File System).

    ETHERNET se convierte en protocolo estándar para Redes Locales y X.25 para Redes Amplias. TCP/IP protocolo estándar para Redes Locales y Amplias. El Departamento de Defensa de USA manifiesta su intensión de adquirir solo equipos bajo Unix, pero pide aumentar controles de acceso y seguridad.

    Manejadores de Base de Datos Relacional que ofrecen SQL como INFORMIX, UNIFY, INGRES, Oracle y otros, impulsan a Unix al mercado Aplicacional.

    Más de 680.000 instalaciones registradas.

    ORGANIZACIONES QUE EMITEN ESTÁNDARES COBRAN GRAN IMPORTANCIA Y COINCIDEN EN SUS APRECIACIONES.

    1.987:

    AT&T propone nuevas estrategias de mercadeo Unix COMO SOLUCION TOTAL., AT&T y SUN anuncian la Fusión de sus centros de Desarrollo y absorben parte del personal de Berkeley., IBM lanza su primera Estación Gráfica de Trabajo Profesional con Tecnología RISC y Unix (RT/AIX)., Productos para CAD/CAM, CAD/CAE, procesamiento de Imágenes, Análisis de Estructuras y Sólidos, Dibujo Gráfico, Animación y Edición de publicaciones, inundan el Mercado de las Estaciones Gráficas de Trabajo Profesional bajo Unix.

    1998

    Oracle, Informix, Sybase, Progress, y la mayoría de las casas productoras de manejadores de Bases de Datos portan sus productos a Linux.

    Existen gran variedad de distribuciones comerciales de Linux.

    La comunidad organizada Linux empieza a tener mucha presencia, fuerza de opinión y reconocimiento en toda La Internet y en la comunidad Unix comercial.

    Solaris, FreeBSD y Linux dominan las estadísticas de Servidores de grandes e importantes Web Sites en La Internet.

    IBM: Aix será su plataforma preferida para su estrategia e-Business.

    Linux debuta en los efectos especiales del cine compartiendo escena con SGI en Titanic.

    StartDivision incorpora compatibilidad con formatos de Office98 en su StarOffice.

    1.999:

    Las encuestas realizadas en La Internet revelan que el Sistema Operativo preferido por la comunidad de desarrolladores del WWW es Linux, como servidor Web y Estación.

    IBM, HP, Dell y Compaq ofrecen línea de Servidores y Estaciones bajo Linux.

    Compaq/Digital-Alpha, Motorota y PowerPC no soportarán más a WindowsNT, ofrecerán soporte a Unix y Linux.

    Unix se recupera en las estadísticas del mercado de Servidores.

    Linux tiene el dominio del mercado de los Servidores Web.

    Linux le roba terreno en las proyecciones de crecimiento y mercado a WindowsNT.

    Intel invierte grandes capitales en compañías relacionadas con Linux.

    Gracias al movimiento Linux, se consolida el movimiento del software libre (free) como tendencia comercial viable y sustentable.

    Sun compra StarDivision y despacha gratis StarOffice para uso personal o comercial.

    LinuxWeek en Venezuela.

    [1]

    6.2.4.                    Contenidos actuales del software libre

    Los sistemas operativos y programas de aplicación de software libre son múltiples y variados y abarcan las más corrientes necesidades de los usuarios. Están siendo permanentemente perfeccionados a través de la interacción de quienes los usan, los pueden modificarlos y adaptarlos fácilmente a sus necesidades. Se plantea así una alternativa válida para aquellos que aspiran a utilizar sistemas y programas informáticos eficaces, seguros y estables sin la amenaza de sanciones legales por su uso no autorizado.

    Las empresas  colombianas  y de países vecinos  han comenzado ha comprobar  lo beneficios tecnológicos y financieros  que ofrece el software de código libre, frente a  los tradicionales programas  comerciales o propietarios.

    Tal tendencia  se refleja  en las cifras  del crecimiento que este tipo de software  ha tenido en las empresas latinoamericanas: 144 por ciento frente al año anterior, según la firma de investigación IDC.

    Esto Se debe a que las compañías de nuestros países  no cuentan con mucho dinero para invertir  en tecnología, además el software libre les ofrece soluciones informáticas de alta calidad y eficiencia  que en el mundo comercial cuestan mucho.     

    6.2.5.                    Algunos de los mejores programas libres disponibles

    Tabla 3.  Algunos de los mejores programas libres disponibles

    Nombre

    Fabrica

    Versiones

    Detalles

    Tipo de  Clientes

    Donde se consigue

    Sistema operativo

    Suse Linux

     

    Novell.

     

    Suse 9.1 Personal; Suse 9.1 Professional; Suse Enterprise Server 8; Suse Standard Server 8; Suse Lin ux Desktop.

     

    Compite con Windows de Microsoft. Es un sistema operativo completo, gráfico, que incluye programas de oficina, de correo electrónico, de Internet y multimedia. Las versiones para servidor (empresas) traen programas para manejo de archivos, sistemas de seguridad, de manejo masivo de correo electrónico, herramientas de autenticación (contraseñas en red), etc.

     

    les sirve a empresas de cualquier tamaño. Es compatible con redes Windows o Unix, por lo que podrá usarlo sin necesidad de cambiar muchas cosas.

     

    Novell de Colombia (www.novell.com/es-es).

     

    Base de Datos MySQL

     

    MySQL AB (http://www.mysql.com/

    MySQL Pro; MySQL Database Server y Max DB

    es la base de datos relacional de código libre más usada en el mundo. La versión gratuita es el referente para personas y empresas que crean páginas web. En la parte empresarial ofrece versiones con capacidades similares a las de costosas marcas como IBM, Informix, Oracle y Microsoft. Hewlett-Packard ofrece soporte y garantía para esta base de datos instalada en sus servidores Proliant. La versión Max DB es certificada para sistemas SAP.

     

    Tipo de cliente: empresas que necesitan aumentar la capacidad y estabilidad de su base de datos. Se puede conectar a sistemas Windows o Unix.

     

    – Detalles: – – Dónde se consigue: Pulxar (http://www.pulxar.com.co/); HP Colombia (www.hp.com/co).

     

    Sistema de Red – Samba

    Samba Team (http://www.samba.org/

    Samba 2.2 y Samba 3.0.

     

    Es un sistema de red que permite a varios computadores compartir recursos (como impresión, acceso a archivos y datos). Tiene la capacidad de manejar varios PC sin importar el sistema operativo que usen (puede combinar computadores con Windows y Linux).

    Empresas que no tienen cómo pagar una actualización de sistemas de red viejos, como Windows NT. Ofrece capacidades robustas de configuración de directorios y grupos de red, entre otras, que en versiones de software pagado serían muy costosas.

     

    (http://www.pulxar.com.co/

    Servidor Web- Apache

    Apache Software Foundation (http://www.apache.org/).

    2.0.

     

    programa que administra servidores para alojar sitios web. Según el fabricante, alrededor del 50 por ciento de los sitios de Internet está almacenado en servidores Apache. Es estable, seguro y eficiente

    compañías que administran uno o varios sitios web, y que necesitan una opción económica, fácil de configurar y de administrar.

     

    apache.uniandes.edu.co.

           

     

    [2]

    6.2.6.                    Licenciamiento de software

    La licencia de software es una especie de contrato, en donde se especifican todas las normas y cláusulas que rigen el uso de un determinado programa, principalmente se estipulan los alcances de uso, instalación, reproducción y copia de estos productos,  en el momento en que usted decide descargar, instalar, copiar o utilizar un determinado Software,   implica que usted acepta las condiciones que se estipulan en el licenciamiento de cada programa especifico.

     

    6.2.7.                    Tipos de licencias de software libre

    Se considera  como,    libre y gratis. Cuando hablamos de  software libre,  se tiene la   tendencia  a creer que se trata solamente de programas que el usuario puede utilizar sin pagar un peso y que normalmente se encuentran gratis en Internet. Pero  es mucho más que esto.  No tiene nada que ver con el precio, tiene que ver con libertad" (El Proyecto GNU es una campaña para difundir el Software libre. Fue iniciada por Richard Stallman en 1984 y pretende implantar la tendencia hacia el desarrollo de software sin limitantes de derechos de autor y bajo precio).

    6.2.7.1.                            Open Source

    Open Source y Software libre,    son esencialmente lo mismo, la diferencia radica en que los defensores del Free Software no están ciento por ciento de acuerdo con que las empresas disfruten y distribuyan Free Software ya que, según ellos, el mercado corporativo antepone la utilidad a la libertad, a la comunidad y a los principios y por ende no va de la mano con la filosofía pura detrás del  Software libre, por otra parte, los seguidores del software Open Source sostienen que el proceso normal de crecimiento de la tendencia debe llegar al mercado corporativo y no seguir escondida bajo el manto de la oposición, sino que, por el contrario, están en el deber de lanzar software potente y de excelente calidad.

    Para lograrlo, creen en la necesidad de un software Open Source más confiable que el software propietario ya que son más las personas que trabajan en el al mismo tiempo y mayor la cantidad de 'ojos' que pueden detectar errores y corregirlos,  es pues, el software que puede ser compartido abiertamente entre desarrolladores y usuarios finales de tal forma que todos aprendan de todos.

    6.2.7.2.                            Licencia GPL (General Public License)

    La licencia GPL se aplica al software de la FSF (Free Software Foundation) y el proyecto GNU y otorga al usuario la libertad de compartir el software y realizar cambios en él. Dicho de otra forma, el usuario tiene derecho a usar el programa, modificarlo y distribuir las versiones modificadas pero no tiene permiso de realizar restricciones propias con respecto a la utilización de ese programa modificado. La licencia GPL,   fue creada para mantener la libertad del software y evitar que alguien quisiera apropiarse de la autoría intelectual de un determinado programa. La licencia advierte que el software debe ser gratuito y que el paquete final,  también debe ser gratuito.

    6.2.8.                    El negocio basado en software libre

    Gran parte del Software Libre existente en la actualidad ha sido desarrollado por programadores durante su tiempo libre, o como parte de sus actividades académicas.

    Antecedentes:

    Grupos de desarrollo inicialmente informales y poco organizados, se han constituido en empresas debido al éxito de sus productos libres.

    Algunas empresas productoras o comercializadoras de software han comenzado a cambiar sus políticas  de desarrollo y distribución, utilizando licencias libres para sus productos.

    Otras empresas han tomado desarrollos libres (producidos por programadores independientes) para utilizarlos como base de sus soluciones, invirtiendo en su mejoramiento y brindando soporte a sus usuarios.

    6.2.9.                    Por qué elegir el modelo de software Libre?

    Básicamente son tres razones principales por las cuales una empresa podría inclinarse por este modelo:

    Al optar por el modelo de desarrollo y distribución libre, la empresa queda habilitada a utilizar la gran cantidad de herramientas libres disponibles en la actualidad. Esto no sólo implica la ejecución de dichas herramientas, sino también la modificación de las mismas para adaptarlas a casos particulares y la exploración de sus mecanismos de funcionamiento para luego reutilizarlos en futuros desarrollos. De esta forma se obtiene una ventaja significativa respecto de aquellas empresas que basan su negocio

    en el modelo propietario o cerrado, que no pueden utilizar esta base de                      

    herramientas y conocimiento.

    El liberar un programa facilita enormemente su distribución y publicidad. De esta manera no es necesario invertir enormes sumas de dinero en campañas publicitarias y en marketing para poder competir con productos establecidos en el mercado.

    Si el producto en cuestión tiene suficientes méritos técnicos, con seguridad despertará el interés de un gran número de desarrolladores, usuarios y otras empresas en todo el mundo, lo cuales comenzarán a contribuir en su desarrollo, extensión y depuración. Muchos son los casos en que pequeños emprendimientos han engendrado productos de gran nivel técnico y de una envergadura impensada.

    6.2.10.                 El Software Libre y la propiedad intelectual

    Muchos objetan, en contra del modelo de distribución libre, que el hecho de proveer el código fuente de los programas, autorizando su uso y redistribución, implica la pérdida de la propiedad intelectual. Esto posibilitaría a una empresa de mayor envergadura el tomar como propio dicho desarrollo, relegando a sus autores originales. A través de los treinta años de existencia de Software Libre, nunca se ha dado una situación como esta. Por el contrario, este tipo de problemas se ha planteado en innumerables oportunidades (muchas de las cuales han llegado a la justicia) en el mundo del Software Propietario. La razón por la cual los desarrolladores de un programa libre no pierden el control del mismo es muy simple: a sus usuarios y al resto de los programadores que contribuyen con el mismo no les conviene. Los autores originales son el factor aglutinante del proyecto.

    Ellos son quienes dirigen el rumbo del desarrollo, quienes recopilan los reportes de errores y los requerimientos de los usuarios, ellos reúnen los aportes y contribuciones de los demás desarrolladores. De esta forma, si la actitud de los líderes del proyecto es la adecuada, sus usuarios y colaboradores seguirán manteniéndolos como referentes. En virtud de esto, a una empresa que le interese incorporar dicho programa dentro de su oferta de

    productos le convendrá colaborar con el grupo de desarrollo existente (liderado por sus autores originales), antes que iniciar un proyecto paralelo.

    Por el contrario, si los desarrolladores iniciales por algún motivo pierden interés en el producto, la disponibilidad del código fuente y de la documentación del mismo posibilitará la creación de nuevos grupos

    6.3.             SOFTWARE  PROPIETARIO

    6.3.1.                    Modelo tradicional de desarrollo y distribución

    Cuando una empresa productora de software distribuye un producto de este tipo, solamente entrega al comprador una copia del programa ejecutable, junto con la autorización de ejecutar dicho programa en un número determinado de computadoras.

    En el contrato que suscriben ambas partes, comúnmente denominado "licencia" del producto, queda expresado claramente que lo que el cliente adquiere es simplemente la facultad de utilizar dicho programa en determinada cantidad de computadoras (dependiendo del monto que haya abonado). En este sentido, la licencia deja en claro que el programa sigue siendo propiedad de la empresa productora del mismo y que el usuario no está facultado a realizar ningún cambio en él.

    6.3.2.                    Dependencia de un proveedor

    Como  se dijo anteriormente, la corrección de errores o el agregado de nuevas funciones en un programa solamente puede hacerse si se dispone del código fuente. Es claro que, al ser la empresa proveedora la única que dispone de dicho código, sólo esta puede atender a los requerimientos de un cliente insatisfecho con el producto del cual ha adquirido una licencia de uso. Esto pone al usuario en una clara situación de dependencia del proveedor. Si el programa presenta algún defecto, éste debe aceptar las condiciones de la empresa productora del programa (en el supuesto caso de que dicha empresa reconozca el error y acceda a repararlo).

    6.3.3.                    Soporte

    En la mayoría de los casos, los programas propietarios de amplia difusión son producidos por empresas transnacionales, que cuentan con representantes o distribuidores en nuestro país. Uno de los argumentos más fuertes esgrimidos por dichas empresas a la hora de justificar el alto costo de las licencias, es la disponibilidad de soporte técnico especializado.

    Dicho servicio supondría un respaldo hacia el usuario, de cara a la solución de posibles problemas que pudieran presentarse en el uso del producto adquirido por este último. La realidad nos muestra que en la mayoría de los casos, todo lo que el usuario puede esperar del servicio de soporte técnico son instrucciones de instalación, configuración y uso.

     La reparación de errores detectados en el programa por lo general no está al alcance de quien brinda el soporte: una subsidiaria o un asociado a la empresa productora del software, que no dispone del código fuente del programa. Aún en el caso de poder reportar el fallo a los encargados del desarrollo del producto.

    6.4.             GENERALIDADES DE LAS BASES DE DATOS

    Este trabajo esta orientado al tema de base de datos, se da a conocer en el siguiente párrafo la  definición que mas  se ajusta de acuerdo a nuestro criterio.

    "Colección o depósito de datos integrados con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real; los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de éstas, y su definición y descripción, únicas para cada tipo de datos, han de estar almacenadas junto con los mismos. Los procedimientos de actualización y recuperación comunes y bien determinados, habrán de ser capaces de conservar la integridad   del conjunto de los datos"

    Entre las  muchas ventajas que existen, a continuación mencionamos algunas de ellas:

    • Disponibilidad

    Cuando se aplica la metodología de bases de datos, cada usuario ya no es propietario de los datos, puesto que éstos se comparten entre el conjunto de aplicaciones, existiendo una mejor disponibilidad de los datos para todos los que tienen necesidad de ellos, siempre que estén autorizados para su acceso. Una de las ventajas que ofrece  hoy en día las nuevas tecnologías de desarrollo es poder desarrollar aplicaciones cuyo objetivo es acceder a dicha información desde cualquier parte del mundo utilizando una red como Internet.

    • Facilidad de Uso

    Existen diferentes maneras de extraer la información almacenada en una base de datos, por ejemplo, un ingeniero lo puede realizar por medio de instrucciones SQL,  los  usuarios lo pueden realizar por medio de aplicaciones desarrolladas dentro de una organización o pueden extraer la información con herramientas que existen en el mercado, todo esto con dos valores agregados, Velocidad y precisión.

    • Coherencia  de los Resultados

    Debido a que la información de la base de datos se recoge y almacena una sola vez. En todos los programas se utilizan los mismos datos, por lo que los resultados de todos ellos son coherentes y perfectamente comparables.

    Además, al no existir (o al menos disminuir en gran medida) la redundancia en los datos, desaparece el inconveniente de las divergencias en los resultados debidos a actualizaciones no simultáneas en todos los ficheros.

    • d) Confidencialidad En El Manejo De Los Datos

    Toda la información puede estar centralizada en un solo punto y debidamente clasificada pudiendo acceder a ella dependiendo del  perfil con que se ingresa al sistema

    • Globalización de la información:

    Permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos.

    De la misma forma como se habla de ventajas también existen desventajas  o inconvenientes cuando se trata de  bases de datos, mencionaremos algunas de estas:

    a)    Instalación costosa

     La implantación de un sistema de bases de datos puede llevar consigo un costo elevado, tanto en equipo físico (nuevas instalaciones o ampliaciones), como en el lógico (sistemas operativos, programas, compiladores, etc… necesarios para su uso). Sin embargo, existen soluciones para reducir significativamente los costos.

     b)    Personal especializado

    Los conocimientos, que resultan imprescindibles para una utilización correcta y eficaz y sobre todo para la administración de las bases de datos, implican una necesidad de personal especializado que resulta difícil de encontrar, y de formar. El problema de la contratación y formación de este tipo de personal es clave a la hora de crear un sistema de base de datos.

    La implantación de un sistema de bases de datos, tanto por su costo en personal y en equipos como por el tiempo que tarda en  operar,  no resulta rentable a corto plazo. Puede calcularse que para un sistema de dimensiones medias,  la rentabilidad sólo puede empezar a apreciarse después de bastantes meses de la iniciación de los trabajos; en instalaciones grandes o muy grandes el plazo puede llegar a ser de años.

    Durante el trabajo vamos a encontrar  un termino que se mencionara en varios apartes, y es el sistema de gestión de bases de datos  (SGBD o DBMS),  es conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.

    Las funciones  de un SGBD son:

    • Un SGBD debe proporcionar a los usuarios la capacidad de almacenar datos en la base de datos, acceder a ellos y actualizarlos. Esta es la función fundamental de un SGBD.
    • Un SGBD debe proporcionar un catálogo en el que se almacenan las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos de la base de datos (meta datos). Normalmente, un diccionario de datos almacena:

    ·         Nombre, tipo y tamaño de los datos.

    ·         Nombre de las relaciones entre los datos.

    ·         Restricciones de integridad sobre los datos.

    ·         Nombre de los usuarios autorizados a acceder a la base de datos.

    ·         Esquemas externos, conceptuales e internos, y correspondencia entre los esquemas.

    ·         Estadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos.

    Algunos de los beneficios que reporta el diccionario de datos son los siguientes:

    ·         La información sobre los datos se puede almacenar de un modo centralizado. Esto ayuda a mantener el control sobre los datos, como un recurso que son.

    ·         El significado de los datos se puede definir, lo que ayudará a los usuarios a entender el propósito de los mismos.

    ·         La comunicación se simplifica ya que se almacena el significado exacto. El diccionario de datos también puede identificar al usuario o usuarios que poseen los datos o que los acceden.

    ·         Las redundancias y las inconsistencias se pueden identificar más fácilmente ya que los datos están centralizados.

    ·         Se puede tener un historial de los cambios realizados sobre la base de datos.

    ·         El impacto que puede producir un cambio se puede determinar antes de que sea implementado, ya que el diccionario de datos mantiene información sobre cada tipo de dato, todas sus relaciones y todos sus usuarios.

    ·         Se puede hacer respetar la seguridad.

    ·         Se puede garantizar la integridad.

    ·         Se puede proporcionar información para auditorias.

    • Un SGBD debe proporcionar un mecanismo que garantice que todas las actualizaciones correspondientes a una determinada transacción se realicen, o que no se realice ninguna. Una transacción es un conjunto de acciones que cambian el contenido de la base de datos.
    • Un SGBD debe proporcionar un mecanismo que asegure que la base de datos se actualice correctamente cuando varios usuarios la están actualizando concurrentemente. Uno de los principales objetivos de los SGBD es el permitir que varios usuarios tengan acceso concurrente a los datos que comparten. El acceso concurrente es relativamente fácil de gestionar si todos los usuarios se dedican a leer datos, ya que no pueden interferir unos con otros. Sin embargo, cuando dos o más usuarios están accediendo a la base de datos y al menos uno de ellos está actualizando datos, pueden interferir de modo que se produzcan inconsistencias en la base de datos. El SGBD se debe encargar de que estas interferencias no se produzcan en el acceso simultáneo.
    • Un SGBD debe proporcionar un mecanismo capaz de recuperar la base de datos en caso de que ocurra algún suceso que la dañe llevándola a un estado consistente.
    • Un SGBD debe proporcionar un mecanismo que garantice que sólo los usuarios autorizados pueden acceder a la base de datos. La protección debe ser contra accesos no autorizados, tanto intencionados como accidentales.
    • Un SGBD debe ser capaz de integrarse con algún software de comunicación. Muchos usuarios acceden a la base de datos desde terminales. En ocasiones estos terminales se encuentran conectados directamente a la máquina sobre la que funciona el SGBD. En otras ocasiones los terminales están en lugares remotos, por lo que la comunicación con la máquina que alberga al SGBD se debe hacer a través de una red. En cualquiera de los dos casos, el SGBD recibe peticiones en forma de mensajes y responde de modo similar. Todas estas transmisiones de mensajes las maneja el gestor de comunicaciones de datos. Aunque este gestor no forma parte del SGBD, es necesario que el SGBD se pueda integrar con él para que el sistema sea comercialmente viable.
    • Un SGBD debe proporcionar los medios necesarios para garantizar que tanto los datos de la base de datos, como los cambios que se realizan sobre estos datos, sigan ciertas reglas. La integridad de la base de datos requiere la validez y consistencia de los datos almacenados. Se puede considerar como otro modo de proteger la base de datos, pero además de tener que ver con la seguridad, tiene otras implicaciones. La integridad se ocupa de la calidad de los datos. Normalmente se expresa mediante restricciones, que son una serie de reglas que la base de datos no puede violar.
    • Un SGBD debe proporcionar una serie de herramientas que permitan administrar la base de datos de modo efectivo.  Dichas herramientas deben proporcionar.

    ·   Herramienta administración de usuarios

    ·   Analizador de logs

    ·   Administrador de procesos

    ·   Herramientas para importar y exportar datos.

    ·   Herramientas para monitorizar el uso y el funcionamiento de la base de datos.

    ·   Programas de análisis estadístico para examinar las prestaciones o las estadísticas de utilización.

    ·   Herramientas para reorganización de índices.

    6.5.             DIFERENTES SISTEMAS  DE GESTIÓN DE BASES DE DATOS 

    Rapidez,  efectividad en los procesos y los grandes flujos de información están como  primera  necesidad  la hora de optimizar servicios y productos. Ante esta notable demanda de soluciones informáticas han surgido multitud de gestores de bases de datos, siendo estos  programas que permiten manejar la información de modo sencillo y que prestan servicios para el desarrollo y el manejo de bases de datos.

    Con la salida al mercado de múltiples entornos de desarrollo la preocupación están  en  conocer las características, ventajas y desventajas de cada herramienta que ofrece el mercado, y para el caso especifico del desarrollo de este  trabajo  damos a conocer características  generales de  los productos que más se destacan  como son Oracle, Microsoft SQL Server y Borland Interbase que comercialmente son los más fuertes, sin embargo en el mundo del software libre,  se aprecian opciones tan completas como MySQL,  y postgreSQ,  para  el  desarrollo del presente trabajo se mencionaran algunas de las características de los diferentes manejadores de base de datos antes mencionados,  haciendo mayor énfasis en SQL SERVER Y My SQL  SERVER,    las  razones están mencionadas  en el numeral 7.

    6.5.1.                     Software bajo licenciamiento  libre  

    6.5.1.1.                            Postgresql  

    PostgreSQL se diseño como una base de datos orientada a objetos, es decir, una ORDBMS. Esto significa, que las tablas no son tablas, sino objetos, y las tuplas son instancias de ese objeto. Puedes crear nuevos tipos de datos, hacer herencias entre objetos, PostgreSQL tiene  transacciones, integridad referencial, vistas, y multitud de funcionalidades, pero es lento y pesado.

    Han incorporado la llamada MVCC (multiversion concurrency control) con lo que los bloqueos de escritura actúan sólo en la sesión del cliente, no en las de los demás clientes. También tiene soporte de Full-Text-indexing a través de un trigger incluido en la distribución, han arreglado el límite de 8k por fila. Por fin es de 32k, Postgres usa un modelo cliente-servidor conocido como proceso por usuario una sesión de postgres consiste en los siguientes procesos cooperativos de Unix (programas):

    ·         Un proceso demonio supervisor (postmaster)

    ·         La aplicación sobre la que trabaja el usuario (frontend, Ej.: psl)

    ·         Uno o más servidores de base de datos en segundo plano(el mismo progreso postgres)

    Un Único postmaster controla una colección de bases de datos dadas en un Único host, debido a esto una colección de base de datos se suele llamar una instalación o un sitio,  las aplicaciones de frontend que quieren acceder a una determinada base de datos de una instalación hacen llamadas a la librería. La librería envía peticiones de usuario a través del postmaster (como se establece una conexión), el cual en respuesta inicia un nuevo proceso en el servidor (backend) y conecta el proceso de frontend al nuevo servidor. A partir de este punto, el proceso de frontend y el servidor en backend se comunican sin la intervención del postmaster. Aunque, el postmaster siempre se esta ejecutando, esperando peticiones, tanto de frontend como los de backend vienen y se van.

    La librería libpq permite a un Único proceso en frontend realizar múltiples conexiones a procesos en backend. Aunque, la aplicación frontend todavía es un proceso en un Único thread. Conexiones multithread entre el frontend y el backend no están soportadas de momento en libpq. Una implicación de esta arquitectura es que el postmaster y el backend siempre se ejecutan en la misma maquina (el servidor de base de datos), mientras que la aplicación en frontend puede aplicarse desde cualquier sitio.

    Al configurar un apache con PHP4 con soporte para PostgreSQL obtenemos algunos resultados importantes: Apache crea nuevas instancias cada vez que recibe nuevos clientes. Cada instancia de apache puede soportar varios clientes http (150 por defecto).

    Pero el apache, para cada cliente que pide una página dinámica, que requiere un acceso a la base de datos, tiene que abrir conexión con el PostgreSQL. Al no ser Multithreading, el PostgreSQL crea una nueva instancia,  siendo  las consultas lentas y se acumulan rápidamente las instancias del postmaster. Llegando rápidamente al límite de procesos (32 por defecto) produciéndose un error en la página generada, podemos subir el límite de instancias de PostgreSQL a 1024.

    Pero entonces nos falla el límite de los files handles abiertos (los threads comparten los files handles dentro un proceso, pero los procesos no), el límite de handles por usuario (el daemon del PostgreSQL, corre bajo el usuario postgres esta limitado en el kernel, con lo que tienes que recompilar el kernel.

    Después te encuentras que falla el límite de semáforos del PostgreSQL, teniendo que recompilar el PostgreSQL. Además tienes que controlar los ficheros de configuración del apache para bajar el número de clientes atendidos por instancia y así controlar el número de instancias de PostgreSQL que se puedan generar debido a la gran cantidad de recursos que ocupan.

    6.5.1.2.                             Mysql Server

    MySQL  Server es la base de datos de código fuente abierto más usada del mundo desarrollado y proporcionado por MySQL AB.  MySQL AB es una empresa cuyo negocio consiste en proporcionar servicios en torno al servidor de bases de datos MySQL.

    Su origen se debió a la búsqueda por parte de los fundadores de crear un manejador de bases de datos que fuera "rápido", todavía más rápido que mSQL. Así surgió MySQL, primero como un producto de la empresa y después como software de dominio público.

    El servidor MySQL fue desarrollado originalmente para manejar grandes bases de datos mucho más rápido que las soluciones existentes y ha estado siendo usado exitosamente en ambientes de producción sumamente exigentes por varios años. Aunque se encuentra en desarrollo constante, el servidor MySQL ofrece hoy un conjunto rico y útil de funciones. Su conectividad, velocidad, y seguridad hacen de MySQL un servidor bastante apropiado para acceder a bases de datos en Internet.

    6.5.1.2.1 Características Principales de Mysql

    A continuación  se mencionan algunas de las más importantes características del SGBD:

    ·         Escrito en  C y C++

    ·         Trabaja bajo diferentes plataformas:  AIX 4x 5x, Amiga, BSDI,  Digital Unix 4x, FreeBSD 2x 3x 4x, HP-UX 10.20 11x, Linux 2x, Mac OS,  NetBSD, Novell NetWare 6.0 , OpenBSD 2.5, OS/2, SCO OpenServer, SCO UnixWare 7.1.x, SGI Irix 6.x, Solaris 2.5, SunOS 4.x, Tru64 Unix y Windows 9x, Me, NT, 2000, XP, 2003

    ·         Desarrollo de APIs  para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl

    ·         Procesos MultiHilo. Capacidad de trabajar servidores con varios procesadores

    ·         Provee sistema transaccional con la tabla Innodb

    ·         Velocidad cuando se manipula datos con el tipo de tabla Myisam

    ·         Velocidad en la utilización de joins y procesos de optimización

    ·         Soporta muchos tipos de columnas para las tablas: FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM y  OpenGIS (Modelo Geométrico)

    ·         Manejo de la memoria a través de  manejo del buffer y cache

     

    6.5.1.2.2 Tipos de Tablas en Mysql Server

    Mysql Server, cuenta con una variedad de tipos de tablas para el almacenamiento de la información, dependiendo de las necesidades y cantidades de información que una organización puede tener, se elige el tipo de tabla con la que más se acople.  En una  sola base de datos es posible tener diferentes tipos de tablas. Con MySQL existe la posibilidad de  variar el tipo de tabla después  de ser creada.  La estructura de la tabla que se crea,  es guardada en un archivo  con el nombre de la tabla y extensión  frm.  El archivo de indixes tiene la extensión .MYI

    Actualmente existen 16 tipos de tablas, a continuación se mencionan las más representativas.

    MYISAM.- Es el tipo de tabla por defecto en MySQL desde la versión 3.23.  y hasta la versión 4. Optimizada para sistemas operativos de 64 bits, Además los datos se almacenan en un formato independiente, con lo que se pueden copiar tablas de una máquina a otra de distinta plataforma. Posibilidad de indexar campos BLOB y TEXT. Su mayor característica es la velocidad. La información de esta tabla queda almacenada en un archivo con la extensión MYD

    INNODB.-  Es el tiplo de tabla por defecto después de la versión 4 Este tipo de tabla  maneja  transacciones seguras  con posibilidad de commit, rollback, recuperación de errores y bloqueo a nivel de fila.  son menos rápidas y ocupan más memoria, pero a cambio ofrecen mayor seguridad frente a fallos durante la consulta. La información de esta tabla queda almacenada en un archivo con la extensión IDB

    ·         MEMORY – La estructura  de estas tablas son almacenadas en disco en un archivo con extensión .frm  usando por defecto  indexación hash Estas tablas pueden ser muy rápido y muy utilizadas  como tablas temporales. Sin embargo, cuando el servidor Mysql Server es reiniciado, toda la información de las tablas se pierde quedando solamente la estructura. Este tipo de tablas no soportan columnas tipo blob o Text. Antes de la versión 4.1.0. no soportan auto_increment. Si se desea liberar memoria con este tipo de tablas solo se debe eliminar la información de la tabla con un delete o truncate  o un drop tabla

    ·         HEAP.- Crea tablas en memoria. Son temporales y desaparecen cuando el servidor se cierra; a diferencia de una tabla TEMPORARY, que solo puede ser accedida por el usuario que la crea, una tabla HEAP puede ser utilizada por diversos usuarios.

    ·         MERGE- también conocida como MRG_ISAM,  más que un tipo de tabla es la posibilidad de dividir tablas MYISAM de gran tamaño (solo útil si son verdaderamente de GRAN tamaño) y hacer consultas sobre todas ellas con mayor rapidez. Las tablas deben ser MyIsam e idénticas en su estructura.  Luego de esto se crea la tabla tipo MERGE haciendo relación a las tablas creadas con la misma estructura La información de esta tabla queda almacenada en un archivo con la extensión MRG

    ·         NDBCLUSTER -  Este tipo de tabla es para el manejo de cluster en Mysql Server  , en este momento es soportado por sistemas operativos como  Linux, Mac OS X, y Solaris. Están trabajando para que quede habilitado en todos los sistemas operativos, incluyendo Windows. Este tipo de tabla es soportado desde Mysql 4.1.2.

    ·         CSV -  Este tipo de tabla fue adicionada desde la versión 4.1.4, almacena la información en un archivo de texto separada por comas y encerrada en comillas dobles. Cuando se crea una tabla de tipo Csv, se crea dos archivos, uno con extensión .frm  donde almacena la estructura de la tabla y otro .csv donde reposa la información. Este tipo de tabla no soporta indexación. La información de esta tabla queda almacenada en un archivo con la extensión CSV

    ·         ARCHIVE -  Este tipo de tabla fue adicionada a partir de la versión 4.1.3 y es usada para almacenar  información  sin ningún tipo de indexación, cuando se crea una tabla de este tipo, Mysql Server crea un archivo con la extensión .frm donde almacena la estructura de la tabla  y otros archivos con la extensión .arz, .arm ,  y .arn.   Este tipo de tabla soporta únicamente  insert y select .

    Con tablas tipo Myisam  se puede trabajar hasta  8   terabytes, mientas que con tablas tipo Innodb la capacidad máxima de almacenamiento es de 64 terabytes, cuando  se trabaja  con altos volúmenes de información es importante tener presente el limite en tamaño para un archivo que soporta el sistema operativo.

     En la siguiente tabla se muestra el límite de tamaño  que soporta un archivo para algunos sistemas operativos

     

     

    Partes: 1, 2, 3
    Página siguiente