mysql adriana justo hernández josé manuel pérez leana manuel sauceda mena

24
Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Upload: tito-jacome

Post on 28-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Adriana Justo HernándezJosé Manuel Pérez Leana

Manuel Sauceda Mena

Page 2: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 2

Page 3: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 3

SQL IBM

presentado aANSI

comercializado 1986Estándar para base

de datos relacionales

90’sMichael Widenius

Conexión de tablas con rutinasde bajo nivel

mSQLlento y poco flexible

1995API SQL

denominada MySQL

¿Cómo se creo?

Page 4: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 4

Opensource MySQL AB

Michael WideniusDavid Axmark

Allan Larsson

Objetivo de MySQLCumplir con el estándar SQL

VelocidadFiabilidadUsabilidad

“SAKILA”

My SQL¿Cómo se creo?

Page 5: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 5

• Sistema de Gestión de Base de Datos (SGBD).• Enfocado a la gestión de base de datos relacionales.• MySQL es Open Source (Código Abierto).• El servidor de MySQL es rápido, fiable y fácil de usar.• Trabaja en entornos cliente/servidor o incrustados.• Existe una gran cantidad de software de contribuciones a NySQL

¿Qué es MySQL?

Page 6: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 6

Interioridad y portabilidad

Escrito en C y C++Funciona en diferentes plataformas

Windows 9x, Me, NT, 2000, XP, y 2003

Unix

Mac OS XLinux

AIXProporciona sistemas de almacenamiento transaccionales yno transaccionales

Usa tablas en disco B-tree (MyISAM) muy rápidas con compresiónde índice

Fácil de añadir a otros sistemas de almacenamientoSistema de reserva de memoria muy rápido

Page 7: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 7

Interioridad y portabilidad

Joins muy rápidos usando un multi-join de un paso optimizado

Tablas hash en memoria, que son usadas como tablas temporales

El servidor está disponible como un programa separado para usaren un entorno de red cliente/servidor

El código MySQL se prueba con Purify, así como con Valgrind

Disponible como biblioteca y puede ser incrustadoen aplicaciones autónomasPuede usarse en entornos donde no hay red disponible

Page 8: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 8

Escalabilidad y límites

Los clientes pueden conectar con el servidor MySQL usandosockets TCP/IP en cualquier plataforma.

En MySQL 5.0, los servidores Windows soportan conexionescon memoria compartida

Named pipes, en WIndows

Sockets, en Unix

La interfaz para el conector ODBC (MyODBC) proporcionaa MySQL soporte para programas clientes que usen conexionesODBC La interfaz para el conector J MySQL proporciona soporte para clientes Java que usen conexiones JDBC

Page 9: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 9

Localización

El servidor puede proporcionar mensajes de error a los clientesen muchos idiomas

Soporte completo para distintos conjuntos de caracteres. El soportepara Unicode está disponible

Todos los datos se guardan en el conjunto de caracteres elegido.Todas las comparaciones para columnas normales de cadenas decaracteres son case-insensitive

La ordenación se realiza acorde al conjunto de caracteres elegido

Page 10: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 10

Seguridad, Clientes y Herramientas

En cuanto a seguridad cuenta con un sistema de privilegios y contraseñas que es muy flexible y seguro, y que permite verificación basada en el host

Las contraseñas son seguras porque todo el tráfico de contraseñas está encriptado cuando se conecta con un servidor

MySQL server tiene soporte para comandos SQL para chequear, optimizar, y reparar tablas.

Disponibles a través de la línea de comandos y el cliente mysqlcheckMyisamchk, utilidad de línea de comandos muy rápida para efectuaroperaciones con tablas

Todos los programas MySQL pueden invocarse con las opciones help ? para obtener ayuda en línea

Page 11: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 11

Sentencias, Funciones y Tipos de Columnas

Soporte completo para operadores y funciones en las cláusulasde consultasSoporte para alias en tablas y columnas como lo requiere elestándar SQL

Los nombres de funciones no colisionan con los nombres de tablao columna

Puede mezclar tablas de distintas bases de datos en la mismaconsulta

Soporte completo para las cláusulas SQL y funciones de agrupación

Registros de longitud fija y longitud variable

Enteros con/sin signo de 1, 2, 3, 4, y 8 bytes de longitud: float, double, char, varchar, text, blob, date, time, datetime,timestamp, year, set, enum

Page 12: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 12

¿Es estable y fiable MySQL?

Es tan estable como la aplicación lo requiera

Ha sido usable desde sus inicios

La mejora de MySQL es constante y depende fuertemente delos usuarios

La mayoría de los problemas se presenta cuando los usuariosprueban código de las zonas grises

Una característica importante en cuanto a estabilidad, es queel diseño de MySQL es multicapa con módulos independientes.

¿Qué tan fiable es usar MySQL para el proyecto?

Page 13: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 13

Tamaño máximo de tablas en MySQL

Usando el motor de almacenamiento de MySQL, el máximo tamaño de las tablas es de65536 TerabytesEl tamaño efectivo máximo de las tablas está directamente determinadoo limitado por el tamaño de los ficheros del sistema operativoExisten motores que pueden crear tablas a partir de varios ficheros, creando un máximo de espacio para las tablas de 64 Terabytes.

Sistema Operativo Tamaño Máximo del Fichero

Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)

Linux 2.4 4TB

Solaris 9/10 16TB

Sistema de ficheros NetWare w/NSS 8TB

win32 w/ FAT/FAT32 2GB/4GB

win32 w/ NTFS 2TB (posiblemente mayor)

MacOS X w/ HFS+ 2TB

