Sie sind auf Seite 1von 31

INDICE

Introduccion Rendimiento Licenciaminto Caracteristicas de MYSQL Hardware, software y redes Requisitos de Software Especficos. instalacion y descarga de MYSQL Ventajas y desventajas Conclucion Bibliografia

1 2 5 8 12 15 19 28 30 30

INTRODUCCION

Cuando nos vemos enfrentados a implementar un SGBD, es muy importante conocer variados aspectos antes de elegir cual. Se debe tener muy claro las caractersticas principales de este, costos, requerimientos de Hardware y Software, etc.- adems es importante saber con que tecnologas se cuenta y si es posible reutilizar. Este conocimiento nos permitir evitar de alguna forma problemas en el rendimiento a futuro y saber los lmites de nuestra base de datos, lo cual podra llegar a significar grandes inconvenientes, lo que siempre se traducir en gastos de todo tipo. Bueno, en esta ocasin hablaremos del SGBD MySQL e indicaremos algunos de estos problemas que comnmente suelen ocurrir cuando llegue el momento de implementar nuestro SGBD. Adems mencionaremos sus principales caractersticas, datos sobre el licenciamiento y los requisitos ms necesarios de Hardware y Software para su funcionamiento exitoso.-

Rendimiento EI rendimiento es un factor crtico para este tipo de aplicaciones, y resulta un elemento clave a tener en cuenta a la hora de implantar SGBD temporales, ya que se trata de bases de datos muy grandes. Algunos sistemas proponen almacenar de forma separada los datos histricos (que crecen continuamente) de los datos actuales (de tamao estable). Por otro lado hay que tener en cuenta que los temporales son ms difciles de optimizar. Tambin se ha investigado sobre combinaciones temporales (time-equijon, event-join, contain-join, temporal natural join, etc.). Un trabajo muy importante para mejorar el rendimiento de bases de datos temporales ha consistido en el desarrollo de nuevas tcnicas de indizacin: Appendonly tree, Checkpoint Index Monotonic B tree, time-Split B-Tree, Mixed Media R-Tree, time Index, SR-Tree, etc. Cada vez aparecen con ms frecuencia nuevos tipos de aplicaciones que sobrepasan los lmites de los SGBD actuales y que empujan a los investigadores y a los fabricantes a concebir nuevos tipos de sistemas de gestin de bases de datos. En cuanto al soporte de bases de datos muy grandes, parece que la solucin ms viable para obtener tiempos de respuesta aceptables la constituyen los SGBD paralelos, que ya llevan algunos aos en el mercado. Por otra parte, existen bases de datos como las de tiempo real en las que se sacrifica la mxima utilizacin de recursos (que se busca en los sistemas tradicionales) por una ejecucin oportuna. En este tipo de sistemas la medida del rendimiento no es el tiempo de respuesta, sino ms bien el porcentaje de transacciones que terminan dentro del plazo de tiempo. En estos dos tipos de SGBD as como en las bases de datos en memoria principal, la interaccin con el sistema operativo es muy importante ya que se precisa una buena coordinacin entre ambos tipos de sistemas.
3

El DBA debe asegurar que el rendimiento del SGBD sea el apropiado para satisfacer los requisitos de los usuarios. El rendimiento del SGBD se puede medir utilizando tres indicadores: La velocidad de respuesta de las transacciones. Es el rendimiento percibido por los usuarios. La productividad del SGBD . | El nmero de transacciones por segundo ejecutadas por el SGBD. La utilizacin de los recursos . Especialmente la capacidad de almacenamiento de los discos. El primer factor en el rendimiento de una BD es su diseo. Un buen diseo de la BD y de las aplicaciones permite obtener un buen rendimiento del SGBD. Ahorrar esfuerzo (= dinero y dedicacin) a la hora de analizar, disear e implementar una aplicacin, provoca problemas de rendimiento, entre otros. Por esto es muy importante que a la hora de disear un nuevo sistema se tengan en cuenta los siguientes criterios: - Definir las necesidades de servicio que tendrn las aplicaciones. - Hacer un anlisis correcto de los datos y como sern accedidos. - Desarrollar un cdigo de acceso a la BD eficiente. La optimizacin de los elementos de un SGBD es un factor prioritario en su rendimiento. La optimizacin se puede conseguir: El uso de ndices. La consulta a las tablas puede acelerarse utilizando ndices para las columnas utilizadas en las operaciones selecciones y join. El uso de los ndices acelera las operaciones de consulta, pero no perjudica la velocidad de las operaciones de modificacin y borrado. No se deben indexar columnas muy voltiles o con poca variedad de valores ni tablas con pocas filas. El diseo de las consultas pueden invalidar el uso del ndice. Por ejemplo, los optimizadores no utilizan los ndices en columnas usadas en operaciones aritmticas, con operaciones con null o en consultas anidadas. La organizacin fsica de los datos.

Se pueden configurar el tamao de los bloques en disco o reubicar los segmentos. Los elementos que se acceden de forma simultnea deben estar en dispositivos separados, para permitir la simultaneidad. La red de comunicaciones . En la actualidad, con las bases de datos distribuidas y con la arquitectura de aplicaciones de dos y tres capas, el rendimiento de las comunicaciones afectan directamente al rendimiento del SGBD. El modelo de datos fsico. Hay casos que conviene desnormalizar el diseo de las bases de datos para ganar en rendimiento. Por ejemplo: Guardando datos calculados, cuando su clculo supone mucho tiempo.

