MySQL: Introducción Características Beneficios

1 MySQL: Introducción Características BeneficiosAmit Kuma...
Author: Eduardo Quintana Lagos
0 downloads 0 Views

1 MySQL: Introducción Características BeneficiosAmit Kumar Saha

2 Everyone and Everything Participating on the NetworkIntroducción Sistema de Gestión de Bases de Datos Relacional Resultado de Open Source y Software Libre Libre Ampliamente utillizado – Sistemas de Información y sistemas embebidos Fundamentalmente escrito en C/C++ Disponible para Linux, Solaris, MS Windows y otros Sistemas Operativos Everyone and Everything Participating on the Network

3 Introducción Arquitectura Cliente – Servidor Servidor MySQLCliente MySQL- linea de comandos, aplicaciones de escritorio, aplicaciones web

4 Everyone and Everything Participating on the NetworkUn poco de historia El prefijo My proviene del nombre de la hija del co- foundador Monty Widenius, quien se llama My mSQL- se ajusta y acorta para formar MySQL MySQL AB es en la actualidad una subsidiaria de Sun Microsystems, la cual posee los derechos de autor de la mayoría del código base “AB” parte del nombre de la compañia es el acrónimo Sueco de “aktiebolag,” o “Sociedad Anónima” Everyone and Everything Participating on the Network

5 Un poco de historia El nombre del Delfín MySQL (logo de MySQL) es “Sakila”, el cual fué elegido por los fundadores de MySQL AB entre una larga lista de nombres sugeridos por los usuarios en su concurso “Name the Dolphin”

6 MySQL: Características y Arquitectura

7 MySQL: CaracterísticasVelocidad Arquitectura Multi-hilos: Multiples clientes tienen acceso concurrente Cache de Consultas: Cachea los resultados de las consultas comunes Fiabilidad Facilidad de uso Interfaz de línea de comandos Herramientas gráficas- Escritorio/ basadas en Web

8 MySQL: CaracterísticasSoporte Multi-Usuario Multiples clientes tienen acceso concurrente a una (o más) bases de datos simultaneamente Sistema de privilegios de usuarios potente y flexible Esquemas de autenticación basados en usuario-máquina Escalabilidad Bases de datos conteniendo ¡50 millones de registros! Empresas- Yahoo!, NASA, Google.com

9 MySQL: CaracterísticasPortabilidad Unix/ No-Unix: Linux, Solaris, Windows.. Intel x86, Alpha, SPARC, PowerPC Cumplimiento de estándares MySQL opera en diferentes modos que se ajustan a los diferentes estándares SQL Modos: los modos de servidor SQL define a MySQL que sintaxis debe soportar y qué tipo de controles de validación de datos se deberá realizar FAQ: Server SQL modes define what SQL syntax MySQL should support and what kind of data validation checks it should perform. This makes it easier to use MySQL in different environments and to use MySQL together with other database servers

10 MySQL: CaracterísticasInternacionalización Soporte para varios lenguajes y juegos de caracteres Amplio soporte de aplicaciones Base de datos MySQL de aplicaciones para el Escritorio y la Web APIs para: C/C++, Java, PHP, Perl, Ruby, Python... Server SQL modes define what SQL syntax MySQL should support and what kind of data validation checks it should perform. This makes it easier to use MySQL in different environments and to use MySQL together with other database servers

11 MySQL: CaracterísticasProgramas Almacenados Procedimientos y funciones almacenados Disparadores (Triggers) Vistas Planificador de Eventos Server SQL modes define what SQL syntax MySQL should support and what kind of data validation checks it should perform. This makes it easier to use MySQL in different environments and to use MySQL together with other database servers

12 Arquitectura de MySQL

13 Arquitectura de MySQL Subsistemas Primario Motor de ConsultasAnalizador de la sintaxis Optimizador de Consultas Cache de Consultas Ejecución del componente Gestión de Transacciones Gestión de Buffer Utilidades de Gestión y Servicios Motor de Almacenamiento

14 Motores de almacenamiento MySQLMotor de Almacenamiento: Escribe los datos en almacenamiento persistente Característica única de MySQL: Motores de almacenamiento “conectables” ¿Qué significa? Nivel de abstracción entre los dispositivos de almacenamiento / formatos y el resto de la arquitectura de servidor de MySQL- la capa más baja del servidor MySQL Dado que es “conectable”, permite que el motor de almacenamiento sea cargado/cambiado dinámicamente en tiempo de ejecución

15 Motores de almacenamiento MySQLMyISAM CSV HEAP InnoDB Falcon Cluster . . < Su propio motor de almacenamiento >

