You are on page 1of 9

INSTITUTO TECNOLGICO DE

OAXACA
REPORTE DEL SISTEMA GESTOR DE BASE DE DATOS

MySQL

FUNDAMENTOS DE
BASES DE DATOS

Integrantes del equipo:


Bautista Cruz Miguel ngel
Len Platas Micaela Guadalupe
Nombre de la profesora:
Hernndez Abrego Anayansi Cristina
Grupo: IS-A

HISTORIA DE MySQL
El origen de MySQL se remonta a la dcada de los ochenta. Michael Widenius,
tambin conocido como Monty, un joven programador que realizaba complejas
aplicaciones en lenguaje BASIC, al no encontrar un sistema de almacenamiento de
archivos que le resultara satisfactorio, pens en construir el suyo propio. Aos
despus, en 1995, y en colaboracin con David Axmark, Widenius desarroll un
producto que bsicamente era el resultado de sus investigaciones, ms dos
aportaciones nuevas: el uso del lenguaje SQL y la accesibilidad a travs de Internet.
As naci MySQL y tambin la empresa MySQL AB.

CARACTERSTICAS DE MySQL

Cdigo abierto
Velocidad al realizar las operaciones, lo que le hace uno de los gestores con
mejor rendimiento.
Fiabilidad
Facilidad de uso: ya que tiene una interfaz de lnea de comandos, as como
herramientas grficas (Escritorio/basadas en web)
Soporte multi-usuario
Portabilidad
Posibilidad de crear y configurar usuarios.
Facilidad de exportar e importar datos.
Posibilidad de ejecutar instrucciones guardadas en ficheros externos.

ARQUITECTURA DE MySQL
La arquitectura de MySQL tiene como caracterstica ms notable, el separar el
motor de almacenamiento (que se encarga de los detalles de entrada-salida y
representacin de la informacin en memoria secundaria) del resto de los
componentes de la arquitectura. Es decir, el diseo del gestor est preparado para
que se pueda cambiar el gestor de almacenamiento. Esto permite incluso crear
nuevos motores de almacenamiento especializados para ciertas tareas o tipos de
aplicaciones.

DIAGRAMA DE LOS COMPONENTES DE MySQL


Clientes
Usa

Conectores
C, JDBC, ODBC, .NET, etc.

Servidor MySQL
Utilidades y
herramientas

Gestor de conexiones
Procesador de consultas

Control de concurrencia

Optimizador de consultas

Gestor de recuperacin

Cach de consultas

Gestor de transacciones

Motores de almacenamiento
InnoDB

MyISAM

Memory

Sistema(s) de ficheros o particiones

Etc.

CLIENTE
El sistema administrador de base de datos de MySQL est basado sobre una
arquitectura cliente-servidor. El servidor es el programa encargado de
manipular la base de datos, los programas clientes se comunican con el
servidor a travs de sentencias SQL para que se lleve a cabo una actividad
sobre una base de datos especfica. El programa cliente es instalado desde
donde se desea acceder al servidor de base de datos, en una red pueden
haber mltiples instalaciones de cliente pero generalmente hay solo una
instalacin de un servidor de base de datos.

CONECTORES
Son bibliotecas en diferentes lenguajes de programacin que permiten la
conexin (remota o local) con servidores MySQL y la ejecucin de consultas.
Por ejemplo, el conector Connector/J permite conectarse a MySQL desde
cualquier aplicacin programada en lenguaje Java, y utilizando el Java
Database Connectivity (JDBC) API.
Para utilizar un conector debe instalarse en la mquina cliente. No es
necesario que la mquina cliente y el servidor corran bajo el mismo.

UTILIDADES Y HERRAMIENTAS
Son aquellas aplicaciones que vienen incluidas con el gestor MySQL o que
pueden instalarse como aplicaciones adicionales, algunos ejemplos de estas
aplicaciones son workbench, un entorno grafico de diseo propio de MySQL
y el navegador de consultas QueryBrowser.

