- Objetivos
- Justificación
- Alcances
- Limitaciones
- Marco referencial del
proyecto - Sistemas de
gestión de bases de datos a
comparar - Metodología
- Estrategia
de comunicación - Programación
- Recursos
- Presupuesto
- Conclusiones
- Bibliografía
- Anexos
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
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
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.
·
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
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.
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.
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
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.
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.
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.
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 | Donde se | |
Sistema operativo –Suse Linux
| Novell.
| Suse 9.1 Personal; Suse 9.1 Professional; Suse
| Compite con Windows de Microsoft. Es un sistema operativo
| les sirve a empresas de cualquier tamaño.
| Novell de Colombia (www.novell.com/es-es).
| |
Base de Datos MySQL
| MySQL AB (http://www.mysql.com/ | MySQL Pro; MySQL | es la base de datos relacional de código
| Tipo de cliente: empresas que necesitan aumentar
| – Detalles: – – Dónde se consigue: Pulxar
| |
Sistema de Red – | Samba Team (http://www.samba.org/ | Samba 2.2 y Samba 3.0.
| Es un sistema de red que permite a varios | Empresas que no tienen cómo pagar una
| ||
Servidor Web- Apache | Apache Software Foundation (http://www.apache.org/). | 2.0.
| programa que administra servidores para alojar | compañías que administran uno o
| apache.uniandes.edu.co. | |
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).
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.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).
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.
- Falta de rentabilidad
a corto plazo:
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
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.
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
Página siguiente |