LICENCIAMIENTO Para la Utilizacin de MYSQL, en la aplicacin de bases de datos existen dos tipos de licenciamiento, uno que est bajo GNU GPL de MySQL obliga a que la distribucin de cualquier producto derivado (aplicacin), se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL , puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso. Licencia Publica General GNU, pero no es totalmente hostil al "payware" (software comercial) ya que hay una licencia comercial disponible para aquellos que quieran distribuir aplicaciones no GPL que requieran MySQL. Para saber si tiene que adquirir licencias para aplicaciones no GPL, las palabras clave son "distribuir" y "requerir". Lo opuesto de "distribuir" es "uso interno". La idea de uso interno es que uno use una aplicacin slo "para s mismo", no dndosela a otros. Por ejemplo, si usted usa MySQL para desarrollo de software, se considera uso interno independientemente de si planea vender ese software o no (cuando usted distribuya ese software, ser otra historia, pero para usted seguir siendo uso interno). El mismo principio se aplica por ejemplo a una compaa que usa MySQL como servidor de bases de datos y puede desarrollar aplicaciones que requieran MySQL sin tener que
5

publicar esas aplicaciones bajo los trminos de la GPL, siempre y cuando no distribuyan esas aplicaciones (es decir, siempre y cuando las usen "para ellos mismos"). Tambin se considera uso interno si una compaa o alguien contrata un desarrollador de software para hacer una aplicacin a medida pensada para uso interno, y consecuentemente estas aplicaciones no deben necesariamente ser GPL. Esto es importante para aquellos desarrolladores de software que desarrollan soluciones de software (lase aplicaciones a medida) porque no tienen que pagar una licencia o verse forzados a distribuir sus aplicaciones como GPL. La escena cambia cuando pretende vender la misma aplicacin a ms de un cliente o darla como freeware. Eso se llama "distribucin" y consiguie ntemente deber ya sea distribuir la aplicacin bajo los trminos de la GPL o bien pagar la licencia comercial de MySQL. La nica forma de evitar estas dos opciones para distribuir una aplicacin es desarrollndola de tal manera que no "requiera" MySQL. Una aplicacin no requiere MySQL si es capaz de realizar las mismas cosas sin MySQL (por ejemplo si puede alternativamente usar otro servidor de bases de datos).

LICENCIA COMERCIAL Para poder distribuir aplicaciones no GPL que requieran MySQL deber adquirir una licencia comercial por cada aplicacin y mquina servidora corriendo MySQL. Por ejemplo, si vende 100 licencias de una aplicacin "A" y 50 licencias de una aplicacin "B" al mismo cliente, para ser usadas en una red donde sus aplicaciones usarn 10 servidores MySQL corriendo en la misma mquina, entonces deber comprar slo dos (2) licencias para poder vender sus aplicaciones a este cliente porque slo hay una mquina servidora (sin importar cuntos servidores MySQL corran en ella) y dos aplicaciones (sin importar cuntas licencias venda de cada una), as que slo hay dos combinaciones "aplicacin-servidor" (y consiguientemente se necesitan dos licencias): Aplicacin "A" - Servidor 1 , Aplicacin "B" - Servidor 1 Si vende 100 licencias de una aplicacin "A" y 50 licencias de una aplicacin "B" al mismo cliente, para ser usadas en una red donde sus aplicaciones "A" usarn un servidor MySQL corriendo en una mquina, y sus aplicaciones "B" usarn ese servidor (u otro servidor MySQL corriendo en esa misma mquina) y adems otro servidor en otra mquina, entonces deber comprar tres licencias para poder vender sus aplicaciones a este cliente porque slo hay tres combinaciones "aplicacinservidor": Aplicacin "A" - Servidor 1, Aplicacin "B" - Servidor 1 , Aplicacin "B" - Servidor 2
6