Tabla 1. Límites de tamaño de ficheros de sistemas operativos

[http://dev.mysql.com/doc/refman/5.0/es/table-size.html]

Page 14: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 14

Peso de Ref. % de Ref MySQL % Oracle %

Costo y Licenciamiento 20 12 20 12 5 3

Rendimiento 10 11 10 11 9 9.9

Funcionalidad 150 10 117 7.8 150 10

Características Fundamentales 110 10 100 9.09 110 10

Acceso a Datos 160 10 150 9.38 160 10

Seguridad 100 9 80 7.2 100 9

Soporte 10 7 10 7 10 7

Almacenamiento 50 7 50 7 30 4.2

Tipo de Datos 140 7 116 5.8 126 6.3

Alta Disponibilidad 30 7 0 0 30 7

Sistema Operativos 110 5 110 5 100 4.55

Apis 120 5 120 5 80 3.33

Total 1010 100 883 86.27 910 84.28

Tabla 2. Comparativa de pesos desde el punto de vista del usuario [].

[Ing. Diego Javier BurbanoQuito - Ecuador Mayo 2006dburbano[arroba]yahoo.com]

Page 15: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 15

Peso de Ref. % de Ref MySQL % Oracle %

Sistemas Operativos 110 12 110 12 100 10.91

Apis 120 12 120 12 80 8

Soporte 10 10 10 10 10 10

Funcionalidad 150 10 117 7.8 150 10

Rendimiento 10 10 10 10 9 9

Características Fundamentales 110 8 100 7.27 110 8

Tipos de Datos 140 8 116 6.63 126 7.2

Acceso a Datos 160 8 150 7.5 160 8

Seguridad 100 8 80 6.4 100 8

Almacenamiento 50 7 50 7 30 4.2

Alta Disponibilidad 30 7 0 0 30 7

Total 990 100 863 86.6 905 90.31

Tabla 3. Comparativa de pesos desde el punto de vista del programador[].

[dburbano[arroba]yahoo.com]

Page 16: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 16

Figura 1. Número de entidades que usan algún sistema de base de datos(Encuesta realizada a 258 entidades)

Page 17: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 17

Número de Licencias Precio por copia US S Total

1 200 200

10 150 1500

50 120 6000

100-1000 40 4000 c/100

1001-2500 25 5000 c/1000

2501 o más 20 8000 c/2500

Tabla 4. Costos de adquisición de licencias para uso comercial

Page 18: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 18

PROS CONTRAS

Licencia GNU/GPLGratuito para plataformas no comerciales

Costo para su uso en aplicaciones comerciales

Diseñado para el acceso rápido a la información El motor no tiene incorporado ningún tipo de estructura para integridad referencial (para versiones anteriores a la 5.0)

Los usuarios de MySQL tienen disponible el código fuente para poder modificarlo según sus necesidades

MySQL no puede sustituir a SQL u Oracle en algunas Aplicaciones (SGBDR) Sistema de Gestión de Base de Datos

MySQL esta diseñado para ser un almacén de datos semi-estáticos con modificaciones esporádicas.

No esta diseñado para el manejo de información sujeta a múltiples cambios en su ejecución

Las versiones 5.0 y posteriores incorporan nuevos elementos para corregir el problema de transaccionalidad e integridad referencial.

NO existe transaccionalidad (para versiones anteriores a la 5.0)

MySQL implementa el uso de código incrustado para aplicaciones portables

Aún no puede competir en su totalidad con Oracle y SQL

Disponible para muchos sistemas operativos

Tabla 5. Pros y contras de MySQL

Page 19: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 19

Amazon,com

Cox Comunications

Craigslist

Digg

Google

LiveJournal

Omniture

Rightnow

Slashdot

Yahoo!

Nokia

Flickr

NetQOS

Universidad de Piura

CENET Networks

Friendster

Wikipedia

Joomla![www.wikipedia.org/wiki/MySQL]

Page 20: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 20

Page 21: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 21

Tutorialeswww.perso.wanadoo.es/tutoriales/cursos/mysql/index.htmwww.solorecursos.com/bd/mysql.htmwww.programacion.net/tutorial/mysql_basicowww.programatium.com/tutoriales/cursos/mysql/index.htmwww.emagister.com/tutorial/tutoriales-mysql-tematica-610.htm

www.mysql-5.malavida.com/d592-descargar-windowswww.softbull.com/mysql-182.htmlwww.ems-mysql-manager.softonic.com

Descargas de MySQL y Apis

Page 22: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 22

Como usuario, las características de software libre, el soporte y la disponibilidad de información, hacen a MySQL una de las mejores opciones para el uso como manejador de base de datos.Como programador, la seguridad que proporciona el software licenciado, la funcionalidad y la cantidad de datos que maneja, lo hacen el tercer manejador de base de datos mas utilizado.

Si el MySQL no es usado para un aplicación comercial, esta es la mejor opción para el manejo de información.

En general, MySQL es una buena opción en cuanto a costo, funcionalidad y ahora en velocidad con grandes cantidades de datos y lo que es mejor, tienes el código disponible para hacer modificaciones según las necesidades del proyecto

Page 23: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 23

Referencias

www.es.wikipedia.org/wiki/MySQLwww.mysql-hispano.orgwww.dev.mysql.com/doc/refman/5.0/es/index.htmlwww.mysql.orgwww.desarrolloweb.com/manualeswww.onlamp.com/onlamp/grneral/mysql.csp

Page 24: MySQL Adriana Justo Hernández José Manuel Pérez Leana Manuel Sauceda Mena

Curso Propedéutico Maestría en Ingeniería Industrial 24