Está en la página 1de 10

ALUMNO: JOSE DANIEL WONG BE

DABD

Actividad 3.
Reporte con similitudes y diferencias
de un DD para instalar MySQL
1.- Análisis de la estructura de almacenamiento del gestor de
bases de datos MySQL

MySQL tiene como característica principal en su estructura que separa


todos los detalles de Entrada/Salida además de la asignación de la
información en memoria secundaria, esto es: separa el motor de
almacenamiento al resto de los componentes de la estructura general.

La segmentación de un disco, es utilizada para implementación de


espacios en direcciones virtuales lógicas, que tendrán su uso para el
almacenamiento de datos, cumpliendo con los dos principales
requerimientos de asignación 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 propósito. 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 máximo crecimiento al que puede llegar una base de datos.

El tamaño de las tablas variará dependiendo del tamaño de los tipos de


datos, los cuales pueden ser comúnmente: numéricos, caracteres y
fechas.

Existen valores null, este se considera como valor no existente y se


puede aplicar a todos los tipos de columnas; existen también símbolos
utilizados para la definición de los diferentes tipos de datos en MySQL

El tamaño ocupado de acuerdo a cada tipo de columnas en el disco


duro, esta en función de las especificaciones.
De acuerdo al análisis anterior de los tipos de datos y diferentes
tamaños de los valores de caracteres y número usados para la creación
de tablas de una base de datos, se puede asumir el tamaño 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 asíncrona simulada,
creando un número de procesos que usarán las operaciones de
almacenamiento.

2.- Segmentación del disco duro


Cada disco duro constituye una unidad física. Sin embargo, los sistemas
operativos no trabajan con unidades físicas directamente sino con
unidades lógicas. Dentro de una misma unidad física de disco duro
puede haber varias unidades lógicas. Cada una de estas unidades
lógicas constituye una partición del disco duro. Esto quiere decir que
podemos dividir un disco duro en, por ejemplo, dos particiones (dos
unidades lógicas dentro de una misma unidad física) y trabajar de la
misma manera que si tuviésemos dos discos duros (una unidad lógica
para cada unidad física).

Particiones y directorios Ambas


estructuras permiten organizar datos
dentro de un disco duro. Sin embargo,
presentan importantes diferencias:

1ª) Las particiones son divisiones de


tamaño fijo del disco duro los
directorios son divisiones de tamaño
variable de la partición.

2ª) Las particiones ocupan un grupo


de cilindros contiguos del disco duro (mayor seguridad); los directorios
suelen tener su información desperdigada por toda la partición (por ello
es necesaria la de fragmentación periódica).

3ª) Cada partición del disco duro puede tener un sistema de archivos
(FAT, FAT32, NTFS, etc.) distinto. Todos los directorios de una partición
tienen el mismo sistema de archivos. Como mínimo, es necesario crear
una partición para cada disco duro. Esta partición puede contener la
totalidad del espacio del disco duro o sólo una parte. Las razones que
nos pueden llevar a crear más de una partición por disco se suelen
reducir a tres:

1) Razones organizativas - Considérese el caso de una computadora que


es compartida por dos usuarios y, con objeto de lograr una mejor
organización y seguridad de sus datos, deciden utilizar particiones
separadas.
2) Instalación de más de un sistema operativo - Debido a que cada
sistema operativo requiere (como norma general) una partición 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 pequeñas antes que una gran partición FAT. Esto es
debido a que cuanto mayor es el tamaño de una partición, mayor es el
tamaño del grupo (clúster) y, por consiguiente, se desaprovecha más
espacio de la partición. Más adelante, explicaremos esto con mayor
detalle.

Particiones primarias y particiones lógicas

Las particiones pueden ser de dos tipos: primarias o lógicas. Las


particiones lógicas se definen dentro de una partición primaria especial
denominada partición extendida. En un disco duro sólo pueden existir 4
particiones primarias (incluida la partición extendida, si existe).

Ambos tipos de particiones generan las correspondientes unidades