La licencia tiene un valor unitario de $200 (USD), y puede comprar muchas licencias antes de usarlas para sacar partido de importantes descuentos. Para los desarrolladores de software libre de cdigo abierto ("software libre"), las aplicaciones bajo la licencia GPL que deseen combinar y distribuir las aplicaciones de software libre con el software MySQL, el software de Oracle MySQL de cdigo abierto licenciado bajo la GPL es la mejor opcin. Para los desarrolladores y distribuidores de software de cdigo abierto bajo una licencia de software libre que no sea la GPL, Oracle hace que sus licencia GPL bibliotecas cliente de MySQL est disponible bajo una excepcin de software libre que permite el uso de las bibliotecas de cliente MySQL aquellos bajo ciertas condiciones sin que el trabajo derivado de todo el estar sujeto a la GPL. Excepcin de licencia (antes conocida como la excepcin de licencia de software libre) permite a los desarrolladores de aplicaciones de software libre para incluir bibliotecas de Oracle MySQL Client (tambin conocido como "motores de MySQL" o "conectores de MySQL") con su aplicaciones de software libre. Las bibliotecas cliente de MySQL se suelen licencia de conformidad con la versin 2 de la Licencia Pblica General (GPL ), pero esta excepcin permite la distribucin de ciertas bibliotecas cliente de MySQL con aplicaciones de software libre de un desarrollador con licencia bajo los trminos de otra licencia de software libre se enumeran a continuacin, a pesar de que tales otra licencia de software libre puede ser incompatible con la GPL. cuando se le requiere para comprar una licencia comercial? Es muy simple: cuando se quiere hacer algo con MySQL que la GPL no permite. La GPL le permite manejar un negocio con fines de lucro en MySQL. La licencia GPL permite modificar el cdigo fuente de MySQL en la forma que desee. La GPL le permite vender MySQL. La licencia GPL permite la redistribucin de MySQL. La GPL le permite redistribuir las modificaciones de MySQL. Y usted no tiene que pedirle permiso a nadie, ni pagarle a nadie por el derecho a hacer esto. Est usted sorprendido? Usted no debe ser. Lo anterior viene con algunas restricciones, pero esas restricciones son (en trminos generales) slo le impide hacer el software menos libre. As, por ejemplo, si usted vende o redistribuir, usted tiene que hacerlo bajo la licencia GPL tambin. No se puede quitar la licencia GPL o parte de gravar el software y luego pasar a una versin menos libre del software a los dems. Aqu hay algunas cosas que la GPL no requiere:
7

La GPL no es necesario redistribuir las modificaciones a MySQL. La GPL no requiere de licencia GPL el software que simplemente se conecta a MySQL. La GPL no requiere de licencia GPL todo el software en su empresa. As que si tienes que comprar una licencia comercial para las cosas de la GPL no permite, qu es eso? Aqu hay un par de escenarios que puedo imaginar. Es necesaria una licencia comercial si desea modificar y redistribuir MySQL el resultado como el software no libre. Es necesaria una licencia comercial si desea incrustar MySQL dentro de su programa de no-Libre. Ntese que embed no es lo mismo que "hacer una conexin a". Ya que estas cosas no se permiten bajo la GPL, usted necesita comprar el derecho de usar el cdigo fuente de MySQL bajo una licencia no-GPL. Ah es donde la concesin de licencias de doble entra en juego MySQL es muy cuidadoso en sus materiales de marketing.

La Licencia Pblica General de GNU o ms conocida por su nombre en ingls GNU General Public License o simplemente sus siglas del ingls GNU GPL

Caractersticas de MySQL Inicialmente, MySQL careca de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de pginas web con contenido dinmico, justamente por su simplicidad. Poco a poco los elementos de los que careca MySQL estn siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las caractersticas disponibles en las ltimas versiones se puede destacar:
-

Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. Disponibilidad en gran cantidad de plataformas y sistemas. Posibilidad de seleccin de mecanismos de almacenamiento que ofrecen diferente velocidad de operacin, soporte fsico, capacidad, distribucin geogrfica, transacciones. Transacciones y claves forneas.
8

MySQL es un sistema Cliente/Servidor que consta de un servidor SQL multihilo que soporta diferentes backends, variados programas cliente y de libreras, administrador de herramientas y un programa de interface. MySQL es contribucin para muchos de los software disponibles, es probable que se encuentre en diversas aplicaciones ya Soportan MySQL. Los valores centrales de MySQL son : -

La mejor y ms usada base de datos en el mundo. Disponible y Accesible para todos Fcil de usar Se est perfeccionando continuamente mientras permanece rpida y segura. Divertida para usar y perfeccionar. Libre de molestias.

CARACTERISTICAS PRINCIPALES DE MYSQL. Dentro de las caractersticas ms importantes de MySQL se encuentran:


-

Est escrito en C y C++, testado con GCC 2.7.2.1. Usa GNU autoconf para portabilidad. Clientes C, C++, Eiffel, PHP, Python, JAVA, Perl, TCL. Es multiproceso, es decir puede usar varias CPU si stas estn disponibles. Puede trabajar en distintas plataformas y S.O. distintos. Utiliza un sistema de contraseas y privilegios muy flexibles y seguros. Todas las palabras de paso viajan encriptadas en la red. Registros de longitud fija y variable.

Forma 16 ndices por tabla, cada ndice puede estar compuesto de 1 a 15 Columnas o partes de ellas con una longitud mxima de 127 bytes. Todas las columnas pueden tener valores por defecto. Utilidad Isamchk para chequear, optimizar y reparar tablas. Todos los datos estn grabados en formato ISO8859_1. Los clientes usan TCP o UNIX Socket para conectarse al servidor. Todos los comandos tienen -help o -? Para las ayudas. Soporta diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, coma, flotante, doble precisin, carcter, fechas, enumerados, etc. ODBC para Windows 95 (con fuentes), se puede utilizar ACCESS para Conectar con el servidor. Muy rpida usando joins, optimizada para un barrido multi-joins. Todas las funciones y operadores soportan en el SELECT y WHERE como partes de consultas.

Seguridad Un sistema de privilegios y contraseas que es muy flexible y seguro, y que permite verificacin basada en el Host. Las contraseas son seguras porque todo el trfico de contraseas est cifrado cuando se conecta con un servidor. Escalabilidad y lmites Soporte a grandes bases de datos. Usamos MySQL Server con bases de datos que contienen 50 millones de registros. Tambin conocemos a usuarios que usan MySQL Server con 60.000 tablas y cerca de 5.000.000.000.000 de registros. Se permiten hasta 64 ndices por tabla (32 antes de MySQL 4.1.2). Cada ndice puede consistir desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son 1000 bytes

