You are on page 1of 22

INTRODUCCION

En este captulo se describe la naturaleza y las relaciones de las estructuras


lgicas de almacenamiento. Estas estructuras se crean y reconocen por la
Base de datos Oracle y no estn reconocidas por el sistema operativo.

Las
estructuras de datos utilizadas para el almacenamiento y recuperacin de la
informacin son muchas veces altamente complejas con el objeto de crear un
sistema eficiente.




OBJETIVO

Es lograr la representacin de un sistema del mundo real de manera que
pueda ser manejado en un mundo informtico. El presente trabajo tiene como
objetivo efectuar un anlisis comparativo que sirva como referencia para la
seleccin en un determinado sistema de gestin de base de datos




















1.- ESTRUCTURAS LOGICAS DE ALMACENAMIENTO
ESTRUCTURA LGICA:
Desde el punto de vista lgico, la base de datos debe tener al menos 1
FileGroup el cual contiene a toda la metadata de la misma base de datos, es
decir tablas y vistas de sistema, a este FileGroup inicial se le conoce como
Primario y est presente en todas las bases de datos. Todos los objetos de
usuario que contengan data, ya sean tablas o ndices, deben estar ligados a un
FileGroup, esto se puede definir al momento de ejecutar la sentencia DDL de
creacin del objeto, si no se indica a que FileGroup estar ligado ese objeto,
este pertenecer al FileGroup por defecto definido en la base de datos. La
base de datos solo puede tener definido 1 solo default FileGroup.
Las bases de datos pueden tener hasta 32767 FileGroups definidos, segn
los lmites establecidos para la ltima versin de SQL Server, la cual es SQL
Server 2008 R2. Uno de los propsitos de los FileGroups es poder distribuir la
data a travs de varios discos duros fsicos, de esta manera se puede obtener
mayor rendimiento en las operaciones de I/O debido a que ms de un disco
trabajara al mismo tiempo. Otro de los propsitos es poder esconder la
ubicacin fsica real de la informacin a los programadores, ya que para ellos la
tabla X pertenece al FileGroup A, pero no saben en que data files
fsicamente se encuentra la informacin de la tabla X.






Los FileGroups pueden contener 1 o ms Datafiles, y cada uno de estos
datafiles se pude encontrar en un discos diferentes, lo cual tambin agilizara
las consultas y los ingresos de informacin a las tablas que se encuentren
asignadas a este FileGroup, debido a que SQL Server distribuir la
informacin uniformemente a travs de todos los DataFiles del FileGroup.
Para la gestin del almacenamiento de una base de datos existen 4 conceptos
bien definidos que deben ser conocidos para poder comprender la forma en la
que se almacenan los datos. Vamos a ver la diferencia entre bloque, extensin,
segmento y espacio de tablas.



