You are on page 1of 10

ALUMNO: JOSE DANIEL WONG BE DABD

Actividad 3.
Reporte con similitudes y diferencias
de un DD para instalar MySQL
1.- Anlisis de la estructura de almacenamiento del gestor de
bases de datos MySQL
MySQL tiene como caracterstica principal en su estructura que separa
todos los detalles de Entrada/Salida adems de la asignacin de la
informacin en memoria secundaria, esto es: separa el motor de
almacenamiento al resto de los componentes de la estructura general.
La segmentacin de un disco, es utilizada para implementacin de
espacios en direcciones virtuales lgicas, que tendrn su uso para el
almacenamiento de datos, cumpliendo con los dos principales
requerimientos de asignacin de nombre y longitud.
El almacenamiento de la base de datos ser alojado en fichero o
archivos incluidos dentro del espacio del disco duro, segmentado para su
propsito. MySQL utiliza diferente motores para el almacenamiento de
los datos. Un motor de almacenamiento es la parte fundamental de
MySQL ya que es el encargado de crear, recuperar eliminar y actualizar
los registros de una base de datos los cuales pueden ser almacenados
de diversas formas.
Al conocer estos datos el administrador y planeador de la base de datos
conocer el mximo crecimiento al que puede llegar una base de datos.
El tamao de las tablas variar dependiendo del tamao de los tipos de
datos, los cuales pueden ser comnmente: numricos, caracteres y
fechas.
Existen valores null, este se considera como valor no existente y se
puede aplicar a todos los tipos de columnas; existen tambin smbolos
utilizados para la definicin de los diferentes tipos de datos en MySQL
El tamao ocupado de acuerdo a cada tipo de columnas en el disco duro,
esta en funcin de las especificaciones.

ALUMNO: JOSE DANIEL WONG BE DABD

De acuerdo al anlisis anterior de los tipos de datos y diferentes


tamaos de los valores de caracteres y nmero usados para la creacin
de tablas de una base de datos, se puede asumir el tamao que utilizar
la base de datos dentro del segmento asignado en el disco duro, asistido
por el motor de almacenamiento usado por MySQL. El motor de
almacenamiento InnoDB, emplea E/S en disco asncrona simulada,
creando un nmero de procesos que usarn las operaciones de
almacenamiento.

2.- Segmentacin del disco duro


Cada disco duro constituye una unidad fsica. Sin embargo, los sistemas
operativos no trabajan con unidades fsicas directamente sino con
unidades lgicas. Dentro de una misma unidad fsica de disco duro
puede haber varias unidades lgicas. Cada una de estas unidades
lgicas constituye una particin del disco duro. Esto quiere decir que
podemos dividir un disco duro en, por ejemplo, dos particiones (dos
unidades lgicas dentro de una misma unidad fsica) y trabajar de la
misma manera que si tuvisemos dos discos duros (una unidad lgica
para cada unidad fsica).

Particiones
y
directorios
Ambas
estructuras permiten organizar datos
dentro de un disco duro. Sin embargo,
presentan importantes diferencias:
1) Las particiones son divisiones de
tamao fijo del disco duro los
directorios son divisiones de tamao
variable de la particin.
2) Las particiones ocupan un grupo
de cilindros contiguos del disco duro (mayor seguridad); los directorios
suelen tener su informacin desperdigada por toda la particin (por ello
es necesaria la de fragmentacin peridica).
3) Cada particin del disco duro puede tener un sistema de archivos
(FAT, FAT32, NTFS, etc.) distinto. Todos los directorios de una particin
tienen el mismo sistema de archivos. Como mnimo, es necesario crear
una particin para cada disco duro. Esta particin puede contener la

ALUMNO: JOSE DANIEL WONG BE DABD

