You are on page 1of 12

INTRODUCCIN

El espacio en disco es fundamental en las bases de datos para almacenar


grandes cantidades de datos de forma permanente.
Algunas de las razones por las cuales se almacenan las bases de datos en
memorias secundarias es por el gran tamao de las bases de datos para ser
guardadas en la memoria principal.
Otra de las causas para utilizar la memoria secundaria es porque suele ser ms
barata que la memoria primaria.
Las bitcoras tienen una principal funcin que es recuperar informacin ante
incidentes de seguridad, etc.
Una de las ventajas de crear particiones en una base de datos es a causa de que
mejora el rendimiento y simplifica el mantenimiento.
Un segmento es un conjunto de extensiones que contiene todos los datos para un
espacio de tabla dentro de una estructura de almacenamiento lgico.

3. Configuracin y administracin del espacio en disco


3.1 Estructuras lgicas de almacenamiento.
3.1.1 Definicin 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.
La mayora de las bases de datos se almacenan en las llamadas memorias
secundarias, especialmente discos duros, aunque, en principio, pueden emplearse
tambin discos pticos, memorias flash, etc.
Las razones por las cuales las bases de datos se almacenan en memorias
secundarias son:
En general, las bases de datos son demasiado grandes para entrar en la
memoria principal.
La memoria secundaria suele ser ms barata que la memoria primaria
(aunque esta ltima tiene mayor velocidad).
La memoria secundaria es ms til para el almacenamiento de datos
permanentemente, puesto que la memoria primaria es voltil.
En cuanto al respaldo de las bases de datos, suelen emplearse tanto discos duros,
como cintas magnticas, discos pticos o similares.
Las tcnicas empleadas para almacenar bases de datos son sumamente
importantes para la velocidad de acceso y recuperacin de datos. Las tcnicas
dependen del tipo de almacenamiento, el uso que se le da o se le dar a la base
de datos, la estructura de la misma, el SGBD empleado, etc.
Esta dependencia no significa necesariamente que haya que cambiar la estructura
de la base de datos si se cambian las tcnicas empleadas. Las tcnicas de
almacenamiento son independientes de la base de datos, pero, de todas maneras,
las mejores tcnicas muchas veces pueden determinarse viendo la estructura de
la base de datos, entre otras caractersticas.
Los encargados de elegir estas tcnicas son los diseadores y administradores de
bases de datos, y dependen tambin de las capacidades del SGBD. En general, el
SGBD ofrece diferentes opciones y tcnicas para organizar los datos.
La idea es que los encargados de la base de datos encuentren las tcnicas
idneas, o sea, aquellas que permitan la mayor velocidad posible de acceso a los
2

datos. Una mala decisin en esta rea puede resultar en una menor velocidad de
acceso a la base de datos, o en un uso excesivo del espacio de almacenamiento,
o incluso, puede aumentar la velocidad de consulta de una base de datos, pero
disminuir la velocidad de actualizacin de la misma.

3.1.2 Definicin y creacin 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:
1. Archivos de montculos (o no ordenados): esta tcnica coloca los registros
en el disco sin un orden especfico, aadiendo nuevos registros al final del
archivo.
2. Archivos ordenados (o secuenciales): mantiene el orden de los registros
con respecto a algn valor de algn campo (clave de ordenacin).
3. Archivos de direccionamiento calculado: utilizan una funcin de
direccionamiento calculado aplicada a un campo especfico para determinar
la colocacin de los registros de disco.
4. Arboles B: se vale de la estructura de rbol para las colocaciones de
registros.

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
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.

3.1.3 Bitcoras.
Una bitcora es una herramienta que permite registrar, analizar, detectar y notificar
eventos que sucedan en cualquier sistema de informacin utilizado en las
organizaciones.
La principal importancia de una bitcora es recuperar informacin ante incidentes
de seguridad, deteccin de comportamiento inusual, informacin para resolver
problemas, evidencia legal, etc.
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 transacciones 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.

Ejemplo e implementacin de bitcora de base de datos en lenguaje de


programacin en SQL server.

