Professional Documents
Culture Documents
OAXACA
REPORTE DEL SISTEMA GESTOR DE BASE DE DATOS
MySQL
FUNDAMENTOS DE
BASES DE DATOS
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.
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
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.
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:
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.
FALCON.
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