10

(500 antes de MySQL 4.1.2).Un ndice puede usar prefijos de una columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT. Conectividad Los clientes pueden conectar con el servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows de la familia NT (NT,2000,XP, o 2003), los clientes pueden usar named pipes para la conexin. En sistemas Unix, los clientes pueden conectar usando ficheros socket Unix. En MySQL 5.0, los servidores Windows soportan conexiones con memoria compartida si se inicializan con la opcin --shared-memory. Los clientes pueden conectar a travs de memoria compartida usando la opcin --protocol=memory. La interfaz para el conector ODBC (MyODBC) proporciona a MySQL soporte para programas clientes que usen conexiones ODBC puede usar MS Access para conectar al servidor MySQL. Los clientes pueden ejecutarse en Windows o Unix. El cdigo fuente de MyODBC est disponible. Todas las funciones para ODBC 2.5 estn soportadas, as como muchas otras. La interfaz para el conector J MySQL proporciona soporte para clientes Java que usen conexiones JDBC. Estos clientes pueden ejecutarse en Windows o Unix. El cdigo fuente para el conector J est disponible. Localizacin El servidor puede proporcionar mensajes de error a los clientes en muchos idiomas. Soporte completo para distintos conjuntos de caracteres, incluyendo latin1 (ISO-8859-1), german, big5, ujis, y ms.Estn permitidos en nombres de tablas y columnas. El soporte para Unicode est disponible Todos los datos se guardan en el conjunto de caracteres elegido. Todas las comparaciones para columnas normales de cadenas de caracteres son case-insensitive. La ordenacin se realiza acorde al conjunto de caracteres elegido (usando colacin Sueca por defecto). Es posible cambiarla cuando arranca el servidor MySQL. Para ver un ejemplo de ordenacin muy avanzada, consulte el cdigo Checo de ordenacin. MySQL Server soporta diferentes conjuntos de caracteres que deben ser especificados en tiempo de compilacin y de ejecucin.

11

Clientes y herramientas MySQL Server tiene soporte para comandos SQL para chequear, optimizar, y reparar tablas. Estos comandos estn disponibles a travs de la lnea de comandos y el cliente mysqlcheck. MySQL tambin incluye myisamchk, una utilidad de lnea de comandos muy rpida para efectuar estas operaciones en tablas MyISAM. Todos los programas MySQL pueden invocarse con las opciones --help o -? para obtener asistencia en lnea. MySQL Administrador es el nuevo software de administracin de servidores de Bases de Datos de MySQL que ha creado MySQL AB. Se trata de un software multiplataforma, que por el momento se encuentra disponible para Linux y Microsoft Windows y que cuenta con un entorrno grfico de usuario muy intuitivo. Este nuevo producto suple las carencias que tiene MySQL Control Center en el rea de Administracin de servidores. MySQL Control Center ha quedado obsoleto y no sigue desarrollndose. Se ha sustituido por el conjunto de programas MySQL Administrador y MySQL Query Browser. MySQL Administrador es una herramienta que permite realizar tareas administrativas sobre servidores de MySQL incluyendo:

la configuracin de las opciones de inicio de los servidores inicio y detencin de servidores monitorizacin de conexiones al servidor administracin de usuarios monitorizacin del estado del servidor, incluyendo estadsticas de uso visualizacin de los logs de servidor gestin de copias de seguridad y recuperaciones visualizacin de catlogos de datos.

Una de las ventajas de MySQL cluster es que puede ejecutarse en hardware normal sin ningn requerimiento especial a parte de grandes cantidades de RAM, debido al hecho que todos los datos se almacenan en memoria

12

Hardware, software y redes Hardware. La principal ventaja de MySQL es que puede ejecutarse en hardware normal sin la necesidad de algun requerimiento especial a parte de grandes cantidades de RAM, debido a los datos se almacenan en memoria. Naturalmente, el uso de CPUs mltiples y ms rpidas mejoran el rendimiento. Los requerimientos de memoria para los procesos son relativamente pequeos. Software. Los requerimientos de software para el MySQL son simples. Los sistemas operativos de las mquinas no requieren ningn modulo no usual, servicios, aplicaciones o configuracin extraa para soportar MySQL. Para Mac OS X o Solaris, la instalacin estndar es suficiente. Para Linux, una instalacin estndar debe ser todo lo necesario. Los requerimientos del software MySQL es simple: todo lo necesario es una versin de produccin de MySQLmax 5.0 (actual).

Redes Para comunicacin entre nodos, el MySQL soporta red TCP/IP en cualquier topologa estndar, y como mnimo se espera una red 100 Mbps Ethernet , ms un switch, hub, o router para proporcionar conectividad de red loca. Recomendamos que MySQL se ejecute en su subred que no est compartida con mquinas no-cluster por las siguientes razones: Seguridad: La comunicacin entre nodos del cluster no estn cifradas. La nica forma de proteger transmisiones dentro de un MySQL es ejecutar su cluster en una red protegida. Si trata de usar MySQL Cluster para aplicaciones Web, el cluster debe residir detrs de un firewall y no en su DMZ o en otro lugar.