16 Arquitectura interna de MySQLHilos del (si lo soporta el SO) y múltiples procesadores, si está disponible Sistema de asignación de memoria basado en Hilos Tablas Temporales- tablas Virtuales, tablas formadas por consultas SQL anidadas son implementadas en tablas hash en memoria

17 Instalación y primeros pasos en Windows, Linux, Solaris

18 Descargas de MySQL

19 Servidor Community vs EnterpriseGratuito Sin soporte profesional Ideal para usuarios individuales- desarrolladores/estudia ntes/empresas con más tiempo que dinero De pago Soporte profesional Ideal para empresas con más dinero que tiempo

20 Versiones MySQL Versión actual (Recomendada)‏ Próximas VersionesMySQL 5.0—versión “Generally Available” (GA) para uso en producción Aquí, estamos usando MySQL Próximas Versiones MySQL 5.1 — versión “Release Candidate”, ¡Pruebe antes las nuevas características! MySQL 6.0 — Alpha MySQL Maria vista preliminar

21 Instalación de MySQL en WindowsInstalación del servidor MySQL Descargar el instalador de MySQL (Windows ZIP/Setup.EXE, 32/64-bit) desde Descomprimir el fichero Iniciar el instalador- ejecutar setup.exe

22 Instalación de MySQL en Windows

23 Configuración de MySQL Server

24 Configuración de MySQL Server

25 Configuración de MySQL Server

26 Finalizando la configuración

27 Instalación de MySQL en LinuxMétodo más sencillo: Utilizar la utilidad de gestión de paquetes del Sistema Operativo apt-get en Ubuntu/Debian apt-get install mysql-server apt-get install mysql-client yum en Fedora yum install mysql-server yum install mysql Los paquetes para Red Hat y Ubuntu están disponibles y pueden ser instalador con los comandos nativos del SO- rpm, dpkg

28 Instalación de MySQL en LinuxEn Open Solaris pkg install SUNWmysql5 pkg install SUNWmysql Los paquetes 'pkgadd' y 'tar' están disponibles en el sitio de descarga: wnloads

29 Mac OSX, HP-UX, IBM AIX.. Paquetes disponibles para su descarga en …

30 Código fuente: Construir desde ceroSi desea enredarse con el código fuente, puede que también quiera generar el servidor y cliente MySQL desde los fuentes disponibles para su descarga en En Unix (Linux, Open Solaris), pasos básicos ./configure make; make install

31 Post Instalación Windows: accesos directos al nuevo programa se añadiran al menú de Programas Cliente MySQL de línea de comandos Manual MySQL Asistente de configuración del Servidor MySQL Linux Programas cliente Mysql instalados es /usr/bin Accesible desde la línea de comandos utilizando 'mysql', 'mysqladmin', etc

32 Post Instalación SolarisLos programas de cliente se instalan en /usr/sfw/bin Accesible desde el terminal utilizando el nombre de programa: $mysql .

33 Notas sobre la ejecución de MySQLPor defecto, el servidor MySQL se ejecuta en el puerto 3306 y fichero de socket /tmp/master.sock Se puede configurar para utilizar un puerto diferente y/o un fichero diferente de socket En Linux/Solaris: mysqld --port 9090 –-socket=/tmp/my.sock, arrancará el servidor MySQL en el puerto 9090 y utilizará el fichero de socket /tmp/my.sock Por defecto, el cliente de MySQL se conecta al servidor que se ejecuta en el puerto 3306. Para conectar a un puerto diferente, se utilizará 'mysql --port XXX'

34 Programas MySQL Programas Servidor Programas Clientemysqld : programa Servidor de MySQL 'd': demonio Programas Cliente mysql- Cliente MySQL mysqladmin- cliente para administrar un servidor MySQL Otros programas:

35 Invocar programas MySQLEscriba el nombre del programa (seguido por las opciones, si procede) desde la línea de comandos/shell $mysql -u root mysql>

36 Tutorial Crear una base de datos simple y poblarla con una tablamysql> CREATE DATABASE vtu_edusat; mysql> USE vtu_edusat; mysql> CREATE TABLE t1( -> id INTEGER, -> name CHAR(20)‏ -> );

37 Tutorial mysql> INSERT INTO t1 VALUES( 1, 'foo');mysql > INSERT INTO t1 VALUES( 2, 'bar'); mysql> SELECT * FROM t1; | id | name | | 1 | foo | | 2 | bar |

38 Herramientas gráficas MySQLConjunto de aplicaciones de Escritorio Administración/uso de las instancias MySQL Construcción y manipulación de datos en bases de datos MySQL Entorno Gráfico Puede felizmente no utilizar la linea de comandos :-)‏