totalidad del espacio del disco duro o slo una parte. Las razones que
nos pueden llevar a crear ms de una particin por disco se suelen
reducir a tres:
1) Razones organizativas - Considrese el caso de una computadora que
es compartida por dos usuarios y, con objeto de lograr una mejor
organizacin y seguridad de sus datos, deciden utilizar particiones
separadas.
2) Instalacin de ms de un sistema operativo - Debido a que cada
sistema operativo requiere (como norma general) una particin propia
para trabajar, si queremos instalar dos sistemas operativos a la vez en el
mismo disco duro (por ejemplo, Windows 98 y Linux), ser necesario
particionar el disco.
3) Razones de eficiencia - Por ejemplo, suele ser preferible tener varias
particiones FAT pequeas antes que una gran particin FAT. Esto es
debido a que cuanto mayor es el tamao de una particin, mayor es el
tamao del grupo (clster) y, por consiguiente, se desaprovecha ms
espacio de la particin. Ms adelante, explicaremos esto con mayor
detalle.
Particiones primarias y particiones lgicas
Las particiones pueden ser de dos tipos: primarias o lgicas. Las
particiones lgicas se definen dentro de una particin primaria especial
denominada particin extendida. En un disco duro slo pueden existir 4
particiones primarias (incluida la particin extendida, si existe).
Ambos tipos de particiones generan las correspondientes unidades
lgicas de la computadora. Sin embargo, hay una diferencia importante:
slo las particiones primarias se pueden activar. Adems, algunos
sistemas operativos no pueden acceder a particiones primarias distintas
a
la
suya.
Lo anterior nos da una idea de qu tipo de particin utilizar para cada
necesidad. Los sistemas operativos (SO) deben instalarse en particiones
primarias, ya que de otra manera no podran arrancar. El resto de
particiones que no contengan un sistema operativo, es ms conveniente
crearlas como particiones lgicas (por ejemplo, un sector del disco duro
que ha de servir como depsito de instaladores, imgenes, mp3,
documentos de textos, e-books. etc.). Por dos razones: primera, no se
malgastan entradas de la tabla de particiones del disco duro y, segunda,
se evitan problemas para acceder a estos datos desde los sistemas
operativos instalados. Las particiones lgicas son los lugares ideales
para contener las unidades que deben ser visibles desde todos los

ALUMNO: JOSE DANIEL WONG BE DABD

sistemas operativos. Algunos sistemas operativos presumen de poder


ser instalados en particiones lgicas (Windows NT), sin embargo, esto no
es del todo cierto: necesitan instalar un pequeo programa en una
particin primaria que sea capaz de cederles el control.
TECNOLOGA RAID
Pese a que la tecnologa en el desarrollo de dispositivos de
almacenamiento
secundario
(especialmente
discos
duros)
ha
evolucionado espectacularmente, las prestaciones que se pueden
alcanzar con una nica unidad de disco resultan insuficientes para el
almacenamiento eficiente de grandes cantidades de datos.

Es por este motivo por el que se ha desarrollado la tecnologa conocida


con el nombre de RAID (Redundant Array of Inexpensive Disk).La idea
original de RAID fue la de igualar los rendimientos de los discos a los de
los procesadores y memorias principales. Mientras la capacidad de la
RAM se cuadruplica cada dos o tres aos, los tiempos de acceso a disco
apenas mejoran un 10% al ao, y los tiempos de transferencia menos de
un 20%.
Como solucin RAID plantea crear un array de pequeos discos
independientes que actan como un nico disco lgico de alto
rendimiento.
Adems, se utiliza una estrategia de almacenamiento conocida como
data striping (franjeo de datos) que se basa en el paralelismo. Segn
esta tcnica un mismo fichero se distribuye entre varios discos para que
su lectura completa se realice simultneamente desde todos los discos.
El acceso en paralelo a todos los discos es mucho ms rpido que un
acceso secuencial a
BD1 2006-2007128 uno de ellos. De ah que las lecturas y escrituras de
los datos resulten mucho ms rpidas.
RAID tiene como objetivo principal mejorar el rendimiento de los discos
magnticos, aunque sin olvidar un aspecto fundamental que es la
fiabilidad.
Para un array de n discos, la posibilidad de fallo es n veces mayor que
para un nico disco. El mantenimiento de una nica copia de los datos
en este tipo de estructura conllevara una importantsima prdida de
fiabilidad. La solucin
es introducir redundancia de datos.

ALUMNO: JOSE DANIEL WONG BE DABD

Una tcnica que permite la redundancia es lo que se conoce como


mirroring o shadowing, tambin conocido en espaol como espejo.
Segn esta tcnica, los datos se escriben fsicamente en dos discos
diferentes de forma redundante. Al leer los datos, stos se recuperan del
disco que tenga menos carga de peticiones, o que sea ms rpido. Si un
disco falla, se usa el otro hasta que se repare el primero.
ORGANIZACIN Y NIVELES RAID
Hay diferentes organizaciones RAID atendiendo a la forma de hacer el
franjeo de los datos y a la forma de acceder a los datos redundantes.
Estas organizaciones se jerarquizan en 7 niveles: desde RAID nivel 0
hasta RAID nivel 6.
RAID 0 no tiene redundancia de datos. De todas las organizaciones
RAID, sta tiene el mejor rendimiento en escritura ya que no tiene que
duplicar modificaciones. Sin embargo, el rendimiento en lectura es
menor.
RAID 1 ya plantea la redundancia de datos mediante discos espejo. El
rendimiento en lectura es mayor que en RAID 0 debido a que la peticin
de lectura se aplica al disco que sea ms rpido en cada momento.

RAID 2 optimiza el almacenamiento de informacin redundante