13

Eficiencia: Inicializar un MySQL Cluster en una red privada o protegida permite que el cluster haga uso exclusivo del ancho de banda entre mquinas del cluster. Usar un switch esparado para su MySQL Cluster no slo ayuda a protegerse de accesos no autorizados a los datos del clsuter, tambin asegura que los nodos del cluster estn protegidos de interferencias causadas por transmisiones entre otras mquinas en la red. Para mayor confianza puede usar switches duales y tarjetas duales para eliminar la red como punto nico de fallo; varios dispositivos soportan fallos para estos enlaces de comunicacin.

A modo de ejemplo Se pueden considerar los siguientes aspectos: 1. Preparamos 4 nodos, cada uno en mquinas separadas, y cada uno con direccin de red fija en una Ethernet: Nodo Nodo de administracin (MGM) Nodo MySQL server (SQL) Nodo de datos (NDBD) "A" Nodo de datos (NDBD) "B" Direccin IP 192.168.0.10 192.168.0.20 192.168.0.30 192.168.0.40

14

2. En este ejemplo consideramos direcciones IP numricas Sin embargo, si la

resolucin de DNS est disponible en su red, es posible usar nombres de equipos en lugar de direcciones IP al configurar. Se puede usar el fichero /etc/hosts o el equivalente en el sistema operativo para proporcionar significado al hacer la bsqueda de equipos si est disponible. 3. Cada equipo en nuestro escenario es un PC de sobremesa basado en Intel con una distribucin Linux genrica instalada en disco con una configuracin estndar, y ejecutando slo los servicios necesarios. El sistema operativo con un cliente de red TCP/IP estndar es suficiente. Para simplicidad, asumimos que el sistema de ficheros en todas las mquinas est configurado igual. En caso que no fuera as, necesita adaptar estas instrucciones. 4. Tarjetas 100 Mbps o 1 gigabit Ethernet estn instaladas en cada mquina, junto con sus drivers, y las cuatro mquinas estn conectadas via un elemento de red Ethernet como un switch. (Todas las mquinas deben usar tarjetas de red con la misma velocidad; esto es, las cuatro mquinas del cluster deben tener tarjetas 100 Mbps o las 4 mquinas deben tener tarjetas 1 Gbps.) MySQL Cluster funcionar en una red 100 Mbps ; sin embargo, gigabit Ethernet proporciona mejor rendimiento. Hay que considerar que MySQL no est diseado para una conectividad de red menor a 100 Mbps. Por esta razn (entre otras), intentar ejecutar un MySQL en una red pblica como Internet no funcionar y no est recomendado.
5. Para las bases de datos de prueba, usaremos la base de datos world disponible

para descarga en la web de MySQL AB. Como ocupa poco espacio, suponemos que cada mquina tiene 256 MB RAM, que debe ser suficiente para ejecutar el
15

sistema operativo, proceso NDB del equipo y (para los nodos de datos) almacenar la base de datos. Las instrucciones y procedimientos se adaptan tanto a Solaris como a Mac OS X.

Requisitos de Software Especficos. En la actualidad se utiliza GNU Autoconfig, de modo que es posible portar MySQL a todos los sistemas modernos que tengan un compilador de C++ y una implementacin funcional de subprocesos (threads) POSIX. (El soporte de subprocesos es necesario para el servidor. Para compilar nicamente el cdigo del cliente, no se requiere ms que el compilador de C++). Se especifica que Oracle desarrolla y utiliza el software ante todo en Linux (SuSE y Red Hat), FreeBSD, y Sun Solaris (en sus Versiones 8 y 9), MySQL ha sido compilado correctamente en las siguientes combinaciones de sistemas operativos y paquetes de subprocesos. AIX 4.x, 5.x con subprocesos nativos NetBSD 1.3/1.4 Intel y NetBSD 1.3 Alpha (requiere GNU make). Amiga. Novell NetWare 6.0. BSDI 2.x with con el paquete MIT- OpenBSD > 2.5 con subprocesos nativos. pthreads OpenBSD < 2.5 con el paquete MITpthreads. BSDI 3.0, 3.1 y 4.x con subprocesos OS/2 Warp 3, FixPack 29 y OS/2 Warp 4, nativos. FixPack 4 Digital Unix 4.x con subprocesos nativos. SCO OpenServer 5.0.X con una versin del paquete FSU Pthreads recientemente portada. FreeBSD 2.x con el paquete MIT- SCO UnixWare 7.1.x. pthreads. FreeBSD 3.x and 4.x con subprocesos SCO Openserver 6.0.x. nativos. FreeBSD 4.x con LinuxThreads Solaris 2.5 y posteriores con subprocesos nativos en SPARC y x86 HP-UX 10.20 con el paquete DCE threads SunOS 4.x con el paquete MIT-pthreads o MIT-pthreads package (Solaris) HP-UX 11.x con subprocesos nativos. SGI Irix 6.x con subprocesos nativos
16