lógicas de la computadora. Sin embargo, hay una diferencia importante:
sólo las particiones primarias se pueden activar. Además, algunos
sistemas operativos no pueden acceder a particiones primarias distintas
a la suya.
Lo anterior nos da una idea de qué tipo de partición utilizar para cada
necesidad. Los sistemas operativos (SO) deben instalarse en particiones
primarias, ya que de otra manera no podrían arrancar. El resto de
particiones que no contengan un sistema operativo, es más conveniente
crearlas como particiones lógicas (por ejemplo, un sector del disco duro
que ha de servir como depósito de instaladores, imágenes, 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 lógicas son los lugares ideales
para contener las unidades que deben ser visibles desde todos los
sistemas operativos. Algunos sistemas operativos presumen de poder
ser instalados en particiones lógicas (Windows NT), sin embargo, esto
no es del todo cierto: necesitan instalar un pequeño programa en una
partición primaria que sea capaz de cederles el control.

TECNOLOGÍA RAID
Pese a que la tecnología 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 tecnología 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 años, los tiempos de acceso a disco
apenas mejoran un 10% al año, y los tiempos de transferencia menos
de un 20%.
Como solución RAID plantea crear un array de pequeños discos
independientes que actúan como un único disco lógico de alto
rendimiento.

Además, se utiliza una estrategia de almacenamiento conocida como


data striping (franjeo de datos) que se basa en el paralelismo. Según
esta técnica un mismo fichero se distribuye entre varios discos para que
su lectura completa se realice simultáneamente desde todos los discos.
El acceso en paralelo a todos los discos es mucho más rápido que un
acceso secuencial a
BD1 2006-2007128 uno de ellos. De ahí que las lecturas y escrituras de
los datos resulten mucho más rápidas.

RAID tiene como objetivo principal mejorar el rendimiento de los discos


magnéticos, 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 conllevaría una importantísima pérdida de
fiabilidad. La solución
es introducir redundancia de datos.
Una técnica que permite la redundancia es lo que se conoce como
mirroring o shadowing, también conocido en español como espejo.
Según esta técnica, los datos se escriben físicamente 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 más rápido. Si
un disco falla, se usa el otro hasta que se repare el primero.
ORGANIZACIÓN 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 petición
de lectura se aplica al disco que sea más rápido en cada momento.

• RAID 2 optimiza el almacenamiento de información redundante


alalmacenar los códigos de detección 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, sólo necesitaría 3 discos
espejo (en lugar de los 4 que necesita RAID 1).

• RAID 3 a RAID 6 optimizan RAID 2 con diferentes estrategias para


detección de errores que minimizan el número de discos necesarios
aumentando el rendimiento del sistema sin perder fiabilidad.

Como conclusión para este apartado podríamos concluir que el disco


magnético es una de las fuentes de almacenamiento secundario más
extendidas para el almacenamiento de bases de datos. Sin embargo, la
organización física de las bases de datos evolución tecnológica del disco
magnético no ha sido tan espectacular como lo ha sido la evolución
tecnológica de la memoria RAM o de los procesadores.

Por este motivo ha sido necesario la introducción de técnicas de


almacenamiento redundante que han conseguido mejorar los
rendimientos de estos dispositivos. En concreto, la organización RAID es
una de las más extendidas en los servidores que tienen como principal
misión el almacenamiento de grandes bases de datos.
Una vez sentados los fundamentos del “hardware” que se usa para la
implementación de las bases de datos, introduciremos algunos
conceptos sobre cómo se almacena físicamente un fichero.

3.- Los motores de almacenamiento que se usan en MySQL

MySQL dispone de una docena de motores de almacenamiento propios,


más los motores externos desarrollados por terceras partes que se
pueden incorporar al servidor. Algunos de los más conocidos son:
MyISAM, InnoDB, HEAP, NDB.

A continuación se describe brevemente cada uno de los motores de


almacenamiento.

• MyISAM trata tablas no transaccionales.

Proporciona almacenamiento y recuperación de datos rápida, así como


posibilidad de búsquedas fulltext. MyISAM se soporta en todas las
configuraciones MySQL, y es el motor de almacenamiento por defecto a
no ser que tenga una configuración distinta a la que viene por defecto
con MySQL.

• El motor de almacenamiento MEMORY anteriormente conocido como el


montón motor de almacenamiento almacena todos los datos en
memoria, una vez que se ha decidido apagar el servidor MySQL,
cualquier información 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 información para un acceso rápido 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 podrían ser tan perdidos fácilmente. Sin embargo, se
tiene la RAM para soportar las bases de datos en las que se están
trabajando, el uso de tablas MEMORY es una forma eficiente de correr
consultas complejas sobre grandes conjuntos de datos y
beneficiándonos de las ganancias del rendimiento.

• El motor de almacenamiento MERGE permite una colección de tablas


MyISAM idénticas 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 múltiples tablas
como si se tratara de una sola tabla. Cada tabla fusionada debe tener la
misma definición 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 día, semana o mes y queriendo ser capaces de producir
consultas agregadas de múltiples tablas. Hay limitaciones para esto sin
embargo, podemos fusionar tablas MyISAM y la restricción de definición
de idéntica 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 número de diferentes limitaciones que lo hacen poco


práctico 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 portátiles, un tamaño máximo de tabla de 4GB y limitado a
búsquedas de solo texto. Los índices son también son más 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 programación 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 práctico para cualquier forma de acceso a bases de
datos. Sin embargo, es una buena guía de cómo desarrollar su propio
motor de almacenamiento y, por tanto, una eficaz guía para los
programadores.

• NDB Cluster es el motor de almacenamiento usado por MySQL Cluster


para implementar tablas que se particionan en varias máquinas.
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 pequeña.

• El motor de almacenamiento CSV guarda datos en ficheros de texto


usando formato de valores separados por comas.

• El motor de almacenamiento FEDERATED se añadió en MySQL 5.0.3.


Este motor guarda datos en una base de datos remota. En esta versión
solo funciona con MySQL a traves de la API MySQL C Client

4.- Definición del espacio para la base de datos


Son muchas las consideraciones a tomar en cuenta al momento de
hacer el diseño de la base de datos, quizá las más fuertes sean:

 La velocidad de acceso,

 El tamaño de la información,

 El tipo de la información,

 Facilidad de acceso a la información,

 Facilidad para extraer la información requerida,

 El comportamiento del manejador de bases de datos con cada tipo


de información.

No obstante que pueden desarrollarse sistemas de procesamiento


de archivo e incluso manejadores de bases de datos basándose en la
experiencia del equipo de desarrollo de software logrando resultados
altamente aceptables, siempre es recomendable la utilización de
determinados estándares de diseño que garantizan el nivel de eficiencia
más alto en lo que se refiere a almacenamiento y recuperación de la
información.

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 características


particulares. Las características en las que podemos encontrar
diferencias entre los distintos mecanismos de almacenamiento son
principalmente:

 Almacenamiento físico: aquí se incluye desde consideraciones


del tamaño de página 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
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 más fina (i.e. bloqueo a nivel de fila) que otras. La
elección de la estrategia de bloqueo adecuada puede reducir
tiempos de espera y aumentar la prestación general. Este factor
incluye las capacidades concurrencia multi -versión (MVCC) o
toma de "instantáneas".

 Integridad referencial: característica 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 módulo, lista de rangos o valores, una función de hash
interna o una función lineal.

 Prestaciones: las diferencias pueden estar causadas por los hilos


múltiples 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 métodos de indexación -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 aquéllas que las necesiten tendrán definidos
de manera precisa los requisitos ACID que deben satisfacer los
mecanismos adecuados a ellas.

 Características varias: aquí se puede incluir soporte para


operaciones geo-espaciales y restricciones de seguridad para
ciertas operaciones de manipulación de datos.
En base a esta información podemos concluir el éxito de nuestra base de
datos ya que de la preparación del almacenamiento del mismo
dependerá el correcto funcionamiento y eficiencia de nuestro sistema.

También podría gustarte