CREATE TABLE [dbo].[Bitacora] (


[BitacoraID] [int] IDENTITY (1, 1) NOT NULL ,
[EventType] [char] (14) NOT NULL ,
[Status] [int] NOT NULL ,
[EventInfo] [varchar] (1000) NOT NULL ,
[Usuario] [varchar] (20) NOT NULL ,
[Fecha] [smalldatetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Bitacora] WITH NOCHECK ADD
CONSTRAINT [DF_Bitacora_Usuario] DEFAULT (suser_sname()) FOR [Usuario],
5

CONSTRAINT [DF_Bitacora_Fecha] DEFAULT (getdate()) FOR [Fecha]


Y, por otro lado, el trigger en la tabla lo refinira de la siguiente manera:
/* Trigger de Monitoreo */
CREATE TRIGGER trig_tablabitacora
ON TABLA
FOR DELETE, INSERT, UPDATE
AS
BEGIN
DECLARE @NUMERO INT
INSERT INTO Bitacora (EventType,Status,EventInfo)
exec sp_executesql NDBCC INPUTBUFFER( @i ), N@i int,
@i=@@spid
END

3.1.4 Particiones.
Las particiones les permiten descomponer tablas muy grandes y los ndices en
partes ms pequeas y manejables llamadas particiones. Cada particin es un
objeto independiente con su propio nombre y, opcionalmente, sus propias
caractersticas de almacenamiento.
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.

Particiones de hardware

La creacin de particiones de hardware disea la base de datos de forma que


aproveche la arquitectura del hardware disponible. Estos son ejemplos de
particiones de hardware:

Varios procesadores que permiten mltiples subprocesos de operaciones,


lo que permite que muchas consultas se ejecuten al mismo tiempo.
Opcionalmente, una sola consulta puede ejecutarse ms rpidamente en
varios procesadores, ya que permiten la ejecucin simultnea de los
componentes de la consulta. Por ejemplo, distintos subprocesos pueden
recorrer al mismo tiempo cada una de las tablas a las que hace referencia
la consulta.

Dispositivos RAID (matriz redundante de discos independientes) que


permiten crear bandas de datos a travs de varias unidades de disco, para
obtener un acceso ms rpido a los datos, ya que hay ms cabezales de
lectura y escritura que leen los datos al mismo tiempo. Normalmente, se
puede recorrer ms rpidamente una tabla separada en bandas a travs de
varias unidades que la misma tabla almacenada en una sola unidad. De
forma alternativa, almacenar tablas en unidades independientes desde las
tablas relacionadas puede mejorar de forma significativa el rendimiento de
las consultas que combinan esas tablas.
Crear particiones horizontales

La creacin de particiones horizontales divide una tabla en varias tablas.


As, cada tabla contiene el mismo nmero de columnas, pero menos filas.
Por ejemplo, se podra crear una particin horizontal de una tabla que
contenga mil millones de filas en 12 tablas; cada una de las tablas ms
pequeas representara un mes de datos de un ao especfico. Las
consultas que requieran datos de un mes especfico slo hacen referencia a
la tabla apropiada.

La determinacin del modo de crear particiones horizontales de las tablas


depende de cmo se analicen los datos. Debera crear particiones de tablas
de forma que las consultas hagan referencia al menor nmero posible de
tablas. De lo contrario, un nmero excesivo de consultas UNION, utilizadas
para mezclar las tablas de forma lgica en el momento de la consulta,
podra afectar al rendimiento. Para obtener ms informacin acerca de
cmo consultar tablas con particiones horizontales.

Es comn crear particiones horizontales de datos basadas en la edad y el


uso. Por ejemplo, una tabla puede contener datos de los ltimos cinco
aos, pero normalmente slo se obtiene acceso a los datos del ao actual.
7

En este caso, puede considerar la posibilidad de crear particiones de datos


en cinco tablas, cada una de las cuales contendr slo los datos de un ao.

Crear particiones verticales


La creacin de particiones verticales divide una tabla en varias tablas que
contienen menos columnas. Los dos tipos de particiones verticales son la
normalizacin y la divisin de filas:

La normalizacin es el proceso estndar de bases de datos que consiste en


quitar columnas redundantes de una tabla y colocarlas en tablas
secundarias vinculadas a la tabla principal mediante relaciones de clave
principal y clave externa.

La divisin de filas divide verticalmente la tabla original en tablas con menos


columnas. Cada fila lgica de una tabla dividida coincide con la misma fila
lgica en las dems tablas, segn se identifica en la columna UNIQUE KEY
que es idntica en todas las tablas con particiones. Por ejemplo, al
combinar la fila con el Id. 712 de cada tabla dividida se vuelve a crear la fila
original.

Igual que las particiones horizontales, las particiones verticales permiten a


las consultas recorrer menos datos. De ese modo se aumenta el
rendimiento de las consultas. Por ejemplo, una tabla que contenga siete
columnas de las cuales generalmente slo se hace referencia a las cuatro
primeras, puede beneficiarse de la divisin de las tres ltimas columnas en
una tabla independiente.

La creacin de particiones verticales se debe considerar detenidamente, ya que


analizar datos de varias particiones requiere consultas que combinen las tablas.
La particin vertical tambin puede afectar al rendimiento si las particiones son
muy grandes.

3.1.5 Espacios privados.


8

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.

3.1.6 Espacios para objetos.


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.

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.
9

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:

Mejorar el rendimiento
Separar ndices de datos
Aislar los logros en otro disco

3.2. Segmentos.
Un segmento es un conjunto de extensiones que contiene todos los datos para un
espacio de tabla dentro de una estructura de almacenamiento lgico
Por ejemplo, Base de Datos de Oracle asigna una o ms extensiones para formar
el segmento de datos para una tabla. La base de datos tambin asigna una o ms
extensiones para formar el segmento de ndice de una tabla.
10

Segmentos de usuarios
Un segmento de datos individual en una base de datos almacena los datos para
un objeto de usuario Hay diferentes tipos de segmentos.
Ejemplos de segmentos de usuarios incluyen:
Tabla, tabla de particiones, o clster mesa
Particin LOB LOB o
Particin de ndice o un ndice

Cada objeto sin particiones y particin objeto se almacena en su propio segmento.


Por ejemplo, si un ndice tiene cinco particiones, luego cinco segmentos contener
los datos de ndice.

3.3. Memoria Compartida.


Configurar la memoria manualmente
Si prefiere ejercer un control ms directo sobre el tamao de los componentes
individuales de memoria, puede desactivar la gestin automtica de memoria y
configurar la base de datos para la gestin de la memoria manual. Hay dos
mtodos de gestin de memoria manuales diferentes para el SGA, y dos para la
instancia PGA.
Los dos mtodos de gestin de memoria manual del SGA varan en la cantidad de
esfuerzo y conocimientos requeridos por el DBA. Con una gestin automtica de
memoria compartida, se establece objetivo y tamaos mximos para el SGA. La
base de datos a continuacin, establece el tamao total de la SGA a su destino
designado, y optimiza de manera dinmica los tamaos de muchos componentes
SGA. Con la gestin de la memoria compartida manual, ajusta el tamao de varios
componentes individuales SGA, determinando as el tamao total SGA. A
continuacin, ajustar manualmente estos componentes SGA de forma
permanente.
Para la instancia PGA, es la gestin de memoria PGA automtico, en el que
11

establece un tamao final de la instancia PGA. La base de datos a continuacin,


establece el tamao de la instancia de PGA a su objetivo, y optimiza de manera
dinmica los tamaos de PGA individuales. Existe tambin la gestin de memoria
PGA manual, en el que establece el tamao mximo del rea de trabajo para cada
tipo de operador SQL (tal como una especie o de hash-join). Este mtodo de
gestin de memoria, aunque compatible, no se recomienda.
Las siguientes secciones proporcionan informacin sobre todos estos mtodos de
gestin de memoria manuales:

Utilizacin de la gestin automtica de memoria compartida


Utilizacin de la gestin de memoria compartida Manual
Utilizacin de la gestin de memoria automtica PGA

3.4. Instancias mltiples


Se llama instancia mltiple al hecho de poder ejecutar un programa ms de una
vez al mismo tiempo. Hay programas que no admiten ms que una sola instancia,
es decir que si ya se est ejecutando, por ms que lo cliquees de nuevo en el
icono o en el men no aparecer un nuevo ejemplar del programa. Con las bases
de datos se complica un poco porque si un usuario modifica un registro que otro
usuario tiene tambin abierto, la modificacin que se haga en una instancia debe
reflejarse de inmediato (actualizarse) en cualquier otra instancia abierta de la
misma base de datos.

Sin embargo, en las bases de datos se puede seleccionar la opcin en el diseo


de la BD, y se reflejarn de inmediato las modificaciones en todas las instancias
abiertas.

12

You might also like