GESTOR DE CONEXIONES
Es responsable de mantener las conexiones de mltiples clientes, su ventaja
principal es gestionar el nmero de clientes que pueden conectarse de
manera concurrente a la base de datos, en MySQL es posible configurarlo
para que los recursos del sistema se aprovechen al mximo adems para
obtener un mejor aprovechamiento de los recursos se crea un Pool de
conexiones esto significa que se crean varias conexiones que estn

disponibles para que un usuario pueda acceder a ellas sin necesidad de crear
una nueva conexin, esto solo se asigna para usuarios que solo hacen uso
de la base de datos de manera ocasional para realizar consultas.
Otra de las funciones del gestor de conexiones es la autentificacin de
usuarios, mediante un nombre de usuario, password y el equipo desde el
cual se conecta.
PROCESADOR Y OPTIMIZADOR DE CONSULTAS
El procesador de consultas se encarga de realizar los anlisis sintcticos y
produce una representacin intermedia de la misma, a partir de la cual
MySQL toma una serie de decisiones (determinar el orden de lectura del as
tablas, el uso de ciertos ndices) para determinar la manera en que se
obtendrn los datos.
El optimizador depende de las capacidades del gestor de almacenamiento
utilizado por lo que suele configurarse el gestor para que soporte
caractersticas especficas y de este modo decidir el tipo de optimizacin ms
adecuado.

CACHE DE CONSULTAS
MySQL implementa un cach de consultas, donde guarda consultas y sus
resultados enteros. De este modo, el procesador de consultas, antes de
plantear la optimizacin, busca la consulta en la cach, para evitarse realizar
el trabajo en el caso de que tenga suerte y encuentre la consulta en la cach
del servidor.
CONTROL DE CONCURRENCIA
Utiliza un sistema de bloqueos para evitar la inconsistencia de los datos que
son accesados concurrentemente. La idea es muy simple, cada vez que una
aplicacin quiere acceder a una porcin de los datos, se le proporciona un
bloqueo sobre los mismos. Cuando se trata de varios lectores a la vez se
proporcionan bloqueos compartidos y cuando son escritores concurrentes se
otorgan bloqueos exclusivos.

Dada la existencia de diferentes tcnicas, el control de concurrencia en


MySQL se divide entre el servidor y cada gestor de almacenamiento.

GESTIN DE TRANSACCIONES Y RECUPERACIONES


La gestin de transaccin permite que cuando una consulta o una parte de
la consulta no puedan ejecutarse el proceso completo se detenga para no
generar errores en la base de datos. Por otra parte la recuperacin permite
un rollback de algunas partes de la transaccin.
MySQL soporta la gestin de transacciones en diferentes bases de datos y
servidores siempre y cuando los gestores de almacenamiento involucrados
tambin lo soporten.

MOTORES DE ALMACENAMIENTO
Es una parte esencial de un SGDB puesto que se encarga de crear,
recuperar, actualizar y borrar los datos de una base de datos.
El elemento ms notable de la arquitectura de MySQL es la denominada
arquitectura de motores de almacenamiento reemplazables (pluggable
storage engine architecture). La idea de esa arquitectura es hacer una
interfaz abstracta con funciones comunes de gestin de datos en el nivel
fsico. Esto permite utilizar el motor de almacenamiento ms adecuado para
cada necesidad concreta. Tambin permite que terceros puedan
implementar motores de almacenamiento nuevos para necesidades
especficas, o adaptar el cdigo de los existentes a ciertos requisitos de
almacenamiento.
Elementos que puede implementar un motor de almacenamiento:

Concurrencia. Es responsabilidad del motor implementar una poltica


de bloqueos (o no implementar ninguna). Una estrategia de bloqueos
por fila permite una mayor concurrencia, pero tambin consume ms
tiempo de procesamiento en aplicaciones en las que la concurrencia
no es realmente grande.
Soporte de transacciones.
Comprobacin de la integridad referencial. Declarada como
restricciones en el DDL de SQL.
Almacenamiento fsico. Incluyendo todos los detalles de la
representacin en disco de la informacin.