Linux 2.0+ con LinuxThreads 0.7.1+ o Tru64 Unix. glibc 2.0.7+ para varias arquitecturas de CPU. Mac OS X. Windows 9x, Me, NT, 2000, XP, 2003 Hay factores que determinan si una plataforma est preparada para un servidor MySQL con alto volumen de carga y para misiones crticas. No todas las plataformas son igualmente aptas para ejecutar MySQL.

Estabilidad general de la biblioteca de subprocesos. Una plataforma puede tener una excelente reputacin en otras situaciones, pero MySQL es estable como lo sea la biblioteca de subprocesos que utiliza la plataforma, aun cuando cualquier otro aspecto sea perfecto. La capacidad del ncleo o kernel del sistema operativo y de la biblioteca de subprocesos para aprovechar sistemas de multiprocesamiento simtrico (SMP). En otras palabras, cuando un proceso crea un subproceso, ste debera poderse ejecutar en una CPU diferente a la del proceso original. La capacidad del ncleo o kernel del sistema operativo y de la biblioteca de subprocesos para ejecutar varios subprocesos que bloquean y liberan mutexes frecuentemente en una pequea regin crtica sin excesivos cambios de contexto. Si la implementacin de pthread_mutex_lock() es muy proclive a consumir tiempo de CPU, esto afectar en gran manera a MySQL. Si no se previene este problema, aadir ms CPUs har todava ms lento a MySQL. El rendimiento y la estabilidad general del sistema de ficheros. Si se emplean grandes tablas, la capacidad del sistema de ficheros para gestionar eficientemente archivos de gran tamao. El nivel de experiencia que los desarrolladores de MySQL AB posean sobre una determinada plataforma. Si la conocen bien, habilitan optimizaciones especficas y soluciones en tiempo de compilacin. Adems pueden proporcionar consejos sobre cmo configurar el sistema en forma ptima para MySQL. El volumen de pruebas realizadas por MySQL AB sobre configuraciones similares. La cantidad de usuarios que han ejecutado MySQL con xito en la misma plataforma y en configuraciones similares. Si este nmero es alto, las probabilidades de encontrar sorpresas especficas de la plataforma son mucho menores.

En base a estos criterios, las mejores plataformas para ejecutar MySQL en este momento son:
17

x86 con SuSE Linux (kernel versin 2.4 o 2.6), y ReiserFS (o cualquier distribucin de Linux similar) y SPARC con Solaris (2.7.9). FreeBSD se espera que se integre al lote principal cuando se mejore la biblioteca de subprocesos. Dimensiones mximas de las tablas MySQL En MySQL 5.0 proporciona un mximo tamao de tablas de 65536 terabytes (256 ^ 7 1 bytes). Por lo tanto, el tamao efectivo mximo para las bases de datos en MySQL usualmente los determinan los lmites de tamao de ficheros del sistema operativo, y no por lmites internos de MySQL. El motor de almacenamiento InnoDB tecnologa de MySQL mantiene las tablas en un espacio que puede ser creado a partir de varios ficheros. Esto permite que una tabla supere el tamao mximo individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamao mximo del espacio de tablas es 64TB. La siguiente tabla ilustra las capacidiades soportadas por los lmites de tamao de ficheros de sistemas operativos. Sistema operativo Linux 2.2-Intel 32-bit Linux 2.4 Solaris 9/10 win32 w/ FAT/FAT32 win32 w/ NTFS MacOS X w/ HFS+ Tamao mximo de fichero 2GB (LFS: 4GB) (usando sistema de ficheros ext3) 4TB 16TB 2GB/4GB 2TB (posiblemente mayor) 2TB

Sistema de ficheros NetWare w/NSS 8TB

En Linux 2.2, se utilizar tablas mayores de 2GB usando el parche para LFS (Large File Support) en el sistema de ficheros ext2. En Linux 2.4 y posteriores, existen parches para ReiserFS soportando grandes archivos (hasta 2TB). La mayora de distribuciones Linux se basan en el kernel 2.4 o 2.6 e incluyen todos los parches LFS necesarios. Con
18

JFS y XFS, se permiten ficheros mayores de un petabyte para Linux. Sin embargo, el tamao mximo de ficheros todava depende de diversos factores, uno de ellos siendo el sistema de ficheros usado para almacenar tablas MySQL. Windows, que tienen FAT and VFAT (FAT32) , no son considerados apropiados para sistemas de produccin con MySQL. Se recomiendo usar NTFS para ello. Por defecto, MySQL crea tablas MyISAM con una estructura interna que permite un tamao mximo de unos 4GB. Si necesita una tabla con un tamao mayor a 4GB (y su sistema operativo soporta ficheros grandes), el comando CREATE TABLE permite las opciones AVG_ROW_LENGTH y MAX_ROWS.

INSTALACION Y DESCARGA DE MySQL Haces descarga del programa desde la pgina Web de MySQL, en http://dev.mysql.com/downloads/administrator, Tambin en la pgina de MySQL existen una serie de FAQs que ayudan en la instalacin en caso de dudas, aunque la misma es bastante simple, en http://www.mysql.com/products/administrator/. Se va desplegar esta ventana:

Una vez instalado es necesario configurar una primera conexin contra un servidor de MySQL para poder acceder a la administracin del mismo.

19