Bloques: Se tratan de la unidad ms pequea. Generalmente debe mltiple del
tamao de bloque del sistema operativo, ya que es la unidad mnima que va a
pedir Oracle al sistema operativo. Si no fuera mltiple del bloque del sistema se
aadira un trabajo extra ya que el sistema debera obtener ms datos de los
estrictamente necesarios. Se especifica mediante DB_BLOCK_SIZE
Extensiones: Se forma con uno o ms bloques. Cuando se aumenta tamao
de un objeto se usa una extensin para incrementar el espacio.
Segmentos: Grupo de extensiones que forman un objeto de la base de datos,
como por ejemplo una tabla o un ndice.
Espacio de tablas: Formado por uno o ms datafiles, cada datafile solo puede
pertenecer a un determinado tablespace
En general, el almacenamiento de los objetos de la base de datos (tablas e
ndices fundamentalmente) no se realiza sobre el archivo o archivos fsicos de
la base de datos, sino que se hace a travs de estructuras lgicas de
almacenamiento que tienen por debajo a esos archivos fsicos, y que
independizan por tanto las sentencias de creacin de objetos de las estructuras
fsicas de almacenamiento. Esto es til porque permite que a esos "espacios de
objetos " les sean asociados nuevos dispositivos fsicos (es decir, ms espacio
en disco) de forma dinmica cuando la base de datos crece de tamao ms de
lo previsto. Posibilita adems otra serie de operaciones como las siguientes:
Asignar cuotas especficas de espacio a usuarios de la base de datos.
Controlar la disponibilidad de los datos de la base de datos, poniendo fuera de
uso alguno de esos espacios de tablas individualmente.
Realizar copias de seguridad o recuperaciones parciales de la base de datos.
Reservar espacio para almacenamiento de datos de forma cooperativa entre
distintos dispositivos.
El administrador de la base de datos puede crear o borrar nuevos espacios
lgicos de objetos, aadir o eliminar ficheros fsicos de soporte, utilizados como
espacio temporal de trabajo, definir parmetros de almacenamiento para
objetos destinados a ese espacio de datos, todos los gestores relacionales que
venimos introduciendo como ejemplos siguen esta filosofa. En el caso de
Oracle, sobre los ficheros fsicos de datos (datafiles) se definen los
tablespaces. Por lo tanto, una base de datos Oracle se compone lgicamente
de tablcspaccs, y fsicamente de datafilcs. Su creacin es sencilla, con la
sentencia GREAT'', TABLESPACE: CREATE TABLESPACE usuarios
DATAFILE `datal.ora' SIZE 50M
Tambin es sencillo ampliar el espacio destinado a un tablespace utilizando el
comando ALTER TABLESPACE:


ALTER TABLESPACE usuarios ADD DATAFILE 'data2.ora' SIZE 25M
Para hacer ms grande una base de datos, las opciones disponibles son tres:

Cada base de datos contiene un tablespace llamado SYSTEM que es creado
automticamente al crear la base de datos. Contiene las tablas del diccionario
de datos para la base de datos en cuestin. Es recomendable no cargar datos
de usuario en SYSTEM, para dejarlos como espacio de objetos del sistema. Si
adems los datos de usuario estn en tablespaces sitos en otros dispositivos,
el rendimiento mejorar porque las tablas del diccionario de datos se acceden
frecuentemente y por lo tanto son un cuello de botella potencial desde el punto
de vista del acceso a disco. A la hora de estimar el espacio necesario para cl
tablespace sys-nsm hay que tener en cuenta que las unidades de
programacin PL-SQL (entorno de programacin SQL proporcionado por
Oracle) almacenadas en la base de datos (procedimientos, paquetes, disparos
y funciones) almacenan sus datos en SYSTEM.
De acuerdo con lo comentado anteriormente, tablas e ndices se ubicarn en el
tablespaee indicado en el momento de su creacin con la correspondiente
sentencia CREATE. Si no se dice nada, se situarn en el tablespace por
defecto asociado al usuario creador.

1.1 DEFINICION DE ESPACIO DE ALMACENAMIENTO

Las bases de datos suelen ser creadas para almacenar grandes cantidades
de datos de forma permanente. Por lo general, los datos almacenados en stas
suelen ser consultados y actualizados constantemente.

Los espacios de almacenamiento son unidades virtuales que aparecen en el
Explorador de archivos. Puede usarlos como cualquier otra unidad, por lo que
es fcil trabajar con los archivos que contienen.
Puede crear grandes espacios de almacenamiento y agregar ms unidades a
ellos cuando la capacidad del grupo sea insuficiente.


Si tiene dos o ms unidades en el grupo de almacenamiento, puede crear
espacios de almacenamiento que no se vern afectados por un error en la
unidad, o incluso en dos unidades, si crea un espacio de almacenamiento de
reflejo triple.

Entre las unidades de medicin de almacenamiento, es decir, el tamao o
espacio disponible en cada uno de estos dispositivos, se cuentan:

- el bit o dgito binario: un bit es la unidad de informacin ms pequea que el
procesador manipula y fsicamente se representa con un elemento como un
pulso o un punto. Ocho bits constituyen un byte.
- el byte o unidad de almacenamiento: cuenta con 8 bits. Equivale a un slo
carcter, como una letra o un nmero.
- el kilobyte (kB): equivale a 1.024 bytes y a menudo es la unidad en la que se
registra el almacenamiento de archivos pequeos como documentos de texto o
imgenes en baja resolucin.
- el megabyte (MB): equivale a ms de un milln de bytes, y commente
archivos de tamao considerable se almacenan en esta unidad. Por ejemplo,
imgenes en alta resolucin, archivos, carpetas, documentos y hasta
programas.
- el gigabyte (GB): equivale a mil millones de bytes. Es la unidad que ms
tpicamente se maneja hoy en da, y los ordenadores ms comunes proveen de
un espacio de ms de 100 GB para memoria. Los archivos de todo un
ordenador de tamao considerable se miden en GB.
- el terabyte (TB): equivale a 1024 Gigabytes y es una medida que se utiliza
para referir a ordenadores de alta complejidad.



1.2 DEFINICION Y CREACION DEL ESPACIO ASIGNADO PARA CADA
BASE DE DATOS.

Las bases de datos se almacenan en ficheros o archivos. Existen diferentes
formas de organizaciones primarias de archivos que determinan la forma en
que los registros de un archivo se colocan fsicamente en el disco y, por lo
tanto, cmo se accede a stos.
Las distintas formas de organizaciones primarias de archivos son:

Existe una segunda forma de acceder a los datos llamada organizacin
secundaria o estructura de acceso auxiliar. Estas permiten que los accesos a


los registros de un archivo basado en campos alternativos, sean ms eficientes
que los que han sido utilizados para la organizacin primaria de archivos.
El DBMS asigna espacio de almacenamiento a las bases de datos cuando los
usuarios introducen create database o alter database. El primero de los
comandos puede especificar uno o ms dispositivos de base de datos, junto
con la cantidad de espacio en cada uno de ellos que ser asignado a la nueva
base de datos.

Si se utiliza la palabra clave default o se omite completamente la clusula on ,
el DBMS pone la base de datos en uno o ms de los dispositivos
predeterminados de base de datos especificados en master..sysdevices
Para especificar un tamao (en este ejemplo, 4MB) para una base de datos
que se va a almacenar en una ubicacin predeterminada, utilice on default =
size de esta forma:
Create database newpubs on default = 4

Para situar la base de datos en dispositivos especficos, d el nombre del
dispositivo o dispositivos en que desea almacenarla. Como la sintaxis indica,
puede solicitar que se almacene en ms de un dispositivo de base de datos,
con una cantidad de espacio diferente en cada uno. Todos los dispositivos
mencionados en create database deben estar enumerados en sysdevices. En
otras palabras, deben haberse inicializado con disk init .
La instruccin siguiente crea la base de datos newdb y asigna 3MB en mydata
y 2MB en newdata. Como en el ejemplo anterior, la base de datos y el diario de
transacciones no se separan:
Create database newdb on mydata = 3, newdata = 2

Warning! A menos que cree una base de datos pequea o que no sea crucial,
site siempre el diario en un dispositivo de base de datos aparte.
Si la cantidad de espacio solicitada a un dispositivo especfico de base de
datos no est disponible, el DBMS crea la base de datos con tanto espacio
como sea posible en cada dispositivo y muestra un mensaje informando el
espacio asignado en cada uno. (Esto no se considera un error.) Si hay menos
espacio del mnimo necesario para una base de datos en el dispositivo
especificado (o en el predeterminado, si no se especifica un nombre), el
comando create database falla.

La propiedad de la base de datos DbStorageLocation especifica la carpeta
donde Analysis Services crea y administra todos los archivos de metadatos y
datos de la base de datos. Todos los archivos de metadatos estn
almacenados en la carpeta DbStorageLocation, con la excepcin del archivo
de metadatos de la base de datos, que est almacenado en la carpeta de datos
del servidor. Hay dos consideraciones importantes al establecer el valor de
propiedad de la base de
datos DbStorageLocation:
La propiedad de base de datos DbStorageLocation se debe establecer en una
ruta UNC de carpeta existente o en una cadena vaca. De manera
predeterminada, la carpeta de datos


del servidor es una cadena vaca. Si la carpeta no existe, se producir un error
al ejecutar un comando Create, Attach o Alter.
La propiedad de la base de datos DbStorageLocation no se puede establecer
para que apunte a la carpeta de datos del servidor ni a ninguna de sus
subcarpetas. Si la ubicacin apunta a la carpeta de datos del servidor o a
cualquiera de sus subcarpetas, se producir un error al ejecutar un
comando Create, Attach o Alter.
1.3 BITACORAS
Cada base de datos en SQL Server tiene un Transaction Log asociado con ella.
El Transaction log (en espaol bitcora de transacciones) es un componente
esencial de SQL Server, el cual la utiliza para registrar un historial de cada
modificacin que sufre la base de datos como resultado de las transacciones.
Dicho registro es de vital importancia para mantener la integridad de los datos y
poder deshacer los cambios resultantes de transacciones incompletas ya sea
por error del sistema o por la cancelacin por parte de los usuarios.
Durante la operacin de la base de datos la escritura a la bitcora tiene
prioridad, es decir, todos los cambios primero se escriben a la bitcora y luego
se aplican a la base de datos.
Debido a su importancia, es imperativo respaldar la bitcora regularmente ya
que de no hacerlo, ser imposible recuperar la base de datos en caso de falla.
La estructura ms ampliamente usada para grabar las modificaciones de la
base de datos es la Bitcora.
Cada registro de la bitcora escribe una nica escritura de base de datos y
tiene lo siguiente:
1. Nombre de la transaccin: Nombre de la transaccin que realiz la
operacin de escritura.
2. Nombre del dato: El nombre nico del dato escrito.
3. Valor antiguo: El valor del dato antes de la escritura.
4. Valor nuevo: El valor que tendr el dato despus de la escritura.
Existen otros registros de bitcora especiales para grabar sucesos importantes
durante el proceso de transaccin tales como :
< T1, inicio >
< T1, x, v1, v2 >
< T1, commit >
Es fundamental que siempre se cree un registro en la bitcora cuando se
realice una escritura antes de que se modifique la base de datos.
Tambin tenemos la posibilidad de deshacer una modificacin que ya se ha
escrito en la base de datos, esto se realizar usando el campo del valor antiguo
de los registros de la bitcora.


Los registros de la bitcora deben residir en memoria estable como resultado el
volumen de datos en la bitcora puede ser exageradamente grande.
1.4 PARTICIONES
La creacin de particiones en una base de datos mejora el rendimiento y
simplifica el mantenimiento. Al dividir una tabla grande en tablas individuales
ms pequeas, las consultas que tengan acceso nicamente a una parte de los
datos pueden ejecutarse con mayor rapidez, ya que deben recorrer menos
datos. Las tareas de mantenimiento (por ejemplo, volver a generar los ndices o
hacer copias de seguridad de una tabla), pueden ejecutarse con mayor rapidez.
Se puede conseguir la creacin de particiones sin dividir las tablas si las tablas
se colocan fsicamente en unidades de disco individuales. La colocacin de una
tabla en una unidad fsica y de las tablas relacionadas en una unidad
independiente puede mejorar el rendimiento de las consultas, debido a que,
cuando se ejecutan consultas que implican combinaciones entre las tablas,
varios encabezados de discos leen los datos al mismo tiempo. Se pueden
utilizar grupos de archivos de SQL Server para especificar los discos en los que
se colocarn las tablas.
Una particin es una divisin de una base de datos lgica o sus elementos
constituyentes en partes independientes. La particin de bases de datos se
hace normalmente por razones de mantenimiento, rendimiento o manejo.
Una aplicacin popular y favorable es en un Sistema de Administracin de
Base de Datos Distribuida. Cada particin puede ser extendida hasta mltiples
nodos, y los usuarios en el nodo pueden hacer transacciones locales en la
particin. Esto aumenta el rendimiento en sitios que tienen transacciones
regularmente involucrando ciertas vistas de datos, y manteniendo la
disponibilidad y la seguridad.
Esta particin puede hacerse creando bases de datos ms pequeas
separadas (cada una con sus propias tablas, ndices, y registros de
transacciones) o dividiendo elementos seleccionados, por ejemplo, solo una
tabla.
Particin horizontal consiste en poner diferentes filas en diferentes tablas. Por
ejemplo, clientes con cdigos postales menores que 50000 estn almacenados
en la tabla ClientesEste, mientras que los clientes con cdigos postales
mayores o iguales a 50000 estn almacenados en la tabla ClientesOeste. Las
dos tablas de particin son entonces ClientesEste y ClientesOeste, mientras
que una vista con una unin podra ser creada con las dos tablas para poder
dar una vista completa de todos los clientes.
Particin vertical consiste en crear miles de tablas con miles de columnas y
crear tablas para poner las columnas restantes.
Para crear y administrar particiones, deber usar el cuadro de
dilogo Administrador de particiones. Para ver el cuadro de
dilogo Administrador de particiones, en SQL Server Data Tools, haga clic en el
men Tabla y en Particiones.
Para crear una nueva particin


1. En el diseador de modelos, seleccione la tabla en la que desea definir
una particin.
2. Haga clic en el men Tabla y en Particiones.
3. En Administrador de particiones, en el cuadro de lista Tabla, compruebe
o seleccione la tabla en la que desea crear particiones y, a continuacin,
haga clic enNuevo.
4. En Nombre de particin, escriba un nombre para la particin. De forma
predeterminada, el nombre de la particin predeterminada se
incrementar numricamente para cada nueva particin.
5. Puede seleccionar las filas y las columnas que se incluirn en la
particin mediante el modo de vista previa de tabla o mediante una
consulta SQL creada con el Editor de consultas.
Para utilizar el modo de vista previa de tabla (valor predeterminado),
haga clic en el botn Vista previa de la tabla cerca de la esquina superior
derecha de la ventana de vista previa. Seleccione las columnas que
desea incluir en la particin activando la casilla situada junto al nombre
de cada columna. Para filtrar las filas, haga clic con el botn secundario
en un valor de celda y, a continuacin, haga clic en Filtrar por valor de
celda seleccionado.
Para utilizar una instruccin SQL, haga clic en el botn Editor de
consultas cerca de la esquina superior derecha de la ventana de vista
previa y, a continuacin, escriba o pegue una instruccin de consulta
SQL en la ventana de consulta. Para validar la instruccin, haga
clic Validar. Haga clic en Diseo para abrir el Diseador de consultas.
Para copiar una particin
1. En Administrador de particiones, en el cuadro de lista Tabla, compruebe
o seleccione la tabla que contiene la particin que desea copiar.
2. En la lista Particiones, seleccione la particin que desea copiar y haga
clic en Copiar.
3. En Nombre de particin, escriba un nuevo nombre para la particin.
Para eliminar una particin
1. En Administrador de particiones, en el cuadro de lista Tabla, compruebe
o seleccione la tabla que contiene la particin que desea eliminar.
2. En la lista Particiones, seleccione la particin que desea eliminar y haga
clic en Eliminar.

1.5 ESPACIOS PRIVADOS
El espacio que consumen estas bases de datos de usuario crece a una
velocidad que es mucho ms rpida que la tasa tpica. Dependiendo de los
parmetros de crecimiento automtico de estas bases de datos de usuario, los
archivos de base de datos pueden crecer con ms frecuencia que crecen en
casos tpicos.
La parte no utilizada del espacio que consumen estas bases de datos de
usuario ser mayor que la parte sin usar tpica.
Al ver las propiedades de las estructuras de almacenamiento de informacin de
estas bases de datos de usuario, como la estructura de almacenamiento de


informacin del montn, el rbol de la imagen de texto y el ndice agrupado,
ver que gran cantidad de espacio no utilizado.
El espacio reservado para las entradas de ndice en la tabla sysindexes se
aumenta en mltiplos de 8. Sin embargo, el espacio utilizado para las entradas
de ndice en la tabla sysindexes aumenta por un pequeo nmero, como 1 o 2.
Es decir, para cada ocho pginas asignadas en una nueva extensin, nunca se
utilizan slo unas pocas pginas desde ese punto.
Un espacio privado permite que los administradores y redactores gestionen
el conjunto de datos del sitio. Algunas bases de datos tienen estos espacios
privados llamados comnmente paneles de control, que son formularios que
aparecen al abrir la base de datos.
Los paneles de control sirven de "puerta principal" o "recibidor" de una base de
datos en el sentido de que dirigen a las personas hacia determinadas tareas,
como introducir o buscar datos. Sirven tambin para mantener alejados a los
usuarios de las tablas que contienen los datos en tiempo real.
Cuando reciba una base de datos, debe adentrarse ms all del panel de
control para averiguar cmo estn estructurados los datos, pero merece la
pena echar un vistazo inicial al panel de control. Le puede ofrecer algn indicio
sobre las tareas que el diseador de la base de datos consider que realizaran
los usuarios habitualmente con los datos.
Puede hacer clic en los vnculos del panel de control para ver qu objetos,
como formularios e informes, abren.


1.6 ESPACIOS PARA OBJETOS
Estimar el tamao de los objetos de base de datos es una tarea imprecisa.
Causado por la fragmentacin del disco, espacio libre, y el uso de columnas de
longitud variable hace que la estimacin del tamao difcil, porque hay una
amplia gama de posibilidades para los tipos de columnas y longitudes de fila.
Despus de comenzar a estimar el tamao de su base de datos, cree una base
de datos de prueba y llenarla con datos representativos.
Desde el Centro de control, puede acceder a una serie de utilidades que estn
diseados para ayudarle a determinar los requisitos de tamao de los objetos
de bases de datos diferentes:


Usted puede seleccionar un objeto y luego usar el "Tamao estimado" de
utilidad. Esta utilidad le puede decir el tamao actual de un objeto existente,
como una tabla. A continuacin, puede cambiar el objeto y la utilidad calcular
nuevos valores estimados para el objeto. La utilidad le ayudar requisitos
aproximados de almacenamiento, teniendo en cuenta el crecimiento futuro. Se
proporciona rangos posibles de tamao para el objeto: tanto el tamao ms
pequeo, sobre la base de valores de corriente, y el mayor tamao posible.
Puede determinar las relaciones entre los objetos mediante la opcin "Mostrar
relacionada" ventana.
Usted puede seleccionar cualquier objeto de base de datos en la instancia de
solicitud y "Generar DDL". Esta funcin utiliza la utilidad db2look para generar
estados de definicin de datos para la base de datos.
En cada uno de estos casos, o la opcin "Mostrar SQL" o el botn "Mostrar
Command" est disponible para usted. Puede guardar las declaraciones
resultantes de SQL o mandatos en archivos de script que se utilizar ms
adelante. Todas estas utilidades han ayuda en lnea para ayudarle.
Sigue estas utilidades en cuenta al planificar su base de datos fsica
Cuando se estima el tamao de una base de datos, la contribucin de los
siguientes debe ser considerada:
Las tablas de catlogo del sistema
Tabla de datos de usuario
Los datos de campo largo
De objetos grandes (LOB)
ndice de espacio
Entrar espacio de ficheros
Espacio de Trabajo Temporal
Los requisitos de espacio relacionados con los siguientes no se discuten:
La base de datos local del directorio de archivos
La base de datos del directorio de archivos del sistema
La sobrecarga de gestin de archivo requerido por el sistema operativo,
incluyendo:
Archivo de tamao de bloque
Directorio de espacio de control
Los DBMS se basan en archivos para almacenar datos, y estos archivos, o
conjuntos de datos, residen en medios de almacenamiento, o dispositivos. Una
buena parte del trabajo del DBA implicar la planificacin para el
almacenamiento real de la base de datos.
Algunas tecnologas de almacenamiento son ms adecuadas que otras. Sin
embargo, la naturaleza mecnica de la unidad de disco los hace ms
vulnerables al fracaso de los componentes de otro equipo. Adems, las formas
en que las unidades de disco son utilizados por las bases de datos pueden
hacer que la gestin del almacenamiento impredecibles, como la barra lateral


"Modern DBMS de uso de disco Puede usarse RAID para mejorar la seguridad
de los datos.
Para aplicaciones de misin crtica la integridad de los datos puede ser ms
importante que la disponibilidad de datos. Si el soporte es poco fiable y un fallo
de las causas de corrupcin de datos, los datos perdidos puede ser ms de un
problema que el tiempo de inactividad. Es imperativo, por tanto, que las
soluciones de almacenamiento de base de datos para protegerlos a toda costa.
La recuperacin de datos desde medios de almacenamiento lleva mucho ms
tiempo en completarse que la recuperacin de datos desde la memoria cach o
la memoria.
El rendimiento de la base de datos depende de la entrada y salida a disco. La
cantidad de datos almacenados es mayor que nunca antes, y los datos se
almacenados por ms tiempo.
Algunos DBMS permiten al tamao de los archivos temporales de expandirse y
contraerse de forma automtica. Dependiendo del tipo y la naturaleza de las
operaciones de base de datos en proceso, esta fluctuacin puede provocar
picos de uso del disco
El crecimiento de la capacidad de almacenamiento aumenta an ms la
complejidad de la gestin de datos y bases de datos. Muchas organizaciones
estn implementando nuevas tecnologas de almacenamiento, tales como
almacenamiento en red (NAS) y redes de rea de almacenamiento (SAN), para
ayudar a controlar la cantidad cada vez mayor de almacenamiento necesario
para los usos modernos. La gestin del almacenamiento en el entorno
dinmico de hoy es una tarea difcil DBA.
Hay muchos problemas de almacenamiento que deben ser resueltos antes de
que un DBA pueda crear una base de datos. Uno de los temas ms
importantes es la cantidad de espacio para permitir la base de datos.
El clculo espacial debe tener en cuenta no slo tablas, ndices, sino tambin, y
dependiendo del DBMS, el registro de transacciones. Cada una de estas
entidades probablemente requerir un archivo separado o conjunto de datos,
para el almacenamiento persistente.
El DBA debe separar en diferentes discos a los archivos para:


2.-SEGMENTOS
Un segmento de datos es una caracterstica de optimizacin que ayuda a dirigir
consultas a los datos de las particiones adecuadas. Los segmentos de datos no
sustituyen ni son una alternativa a la especificacin del origen de la particin.
Es decir, los segmentos de datos no se deben usar para limitar los datos
seleccionados de la tabla de hechos de la particin ni los datos incluidos en la
particin. Los segmentos de datos solo son aplicables a objetos que utilizan el
mtodo de almacenamiento ROLAP. Con el Asistente para particiones, puede
especificar un segmento de datos cuando cree una particin.


Un sector de datos de una particin debera reflejar lo ms fielmente posible los
datos de la particin. Por ejemplo, si una particin est limitada a los datos de
2004, el segmento de datos de la particin debera especificar el miembro 2004
de la dimensin de tiempo. No siempre es posible especificar un segmento de
datos que refleje el contenido exacto de una particin. Por ejemplo, si una
particin contiene datos solamente para enero y febrero, pero los niveles de la
dimensin de tiempo son ao, trimestre y mes, el Asistente para particiones no
puede seleccionar los miembros de enero y febrero a la vez. En estos casos,
seleccione el miembro primario de los miembros que reflejen el contenido de la
particin.
Un segment es aquel espacio reservado por la base de datos, dentro de un
datafile, para ser utilizado por un solo objeto. As una tabla (o cualquier otro
objeto) est dentro de su segmento, y nunca podr salir de el, ya que si la tabla
crece, el segmento tambien crece con ella. Fsicamente todo objeto en base de
datos no es mas que un segmento dentro de un datafile. Se puede decir que,
un segmento es a un objeto de base de datos, lo que un datafile a un
tablespace; el segmento es la representacin fsica del objeto en base de datos
(el objeto es solo una definicin lgica).

Los segmentos son los equivalentes fsicos de los objetos que almacenan
datos. El uso efectivo de los segmentos requiere que el DBA conozca los
objetos, que utiliza una aplicacin, cmo los datos son introducidos en esos
objetos y el modo en que sern recuperados.

Un segmento est constituido por secciones llamadas extensiones, que son
conjuntos contiguos de bloques Oracle. Una vez que una extensin existente
en un segmento no puede almacenar ms datos, el segmento obtendr del
espacio de tabla otra extensin. Este proceso de extensin continuar hasta
que no quede ms espacio disponible en los ficheros del espacio de tablas, o
hasta que se alcance un nmero mximo de extensiones por segmento.

Existen 5 tipos de segmento:
De datos.
De ndices.
De rollback.
Temporales.
De bootstrap.
3.- MEMORIA COMPARTIDA
Las conexiones a Microsoft SQL Server desde un cliente que se ejecuta en el
mismo equipo utilizan el protocolo de memoria compartida. La memoria
compartida no tiene propiedades que se puedan configurar. Memoria
compartida es el protocolo que se intenta utilizar en primer lugar y no se puede
desplazar de la posicin prioritaria de la lista Protocolos habilitados de la
lista Propiedades de los protocolos de cliente. El protocolo de memoria
compartida se puede deshabilitar, lo que resulta til para solucionar problemas
con los dems protocolos.


No es posible crear un alias con el protocolo de memoria compartida, pero si el
protocolo est habilitado, al conectarse al Motor de base de datos por nombre
se crea una conexin de memoria compartida. Las cadenas de conexin de
memoria compartida utilizan el
formato lpc:<servername>[\instancename].

Los sistemas de memoria compartida distribuida (DSM) representan la
creacin hibrida de dos tipos de computacin paralelos: la memoria distribuida
en sistemas multiprocesador y los sistemas distribuidos. Ellos proveen la
abstraccin de memoria compartida en sistemas con memorias distribuidas
fsicamente y consecuentemente combinan las mejores caractersticas de
ambos enfoques.

Modelos de Consistencia.

La cuestin de la consistencia adquiere importancia en los sistemas DSM
que replican el contenido de la memoria compartida mediante su
almacenamiento en las cachs de computadores separados. Cada proceso
tiene un gestor de rplicas local, el cual est encargado de mantener copias en
cach para los objetos. En la mayor parte de las implementaciones, los datos
se leen desde las rplicas locales por cuestiones de eficiencia, pero las
actualizaciones deben propagarse al resto de gestores de rplica.

El gestor de rplica local se implementa mediante una combinacin del
middleware (el nivel DSM en tiempo de ejecucin en cada proceso) y del
ncleo. Es normal que el middleware realice la mayor parte del procesamiento
DSM. Incluso en las implementaciones de DSM basadas en pginas, el ncleo
normalmente proporciona nicamente una correspondencia de pginas bsica,
el manejo de fallos de pgina y los mecanismos de comunicacin, mientras que
el middleware es responsable de implementar las polticas de comparticin de


pginas. Si los segmentos DSM son persistentes, entonces uno o ms
servidores de almacenamiento (por ejemplo, servidores de archivos) actuarn
tambin como gestores de rplicas.

Adems de la gestin de la cach, una implementacin DSM puede
almacenar las actualizaciones y reducir los costes de comunicacin mediante la
propagacin de mltiples actualizaciones a la vez.

Un modelo de consistencia de memoria (Mosberger 1993) especifica las
garantas de consistencia que un sistema DSM realiza sobre los valores que
los procesos leen desde los objetos, dado que en realidad acceden sobre una
rplica de cada objeto y que mltiples procesos pueden actualizar los objetos.
Tngase en cuenta que esto es diferente de la nocin de consistencia de alto
nivel y dependiente de aplicacin.
Sin embargo, la mayor parte de las aplicaciones tienen requisitos de
consistencia muy estrictos. Es preciso proporcionar a los programadores un
modelo que se ajuste razonablemente al comportamiento que la memoria
debera tener.
Mosberger (1993) realiza un bosquejo de un conjunto de modelos que han
sido pensados para multiprocesadores de memoria compartida y sistemas
DSM software. Los principales modelos de consistencia que se pueden
implementar en la prctica en sistemas DSM son la consistencia secuencial y
los modelos basados en consistencia dbil.

Memoria Compartida Distribuida con base en pginas.

El esquema de DSM propone un espacio de direcciones de memoria virtual
que integra la memoria de todas las computadoras del sistema, y su uso se
realiza mediante paginacin. Las pginas quedan restringidas a estar
necesariamente en un nico nodo. Cuando un programa intenta acceder a una
posicin virtual de memoria, se comprueba si esa pgina se encuentra de
forma local. Si no se encuentra, se provoca un fallo de pgina, y el sistema
operativo solicita la pgina al resto de nodos. El sistema funciona de forma
anloga al sistema de memoria virtual tradicional, pero en este caso los fallos
de pgina se propagan al resto de ordenadores, hasta que la peticin llega al
nodo que tiene la pgina virtual solicitada en su memoria local. A primera vista
este sistema parece ms eficiente que el acceso a la memoria virtual en disco,
pero en la realidad ha mostrado ser un sistema demasiado lento en ciertas
aplicaciones, ya que provoca un trfico de pginas excesivo.

Memoria Compartida Distribuida con Variables.



Un mtodo ms estructurado que la DSM con base a pginas consiste en
compartir slo ciertas variables y estructuras de datos necesarias para ms de
un proceso. Ahora el problema pasa a ser la forma de mantener una base de
datos distribuida, en potencia duplicada, consistente en las variables
compartidas.

Uno de los aspectos ms importantes a tratar de estos sistemas es el de si las
variables compartidas deben o no duplicarse, y de qu manera, parcial o total.
Si se duplicasen existira ms potencial que en un sistema DSM basado en
pginas, en trminos de actualizacin, dado que las escrituras en las variables
compartidas individuales se pueden aislar. Dos de los ejemplos ms
interesantes de este tipo de sistemas son el Munin y el Midway; el primero se
basa en una implantacin software de la consistencia de liberacin, y el
segundo consiste en compartir las estructuras de datos individuales,
permitiendo que los programas multiprocesador existentes y los nuevos se
ejecuten de manera eficiente en las multicomputadores, con ligeros cambios de
cdigo.
Aqu las comunicaciones entre los diferentes procesadores se realizan a travs
de accesos a un espacio compartido de direcciones. Entre sus principales
ventajas se encuentra la facilidad de programacin. Esta memoria define:

Munin:
-Consistencia de liberacin.
-Protocolos mltiples.
-Directorios.
-Sincronizacin.


Munin: Se basa en objetos del software (usa MMU).
a) Variables ordinarias.
b) Variables de datos compartidos.
c) Variables de sincronizacin.

Operacin bsica con variables ordinarias:
a. No se comparten.
b. Solo son accedidas por el proceso que las creo.


Operacin bsica con variables de datos compartidos: Son declaradas como
tales.




Operacin bsica con variables de sincronizacin:
-Son accedidas mediante procedimientos de acceso proporcionados por el
sistema.
-Cerraduras: lock y unlock.
-Barreras: increment y wait.

Midway:
-Consistencia de entrada.
-Implantacin.

Memoria Compartida Distribuida basada en objetos.

Una alternativa al uso de pginas es tomar el objeto como base de la
transferencia de memoria. Aunque el control de la memoria resulta ms
complejo, el resultado es al mismo tiempo modular y flexible, y la sincronizacin
y el acceso se pueden integrar limpiamente. Otra de las restricciones de este
modelo es que todos los accesos a los objetos compartidos han de realizarse
mediante llamadas a los mtodos de los objetos, con lo que no se admiten
programas no modulares y se consideran incompatibles.
Puesto que en muchos lenguajes de programacin los datos se
encuentran organizados como objetos y no como variables simples, los
sistemas de MCD basados en objetos intentan transportar datos por la red
utilizando como unidad de manipulacin el objeto y no las pginas o las
variables.

Los procesos que se ejecutan en los distintos computadores que
componen el sistema tienen acceso a un espacio de objetos compartidos, en
lugar de a un espacio lineal de direcciones. El sistema es responsable de la
ubicacin y administracin de es- tos objetos compartidos. Un proceso puede
invocar mtodos de un objeto compartido, independientemente de la ubicacin
del proceso y del objeto. Los objetos estn protegidos por el ocultamiento de
informacin, por lo que los procesos no pueden acceder directamente al estado
interno de ningn objeto compartido. Esto facilita algunas optimizaciones dentro
del sistema. Por ejemplo, puede relajarse el modelo de consistencia sin que el
programador tenga conocimiento alguno. Al igual que en el caso de la
granularidad a nivel de variables compartidas, cuando se utiliza el objeto como
unidad para compartir es posible eliminar el false sharing.

Adems, tambin en este caso es factible utilizar un protocolo de
actualizacin en vez de uno de invalidacin. Sin embargo, quizs la mayor
ventaja de este modelo es su modularidad y flexibilidad, a la vez que permite
una integracin limpia con la sincronizacin.

La principal desventaja es el aumento en el overhead que se produce
por la manipulacin aun ms indirecta de la memoria. En realidad, este es un
problema inherente al uso de objetos.



Un ejemplo de un sistema de MCD basado en objetos es Linda [11], un
sistema basado en una memoria compartida altamente estructurada y que es
accedida a travs de un pequeo conjunto de primitivas que se agregan a
lenguajes tradicionales como C y Fortran. El espacio de objetos se llama tuple
space, o espacio de tuplas. Los procesos pueden insertar y remover tuplas al
espacio, desde cualquier computador.

Casos de estudio.

La memoria compartida distribuida se implementa utilizando uno de los
siguientes mtodos o bien una combinacin de ellos, hardware especializado,
memoria virtual paginada convencional o middleware:

Hardware: las arquitecturas multiprocesador de memoria compartida basadas
en una arquitectura NUMA (por ejemplo, Dash [Lenoski y otros 1992] y PLUS
[Bisiani y Ravishankar 1990] se basan en hardware especializado para
proporcionar a los procesadores una visin consistente de la memoria
compartida. Gestionan las instrucciones de acceso a memoria LOAD y STORE
de forma que se comuniquen con la memoria remota y los mdulos de cach
segn sea necesario para almacenar y obtener datos. Esta comunicacin se
realiza sobre sistemas de interconexin de alta velocidad similares a una red.
El prototipo del multiprocesador Dash tiene 64 nodos; conectados mediante
una arquitectura NUMA.

Memoria virtual paginada: muchos sistemas, incluyendo Ivy [Li y Hudak
1989], Munin [Carter y otros 1991], Mirage [Fleisch y Popek 1989], Clouds
[Dasgupta y otros 1991], Choices [Sane y otros 1990], COOL (Lea y otros
1993] y Mether [Minnich y Farber 1989], implementan DSM como una regin de
memoria virtual que ocupa el mismo rango de direcciones en el espacio de
direcciones de cada proceso participante. Este tipo de implementacin
normalmente slo es factible sobre una coleccin de computadores
homogneos con formatos de datos y de paginacin comunes.


Middleware: algunos lenguajes del tipo de Orca [Bal y otros 1990] y
middleware como Linda [Carriero y Gelernter 1989] junto con sus derivados
JavaSpaces y TSpaces [Wyckoff y otros 1998] proporcionan DSM sin
necesidad de soporte hardware o de paginacin, de una forma independiente
de la plataforma. En este tipo de implementacin, la computacin se
implementa mediante la comunicacin entre instancias del nivel de soporte de
usuario en los clientes y los servidores. Los procesos realizan llamadas a este
nivel cuando acceden a datos en DSM. Las instancias de este nivel en los


diferentes computadores acceden a los datos locales y se intercambian
informacin siempre que sea necesario para el mantenimiento de la
consistencia.
4.-INSTANCIAS MULTIPLES

Una instancia de Motor de base de datos es una copia del ejecutable
de sqlservr.exe que se ejecuta como un servicio de sistema operativo. Cada
instancia administra varias bases de datos del sistema y una o varias bases de
datos de usuario. Cada equipo puede ejecutar varias instancias de Motor de
base de datos. Las aplicaciones se conectan a la instancia para realizar el
trabajo en una base de datos administrada por la instancia.

Una instancia de Motor de base de datos funciona como un servicio que
controla todas las solicitudes de aplicacin para trabajar con datos de
cualquiera de las bases de datos administradas por dicha instancia. Es el
destino de las solicitudes de conexin (inicios de sesin) de aplicaciones. La
conexin se ejecuta en una conexin de red si la aplicacin y la instancia estn
en equipos independientes. Si la aplicacin y la instancia estn en el mismo
equipo, la conexin de SQL Server se puede ejecutar como una conexin de
red o una conexin en memoria. Cuando una conexin se ha completado, una
aplicacin enva instrucciones Transact-SQL a travs de la conexin hasta la
instancia. La instancia resuelve las instrucciones de Transact-SQL en
operaciones con los datos y objetos de las bases de datos y, si se han
concedido los permisos necesarios a las credenciales de inicio de sesin,
realiza el trabajo. Los datos recuperados se devuelven a la aplicacin, junto
con cualesquiera mensajes como errores.
Puede ejecutar mltiples instancias de Motor de base de datos en un
equipo. Una instancia puede ser la instancia predeterminada. La instancia
predeterminada no tiene nombre. Si una solicitud de conexin especifica solo el
nombre del equipo, se establece la conexin a la instancia
predeterminada. Una instancia con nombre es una instancia en la que se
especifica un nombre de instancia al instalar la instancia. Una solicitud de
conexin debe especificar el nombre del equipo y el nombre de instancia para
conectar a la instancia. No hay ningn requisito para instalar una instancia
predeterminada; todas las instancias que se ejecutan en un equipo pueden ser
instancias con nombre.

La memoria compartida contiene todos los datos intervenidos, como:
Grupo de memorias intermedias
Tabla de bloqueos
Memoria intermedia del registro, que contiene las entradas del registro que
esperan a ser volcadas en el almacenamiento estable
Planes de consulta en cach, que se pueden reutilizar si se enva de nuevo la
misma consulta
La exclusin mutua se puede implementar por medio de funciones del sistema
operativo llamadas semforos. Implementaciones alternativas, con menos
sobrecargas, utilizan instrucciones atmicas especiales soportadas por el


hardware de la computadora; un tipo de instruccin atmica comprueba una
posicin de la memoria y la establece a uno automticamente. Los
mecanismos de exclusin mutua tambin se utilizan para implementar pestillos.





























CONCLUSION

Despus de un breve anlisis en el trabajo podemos llegar a conclusin que
cada sistema tiene diferentes caractersticas, ventajas as como inconvenientes
por tal razn la eleccin de uno u otro sistema para gestionar una base de
datos vendr definida por las necesidades de cada usuario. Por ejemplo nos
dimos cuenta que cuanto mayor es la base de datos mayores son lo
requerimientos de hardware.























BIBLIOGRAFA
http://www.estructurayprogramacion.com/materias/administracion-de-base-de-
datos/estrucrturas-logicas-de-almacenamiento/23/08/2012 AUTOR: JOSE
FERNANDEZ OCA RUIZ.
http://share.pdfonline.com/cafcc187cd58446684afe42bbbaa7be2/torres%20gon
zalez%20victor%20alfonso%20conceptos.htm/016/05/2O11/AUTOR:
FRANCISCO REYES ALVARADO.
http://ylez.wordpress.com/2010/03/20/bitacoras-de-bases-de-datos/03/10/2000
AUTOR: JOAQUIN GONZALEZ FIERRO

http://share.pdfonline.com/cafcc187cd58446684afe42bbbaa7be2/torres%20gon
zalez%20victor%20alfonso%20conceptos.htm 22/03/2013 AUTOR: Vctor
Alfonso torres Gonzlez
Conceptos del 3

http://www.estructurayprogramacion.com/materias/administracion-de-base-de-
datos/espacios-de-objetos/05/07/2013 AUTOR: PEDRO LARA DE LEON.

http://tavoberry.com/blog/crear-una-bitacora-en-mysql/--- MTRO. GUSTAVO
REYES HERNNDEZ - JUN 0910

You might also like