alalmacenar los cdigos de deteccin de error (bits de paridad) una
nica vez (no una para cada copia como ocurre en RAID 1) comunes. De
esta manera, un ejemplo concreto de 4 discos, slo necesitara 3 discos
espejo (en lugar de los 4 que necesita RAID 1).
RAID 3 a RAID 6 optimizan RAID 2 con diferentes estrategias para
deteccin de errores que minimizan el nmero de discos necesarios
aumentando el rendimiento del sistema sin perder fiabilidad.

Como conclusin para este apartado podramos concluir que el disco


magntico es una de las fuentes de almacenamiento secundario ms
extendidas para el almacenamiento de bases de datos. Sin embargo, la
organizacin fsica de las bases de datos evolucin tecnolgica del disco
magntico no ha sido tan espectacular como lo ha sido la evolucin
tecnolgica de la memoria RAM o de los procesadores.
Por este motivo ha sido necesario la introduccin de tcnicas de
almacenamiento redundante que han conseguido mejorar los
rendimientos de estos dispositivos. En concreto, la organizacin RAID es

ALUMNO: JOSE DANIEL WONG BE DABD

una de las ms extendidas en los servidores que tienen como principal


misin el almacenamiento de grandes bases de datos.
Una vez sentados los fundamentos del hardware que se usa para la
implementacin de las bases de datos, introduciremos algunos
conceptos sobre cmo se almacena fsicamente un fichero.
3.- Los motores de almacenamiento que se usan en MySQL
MySQL dispone de una docena de motores de almacenamiento propios,
ms los motores externos desarrollados por terceras partes que se
pueden incorporar al servidor. Algunos de los ms conocidos son:
MyISAM, InnoDB, HEAP, NDB.
A continuacin se describe brevemente cada uno de los motores de
almacenamiento.
MyISAM trata tablas no transaccionales.
Proporciona almacenamiento y recuperacin de datos rpida, as como
posibilidad de bsquedas fulltext. MyISAM se soporta en todas las
configuraciones MySQL, y es el motor de almacenamiento por defecto a
no ser que tenga una configuracin distinta a la que viene por defecto
con MySQL.
El motor de almacenamiento MEMORY anteriormente conocido como el
montn motor de almacenamiento almacena todos los datos en
memoria, una vez que se ha decidido apagar el servidor MySQL,
cualquier informacin almacenada en una base de datos MEMORY se
han perdido. Sin embargo, el formato de las tablas individuales se
mantiene y esto le permite crear tablas temporales que se pueden
utilizar para almacenar informacin para un acceso rpido sin tener que
recrear las tablas cada vez que el servidor de base de datos es iniciado.
A largo plazo, el uso del motor MEMORY en general, no una buena idea,
porque los datos podran ser tan perdidos fcilmente. Sin embargo, se
tiene la RAM para soportar las bases de datos en las que se estn
trabajando, el uso de tablas MEMORY es una forma eficiente de correr
consultas
complejas
sobre
grandes conjuntos de
datos
y
beneficindonos de las ganancias del rendimiento.
El motor de almacenamiento MERGE permite una coleccin de tablas
MyISAM idnticas ser tratadas como una simple tabla. Como MyISAM, los
motores de almacenamiento MEMORY y MERGE tratan tablas no
transaccionales y ambos se incluyen en MySQL por defecto. Podemos
ejecutar consultas que devuelven los resultados de mltiples tablas
como si se tratara de una sola tabla. Cada tabla fusionada debe tener la

ALUMNO: JOSE DANIEL WONG BE DABD

misma definicin de tabla. Las tablas MERGE son particularmente


efectivas si estamos logging directorios de datos, directa o
indirectamente, en una base de datos MySQL y creando una tabla
individual por da, semana o mes y queriendo ser capaces de producir
consultas agregadas de mltiples tablas. Hay limitaciones para esto sin
embargo, podemos fusionar tablas MyISAM y la restriccin de definicin
de idntica de tabla es estrictamente forzada.
El motor de almacenamiento ISAM es el motor original disponible en
las versiones de MySQL hasta que se introdujo el motor de
almacenamiento MyISAM en MySQL.
ISAM tiene un nmero de diferentes limitaciones que lo hacen poco
prctico como un motor de base de datos. Estos incluyen el formato de
almacenamiento, que es nativo de la plataforma y por lo tanto, no entre
sistemas porttiles, un tamao mximo de tabla de 4GB y limitado a
bsquedas de solo texto. Los ndices son tambin son ms limitados,
desde que MyISAM es compatible con las mismas plataformas que ISAM,
y ofrece una mejor compatibilidad, portabilidad y rendimiento.
El motor EXAMPLE es en realidad un ejemplo de programacin de un
motor de almacenamiento que puede ser utilizado como base para otros
motores en el sistema de MySQL. No soporta las inserciones de datos y
no es un motor prctico para cualquier forma de acceso a bases de
datos. Sin embargo, es una buena gua de cmo desarrollar su propio
motor de almacenamiento y, por tanto, una eficaz gua para los
programadores.
NDB Cluster es el motor de almacenamiento usado por MySQL Cluster
para implementar tablas que se particionan en varias mquinas. Estando
disponible en distribuciones binarias MySQLMax 5.0. Este motor de
almacenamiento est disponible para Linux, Solaris, y Mac OS X.
El motor de almacenamiento ARCHIVE se usa para guardar grandes
cantidades de datos sin ndices con una huella muy pequea.
El motor de almacenamiento CSV guarda datos en ficheros de texto
usando formato de valores separados por comas.
El motor de almacenamiento FEDERATED se aadi en MySQL 5.0.3.
Este motor guarda datos en una base de datos remota. En esta versin
solo funciona con MySQL a traves de la API MySQL C Client
.
4.- Definicin del espacio para la base de datos