En la pantalla de configuracin se debern especificar los datos del servidor, nombre de usuario, contrasea y puerto, de la base de datos a la cual se desea conectar. Una vez introducidos de forma correcta, aparece la pantalla principal del programa:

Desde la pantalla principal se puede ver la informacin relativa al servidor de base datos al que se ha conectado, as como las caractersticas de la mquina en la que se est ejecutando el programa. En la barra de men a travs de Tools, se tiene acceso a una consola de sistema (Windows o Linux dependiendo del caso), un cliente de conexin a MySQL bajo lnea de comandos y a MySQL Query Browser. Desde este mismo men, se accede a las opciones de configuracin del administrador y de las conexiones que hay configuradas:

20

En la seccin de conexiones se encuentran almacenadas todas las conexiones a servidores que hay configuradas. Algunas utilidades accesibles desde la ventana principal del programa son: Service control: Inicio y detencin de servidores (slo accesible si se ha conectado con un servidor MySQL en la mquina local). Startup variables: Configuracin del servidor y las variables de inicio (slo accesible si se ha conectado con un servidor MySQL en la mquina local). User Administration: Para la gestin de usuarios y permisos. Server conections: Visualiza y gestiona las conexiones abiertas con el servidor de bases de datos. Health: Informacin sobre la carga del servidor Server Logs: El historial de logs del servidor. Replication Status: Con informacin de los sistemas replicados. Backup: Para hacer una copia de seguridad de las bases de datos. Restore: Para restaurar las copias de seguridad. Catalogs: Para mostrar las bases de datos, visualizar, crear y editar las tablas.

La base de datos MySQL posee actualmente MySQL Administrator. Que administra visualmente servidores MySQL. Muchas de las opciones de configuracin de la base de datos son muy sencillas de entender y de utilizar, por lo menos todas las opciones ms bsicas. En conjunto con MySQL Query Browse, nos permite gestionar cualquier aspecto de una base de datos MySQL.

Tipos de Datos de Mysql Despus de la fase de diseo de una base de datos, y una vez se ha realizado el paso a tablas del mismo, es necesario crear las tablas correspondientes dentro de la base de
21

datos. Para cada campo de cada una de las tablas, es necesario determinar el tipo de datos que contiene, para de esa forma ajustar el diseo de la base de datos, y conseguir un almacenamiento ptimo con la menor utilizacin de espacio. El presente artculo describe cada uno de los tipos de datos que puede tener un campo en Mysql, para la versin 5xx.xx. Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes grupos: 1. Tipos Numricos
2. Tipos Fecha 3. Tipo Cadenas

1 Tipos numricos: Existen tipos de datos numricos, que se pueden dividir en dos grandes grupos, los que estn en coma flotante (con decimales) y los que no. TinyInt: es un nmero entero con o sin signo. Con signo el rango de valores vlidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255 Bit Bool: un nmero entero que puede ser 0 1 SmallInt: nmero entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535. MediumInt: nmero entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215. Integer, Int: nmero entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295 BigInt: nmero entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615. Float: nmero pequeo en coma flotante de precisin simple. Los valores vlidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38.

22

xReal, Double: nmero en coma flotante de precisin doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308 Decimal, Dec, Numeric: Nmero en coma flotante desempaquetado. El nmero se almacena como una cadena

Tipos fecha: A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es vlida o no. Simplemente comprueba que el mes est comprendido entre 0 y 12 y que el da est comprendido entre 0 y 31.
23

Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de ao-mes-dia DateTime: Combinacin de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de ao-mes-dia horas:minutos:segundos TimeStamp: Combinacin de fecha y hora. El rango va desde el 1 de enero de 1970 al ao 2037. El formato de almacenamiento depende del tamao del campo:

Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' Year: almacena un ao. El rango de valores permitidos va desde el ao 1901 al ao 2155. El campo puede tener tamao dos o tamao 4 dependiendo de si queremos almacenar el ao con dos o cuatro dgitos.

Tipos de cadena:

24

Char(n): almacena una cadena de longitud fija. La cadena podr contener desde 0 a 255 caracteres. VarChar(n): almacena una cadena de longitud variable. La cadena podr contener desde 0 a 255 caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object) La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Maysculas y las minsculas, el tipo BLOB se ordena tenindolas en cuenta. Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud mxima de 255 caracteres. Blob y Text: un texto con un mximo de 65535 caracteres. MediumBlob y MediumText: un texto con un mximo de 16.777.215 caracteres. LongBlob y LongText: un texto con un mximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicacin los paquetes pueden tener un mximo de 16 Mb. Enum: campo que puede tener un nico valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos Set: un campo que puede contener ninguno, uno varios valores de una lista. La lista puede tener un mximo de 64 valores.

25

Diferencia de almacenamiento entre los tipos Char y VarChar

26