Soporte de ndices. Dado que la forma y tipo de los ndices depende


mucho de los detalles del almacenamiento fsico, cada motor de
almacenamiento proporciona sus propios mtodos de indexacin.
Cachs de memoria. La eficiencia de los cachs de datos en
memoria depende mucho de cmo procesan los datos las
aplicaciones. MySQL implementa cachs comunes en el gestor de
conexiones y la cach de consultas, pero algunos motores de
almacenamiento pueden implementar cachs adicionales.
Uso de mltiples hilos para operaciones paralelas o mejoras de
rendimiento para la insercin masiva.

Adems permite a MySQL cambiar a distintos motores de almacenamiento


para otras bases de datos.
InnoDB. Est considerado como uno de los motores ms avanzados
para el almacenamiento de datos en MySQL. Provee un motor slido
con soporte completo de transacciones, permite el bloqueo de datos a
nivel de registro permitiendo gran flexibilidad a la hora de utilizar las
tablas, controla la integridad referencial, permite claves ajenas y tiene
un sistema de recuperacin de cadas.

MyISAM. Es el motor que usa MySQL por defecto. Es una buena


combinacin entre funcionalidad y rendimiento.
Caractersticas ms importantes:
Lmite de 2^32 registros.
Mximo de 64 ndices por tabla.
Mximo de 16 columnas por ndice.
Los datos son independientes de la mquina y el sistema
operativo.
Permite campos ndices como NULL.
Permite un gran tamao en las tablas (hasta 256TB).
No soporta transacciones.
No permite claves ajenas.
Este motor pone especial empeo en la rapidez de las operaciones
de lectura, es una de las razones por las que MySQL es tan popular
en la web, ya que la mayora de las operaciones que se realizan
son de este tipo.

MEMORY. Guarda todos los datos en memoria, de forma que si se


cae el servidor o reiniciamos MySQL se pierden los datos, aunque la
estructura de las tablas se guarda.

Caractersticas ms importantes:
Bloquea los datos a nivel de tabla.
Puede usar ndices HASH
No soporta transacciones
Resulta extremadamente fcil perder los datos
Resultan tiles como tablas temporales para determinadas
consultas ya que al estar en memoria y poder tener Hash como
ndice resultan extremadamente rpidas, es una buena eleccin
cuando necesitamos realizar operaciones muy rpidas sobre
conjuntos pequeos de datos.

FEDERATED. Este motor se incluy en la versin 5.03. La novedad de este


motor es que permite el acceso a una base de datos MySQL remota como si
fuese local, en realidad tenemos una tabla local que representa a otra remota,
ambas deben ser idnticas.
Caractersticas ms importantes:

Permite acceso a BBDD remotas.


MySQL no instala este motor por defecto.
No soporta transacciones.
No contempla el bloqueo de datos.

FALCON.

Es el futuro motor de almacenamiento para MySQL 6.0,


actualmente se encuentra en estado alpha, y est diseada para entornos de
servidores Web de alto volumen.
Caractersticas ms importantes:

Permite recuperacin de estados / datos en caso de cadas.


Permite una alta concurrencia (bloqueo a nivel de registro).
Cach de datos muy rpidos y potentes.
Incluye tablas para la monitorizacin de rendimiento y errores.
Permite una configuracin simple.
PARTICIONES Y SISTEMA(S) DE FICHEROS
Particionar tablas en MySQL nos permite rotar la informacin de nuestras
tablas en diferentes particiones, consiguiendo as realizar consultas ms
rpidas y recuperar espacio en disco al borrar los registros.

BIBLIOGRAFA
(s.f.). Obtenido de MySQL: http://www.mysql.com/
Kumar Saha, A. (s.f.). MySQL: Introduccin, caractersticas y beneficios. Obtenido
de http://www.gedlc.ulpgc.es/docencia/abd/Recursos/MySQL-Intro-featuresbenefits-SPANISH.pdf

You might also like