ALUMNO: JOSE DANIEL WONG BE DABD

Son muchas las consideraciones a tomar en cuenta al momento de


hacer el diseo de la base de datos, quiz las ms fuertes sean:

La velocidad de acceso,

El tamao de la informacin,

El tipo de la informacin,

Facilidad de acceso a la informacin,

Facilidad para extraer la informacin requerida,

El comportamiento del manejador de bases de datos con cada tipo


de informacin.

No obstante que pueden desarrollarse sistemas de procesamiento


de archivo e incluso manejadores de bases de datos basndose en la
experiencia del equipo de desarrollo de software logrando resultados
altamente aceptables, siempre es recomendable la utilizacin de
determinados estndares de diseo que garantizan el nivel de eficiencia
ms alto en lo que se refiere a almacenamiento y recuperacin de la
informacin.
De igual manera se obtiene modelos que optimizan el aprovechamiento
secundario y la sencillez y flexibilidad en las consultas que pueden
proporcionarse al usuario.
5.- Diferencias entre un disco preparado y un disco que no sea
preparado para instalarlos
Todo mecanismo de funcionamiento tiene unas caractersticas
particulares. Las caractersticas en las que podemos encontrar
diferencias entre los distintos mecanismos de almacenamiento son
principalmente:

Almacenamiento fsico: aqu se incluye desde consideraciones


del tamao de pgina de tablas e ndices, el soporte de
almacenamiento hasta el formato de almacenamiento en disco.

Cach de memoria: diferentes aplicaciones responden mejor a


ciertas estrategias de cach que otras, por lo que aunque algunos
cach de memoria son comunes a todos los mecanismos (como los

ALUMNO: JOSE DANIEL WONG BE DABD

usados para conexiones de usuario o al cach de sentencias de


alta velocidad), otros son particulares a cada uno de ellos.

Concurrencia: algunas aplicaciones necesitan granularidad de


bloqueo ms fina (i.e. bloqueo a nivel de fila) que otras. La
eleccin de la estrategia de bloqueo adecuada puede reducir
tiempos de espera y aumentar la prestacin general. Este factor
incluye las capacidades concurrencia multi -versin (MVCC) o toma
de "instantneas".

Integridad referencial: caracterstica que responde a la


necesidad de que el servidor asegure la integridad referencial de
la base de datos mediante claves externas.

Particionado: algunos mecanismos permiten que diferentes


secciones de una misma tabla pueden ser almacenadas en
diferentes porciones de disco. Las reglas por las que se realiza este
particionado se denominan funciones, que en MySQL pueden ser el
mdulo, lista de rangos o valores, una funcin de hash interna o
una funcin lineal.

Prestaciones: las diferencias pueden estar causadas por los hilos


mltiples para operaciones en paralelo, la concurrencia de hilos, la
toma de puntos de control y el manejo de inserciones masivas.

Soporte de ndices: diferentes aplicaciones necesitan diferentes


estrategias en cuanto a ndices. Cada mecanismo de
almacenamiento tiene sus propios mtodos de indexacin -aunque
los B-tree son comunes a casi todos ellos- aunque algunos carecen
de ndices.

Soporte de transacciones: no todas las aplicaciones necesitan


transacciones, pero aqullas que las necesiten tendrn definidos
de manera precisa los requisitos ACID que deben satisfacer los
mecanismos adecuados a ellas.

Caractersticas varias: aqu se puede incluir soporte para


operaciones geo-espaciales y restricciones de seguridad para
ciertas operaciones de manipulacin de datos.

ALUMNO: JOSE DANIEL WONG BE DABD

En base a esta informacin podemos concluir el xito de nuestra base de


datos ya que de la preparacin del almacenamiento del mismo
depender el correcto funcionamiento y eficiencia de nuestro sistema.