Sentencias y funciones Soporte completo para operadores y funciones en las clusulas de consultas SELECT y WHERE. Soporte para LEFT OUTER JOIN y RIGHT OUTER JOIN cumpliendo estndares de sintaxis SQL y ODBC. Soporte para alias en tablas y columnas como lo requiere el estndar SQL. DELETE, INSERT, REPLACE, y UPDATE devuelven el nmero de filas que han cambiado (han sido afectadas). Es posible devolver el nmero de filas que seran afectadas usando un flag al conectar con el servidor. El comando especfico de MySQL SHOW puede usarse para obtener informacin acerca de la base de datos, el motor de base de datos, tablas e ndices. El comando EXPLAIN puede usarse para determinar cmo el optimizador resuelve una consulta. Los nombres de funciones no colisionan con los nombres de tabla o columna. Por ejemplo, ABS es un nombre vlido de columna. La nica restriccin es que Comandos bsicos de MySql para una llamada a una funcin, no se permiten espacios entre el nombre de funcin. Puede mezclar tablas de distintas bases de datos en la misma consulta. Informacin:

show databases; - Listar todas las bases de datos. connect [database]; - Conectarse a esa base de datos. show tables; - Listar todas las tablas de una base de datos. show table status; - Muestra informacin sobre las tablas. describe [table]; - Muestra la estructura de una tabla.

Manipulacin:

drop table [table]; - Elimina la tabla, incluyendo registros y estructura. drop table if exists [table]; - Elimina la tabla, pero verifica que exista. truncate table [table]; - Elimina los registros, pero mantiene la esrtuctura de la tabla.
27

rename table [table] to [nuevo nombre de tabla]; - Renombra una tabla.

Algunos comandos tiles:


select * from [table] limit [numero]; - Muestra los registros desde el 1 hasta el nmero. Ej. select * from tabla limit 10; - Muestra los 10 primeros registros. select * from [table] limit [numero inicio],[numero]; - Muestra los registros desde el nmero de inicio hasta nmero inicio + nmero. Ej. select * from tabla limit 11,10; - Muestra desde registro 11 hasta el 20.

Bases de datos en consola


$ mysqladmin -u -p create - crear base de datos. $ mysqladmin -u -p drop - borrar la base de datos. $ mysqladmin -u root -p proc - listar procesos en ejecucin. $ mysqladmin -u root -p -i 5 status - verificar status cada 5 segundos. $ mysqldump --opt -u -h -p > /path/to/file - Exportar base de datos a fichero. $ mysqldump --opt -u -h --all-databases -p > /path/to/file - Exportar TODAS las bases de datos a fichero. $ mysql -h -u -p < /path/to/file - Importar el fichero a mysql $ mysqlcheck -o -u root -p --all-databases - Optimizar las bases de datos.

Verificacin y reparacin de bases de datos erroneas:


check table [table]; - Verificar tabla. repair table [table]; - Reparar tabla rota.

28

Ventajas

MySQL software es Open Source Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento. Bajo costo en requerimientos para la elaboracin de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una mquina con escasos recursos sin ningn problema. Facilidad de configuracin e instalacin. Soporta gran variedad de Sistemas Operativos Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que est. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente apropiado para acceder bases de datos en Internet El software MySQL usa la licencia GPL

Desventajas

Un gran porcentaje de las utilidades de MySQL no estn documentadas. No es intuitivo, como otros programas (ACCESS).

29

Conclusiones MySQL es un SGBD relacional de fcil uso y alto rendimiento, dos caractersticas muy valiosas para un desarrollador de sistemas: su facilidad de uso permite la creacin de bases de datos con rapidez y sin muchas complicaciones, y su alto rendimiento lo hace sumamente atractivo para aplicaciones comerciales importantes o portales web de mucho trfico. Si a ello le aadimos la disponibilidad de cdigo y su licencia dual, se comprende que MySQL sea atractivo y accesible para todo el mundo. Estos atributos tienen sus costes: mantenerlo con un alto rendimiento hace algo ms lento su desarrollo, por lo que no es el ms avanzado en cuanto a prestaciones y compatibilidad con estndares. MySQL carece de caractersticas que muchos otros SGBD poseen. Pero no se debe olvidar que est en continuo desarrollo, por lo que futuras versiones incluirn nuevas caractersticas. Por supuesto, para MySQL es ms importante la eficiencia que incluir prestaciones slo por competir o satisfacer a algunos usuarios. Se puede concluir que a medida que van aumentando el uso de las tecnologigias, tambien lo hace el uso de MySQL ya que ha ido evolucionando y ampliando sus utilidades con el tiempo, esto hace aque desarrolladores de pginas web con contenido dinmico, utilizen my sql. con el tiempo my sql a ido progresando e ingresando nuevas caracteristicas, y su vez siendo mas facil su uso.

30

Bibliografia http://www.desarrolloweb.com/directorio/bases_de_datos/mysql
www.auladirectiva.com/curso/base...mysql .../bibliografia.html

http://www.monografias.com/trabajos24/oracle/oracle.shtml http://myintextual.net/feeds/yahooad/adredirect.php? http://mysql.conclase.net/curso/?cap=004 J. Benavides Abajo; J. M. Olaizola Bartolom; E. Rivero Cornelio. SQL: Para usuarios y programadores. Tercera Edicin. Madrid: Paraninfo, 1997. ISBN: 84-283-1821-2. MySQL 5.1 Reference Manual [en lnea]. Oracle. Disponible en web: <http://dev.mysql.com/doc/refman/5.1/en/> MySQL 5.0 Reference Manual [en lnea]. Oracle. Disponible en web: <http://dev.mysql.com/doc/refman/5.0/es/>

31

Das könnte Ihnen auch gefallen