39 Herramientas gráficas MySQLAdministración MySQL Herramientas de administración y utilidades para monitorizar y administrar las bases de datos, privilegios de usuarios y datos Examinador de Consultas MySQL Construir y testear consultas MySQL Migration Toolkit Migra configuraciones existentes de bases de datos a MySQL (sólo Windows)‏

40 Instalación de las herramientas gráficas en WindowsDescargar el instalador para windows desde Una vez realizada la instalación, encontrará los siguientes nuevos elementos en el menú MySQL Administrator MySQL Query Browser MySQL Migration Toolkit

41 Instalación de las herramientas gráficas en LinuxUbuntu/Debian apt-get install mysql-admin Fedora yum install mysql-gui-tools Los paquetes para Red Hat Linux y fuentes están disponibles desde:

42 Demo Administrador de MySQL Windows-> Program MenuLinux → $mysql-administrator

43 Demo MySQL Query Browser Windows-> Program MenuLinux → mysql-query-browser

44 Demo MySQL Migration Toolkit Windows-> Program MenuLinux → No disponible

45 Desarrollo con MySQL

46 La 'M' de la Web Stacks LA'M'P, SA'M'P, WA'M'P Open Solaris Web StackL- Linux, S- Solaris, W- Windows A- Apache, P- PHP/Python/Perl M- MySQL Open Solaris Web Stack

47 Aplicaciones de bases de datos con MySQLAplicaciones de escritorio Conectores para C/C++, C#, Java, Python, PHP, Ruby Gran anternativa a MS Access o MS SQL Server para sus aplicaciones de bases de datos

48 NetBeans simplifica el desarrollo con MySQLUso de MySQL con aplicaciones de escritorio y basadas en la web- Java, PHP, Ruby.. Generadores de fragmentos de código PHP para la base de datos MySQL NetBeans IDE 6.5+agmentos

49 NetBeans simplifica el desarrollo con MySQLEl IDE NetBeans permite registrar un nuevo servidor MySQL Se puede trabajar con tablas MySQL desde NetBeans utilizando una interfaz gráfica agradable Referencia: para ayuda

50 Hacerlo con MySQL

51 ¿Qué se puede hacer con MySQL?Aprender concetos de SGBDR utilizando MySQL- Procedimientos almacenados, Disparadores.. Desarrollar aplicaciones, de escritorio y web, basadas en bases de datos en cualquier lenguaje de su elección Comprender como operan diferentes características de las bases de datos como Transacciones, gestión de la Concurrencia, etc., examinando el código fuente

52 ¿Qué se puede hacer con MySQL?¡Conviértase en un contribuyente! No hay que olvidar que MySQL es un proyecto Open Source. De esta forma ¡usted puede CONTRIBUIR tambien al proyecto! ¿Cómo? Corregir fallos, Añadir nuevas características, Escribir documentación Comenzar con la contribución:

53 Beneficios Libre, de coste Libre, de libertad- Open SourceMaravillosa oportunidad de entender como funciona un SGBDR- lea la fuente Optimice MySQL a sus necesidades- aplicaciones embebidas o aplicaciones web a escala de Internet Ligero- no sobrecargue su sistema

54 Recursos MySQL Desarrolladores: http://dev.mysql.comDescargas: Referencia/Manuales: Universidad MySQL: Planeta MySQL:

55 Más recursos MySQL Libros impresos:MySQL- The Complete Reference Expert MySQL Understanding MySQL Internals Comparativa entre Oracle y MySQL: 150/e12155/oracle_mysql_compared.htm#i

56 Compruebe sus habilidades MySQL¡Momento de las preguntas!

57 Conectar con Sun Participe en Comunidades Open Source¡Capacítese para Ganar! Participe en Comunidades Open Source Descargue su formulario SDN de: Envíelo a Sun Microsystems y le guiará a través de sus primeros pasos en estar conectado con Sun Sun professional certifications are industry recognized credentials that assess and validate skill sets. Sun's philosophy is that certification is central to the learning process as it provides validation of skill sets for specific job roles, such as software application development, enterprise architecture, and systems administration. As the creator and industry leader in Java technology and the Solaris OS, Sun is uniquely positioned to offer training, certification and learning services on these technologies. (Note: The inference is that we have information that competitors don't.)‏ Sun's Java certifications focus on the technology, so that the knowledge and skills learned while preparing for Sun's certifications are transportable from one company to another. Sun certifications are available in multiple languages.

58 www.in.sun.com www.in.sun.com/training http://netbeans.orgURLs de interés

59 Amit Kumar Saha http://blogs.sun.com/amitsaha¡Gracias! Amit Kumar Saha