You are on page 1of 15

17/09/2015

Implementacin de Bases
de Datos

Tema 03: RAID


Tipos de Datos
Ing. Freddy Campos Flores

Qu es RAID?
Significa matriz redundante de discos independientes.
RAID es un mtodo de combinacin de varios discos duros para formar

una nica unidad lgica en la que se almacenan los datos de forma


redundante. Ofrece mayor tolerancia a fallos y ms altos niveles de
rendimiento que un slo disco duro o un grupo de discos duros
independientes.
En este mtodo, la informacin se reparte entre varios discos, usando

tcnicas como el entrelazado de bloques (RAID nivel 0) o la duplicacin


de discos (RAID nivel 1) para proporcionar redundancia, reducir el
tiempo de acceso, y/o obtener mayor ancho de banda para leer y/o
escribir, as como la posibilidad de recuperar un sistema tras la avera de
uno de los discos.
Un RAID, para el sistema operativo, aparenta ser un slo disco duro

lgico (LUN).

17/09/2015

Qu es RAID?
La tecnologa RAID protege los datos contra el fallo de una unidad de

disco duro. Si se produce un fallo, RAID mantiene el servidor activo y en


funcionamiento hasta que se sustituya la unidad defectuosa.
RAID ofrece varias opciones, llamadas niveles RAID, cada una de las

cuales proporciona un equilibrio distinto entre tolerancia a fallos,


rendimiento y coste.
Todos los sistemas RAID suponen la prdida de parte de la capacidad de

almacenamiento de los discos, para conseguir la redundancia o


almacenar los datos de paridad.
Los sistemas RAID profesionales deben incluir los elementos crticos por

duplicado: fuentes de alimentacin y ventiladores redundantes y Hot


Swap. De poco sirve disponer de un sistema tolerante al fallo de un disco
si despus falla por ejemplo una fuente de alimentacin que provoca la
cada del sistema.

Ventajas de RAID
Tolerancia a fallos: RAID protege contra la prdida de datos
Mejora del Rendimiento/ Velocidad: RAID permite a varias unidades trabajar en

paralelo, lo que aumenta el rendimiento del sistema.


Mayor Fiabilidad: RAID emplea dos tcnicas para aumentar la fiabilidad:

La redundancia de los datos implica el almacenamiento de los mismos datos en ms de


una unidad.Es muy eficaz pero tambin es muy costoso.
La paridad de datos se realiza mediante un algoritmo matemtico. Es menos costoso que
la redundancia, ya que no requiere el uso de un conjunto redundante de unidades de
disco.
Alta Disponibilidad: Se divide en dos aspectos:

La integridad de los datos , capacidad de obtener los datos adecuados en cualquier


momento.Reparacin dinmica de sectores (debidos a errores de software)
La tolerancia a fallos capacidad para mantener los datos disponibles en caso de que se
produzcan uno o varios fallos en el sistema.

17/09/2015

Niveles de RAID - RAID 0


RAID 0: Disk Striping "La ms alta transferencia, pero sin

tolerancia a fallos".
Tambin conocido como "separacin fraccionamiento/ Striping".
Los datos se desglosan en pequeos segmentos y se distribuyen entre

varias unidades. Este nivel de "array" o matriz no ofrece tolerancia al


fallo.
El fallo de cualquier disco de la matriz tendra como resultado la prdida de

los datos y sera necesario restaurarlos desde una copia de seguridad.


Por lo tanto, RAID 0 no se ajusta realmente al acrnimo RAID. Consiste en

una serie de unidades de disco conectadas en paralelo que permiten una


transferencia simultnea de datos a todos ellos, con lo que se obtiene una
gran velocidad en las operaciones de lectura y escritura.
La velocidad de transferencia de datos aumenta en relacin al nmero de

discos que forman el conjunto. Esto representa una gran ventaja en


operaciones secuenciales con ficheros de gran tamao.

Niveles de RAID - RAID 0


Por lo tanto, este array es aconsejable en aplicaciones de tratamiento

de imgenes, audio, video o CAD/CAM, es decir, almacenamiento a


gran velocidad pero que no requiera tolerancia a fallos.
Se necesita un mnimo de dos unidades de disco para

implementar una solucin RAID 0.

17/09/2015

Niveles de RAID - RAID 1


RAID 1: Mirroring "Redundancia. Igual de rpido, pero ms

seguro
Tambin llamado "Mirroring" o "Duplicacin" (Creacin de discos

en espejo).
Se basa en la utilizacin de discos adicionales sobre los que se realiza

una copia en todo momento de los datos que se estn modificando.


RAID 1 ofrece una excelente disponibilidad de los datos mediante la

redundancia total de los mismos. Para ello, se duplican todos los


datos de una unidad o matriz en otra. De esta manera se asegura la
integridad de los datos y la tolerancia al fallo, pues en caso de avera,
la controladora sigue trabajando con los discos no daados sin detener
el sistema.
Los datos se pueden leer desde la unidad o matriz duplicada sin que se

produzcan interrupciones. RAID 1 es una alternativa costosa para los


grandes sistemas, ya que las unidades se deben aadir en pares para
aumentar la capacidad de almacenamiento.

Niveles de RAID - RAID 1


RAID 1 es una buena solucin para las aplicaciones que

requieren redundancia cuando hay slo dos unidades


disponibles. Los servidores de archivos pequeos son un buen
ejemplo.
Se necesita un mnimo de dos unidades para

implementar una solucin RAID 1.

17/09/2015

Niveles de RAID - RAID 5


RAID 5: "Comprobacin y rapidez. Seguridad y velocidad.

Acceso independiente con paridad distribuida.


Este array ofrece tolerancia al fallo, pero adems, optimiza la

capacidad del sistema permitiendo una utilizacin de hasta el 80%


de la capacidad del conjunto de discos. Esto lo consigue mediante el
clculo de informacin de paridad y su almacenamiento alternativo por
bloques en todos los discos del conjunto.
Si cualquiera de las unidades de disco falla, se puede recuperar la

informacin en tiempo real, sobre la marcha, mediante una simple


operacin de lgica de O exclusivo, sin que el servidor deje de
funcionar.

Niveles de RAID - RAID 5


Al distribuir la funcin de comprobacin entre todos los discos, se

disminuye el cuello de botella y con una cantidad suficiente de


discos puede llegar a eliminarse completamente, proporcionando
una velocidad equivalente a un RAID 0.
RAID 5 es el nivel de RAID ms eficaz y el de uso preferente para

las aplicaciones de servidor bsicas para la empresa.


Comparado con otros niveles RAID con tolerancia a fallos, RAID 5

ofrece la mejor relacin rendimiento-coste en un entorno con


varias unidades.
Este nivel de array es especialmente indicado para trabajar con

sistemas operativos multiusuarios.


Se necesita un mnimo de tres unidades para implementar

una solucin RAID 5.


Su resultado ptimo de capacidad se obtiene con siete o ms

unidades.

17/09/2015

Niveles de RAID - RAID 5


RAID 5 es la solucin ms econmica por megabyte, que ofrece la mejor

relacin de precio, rendimiento y disponibilidad para la mayora de los


servidores.

Ejemplo: uso de RAID


4 unidades de almacenamiento:


Para bases de datos del sistema.

Para archivos MDF/NDF de bases de datos del usuario.

Para archivos LDF de bases de datos del usuario.

Para BACKUPS.

Con base en lo anterior, la implementacin RAID sera :


LDF: La ms rpida posible. RAID 0 o RAID 1.
MDF: Que ofrezca redundancia. RAID 5.
BACKUP: RAID 5.
SYSTEM: RAID 5.

17/09/2015

Introduccin a los tipos de datos


Los tipos de datos determinan lo que se puede almacenar
Restringe el tipo de datos que un objeto puede contener
Proporciona lmites en el rango de valores
Los tipos de datos se aplican a la base de datos de columnas,
variables, expresiones y parmetros
Criterios para elegir el tipo de datos adecuado:
Ayuda con la optimizacin de la consulta
Proporciona un nivel de auto-documentacin
Tres conjuntos bsicos de los tipos de datos
Tipos de datos del sistema
Los tipos de datos de alias
Tipos de datos definidos por el usuario

Tipos de Datos numricos


Amplia variedad de tipos numricos son compatibles
Varan en rango, precisin y exactitud
Data Type

Notes

tinyint

8 bits (0 to 255)

smallint

16 bit integer (-32768 to 32767)

int

32 bit integer (-2147483648 to 2147483647)

bigint

64 bit integer (-2^63 to 2^63 1)

decimal

fixed precision and scale (-10^38+1 10^38-1)

numeric

functionally equivalent to decimal

smallmoney

escala fija de 4 decimales en 16 bits

money

escala fija de 4 decimales en 64 bits

bit

values of 1, 0, or NULL

17/09/2015

Trabajando con IDENTITY


Propiedad de una columna
Especifica un inicio y un incremento
Por defecto el inicio e incremento es 1

CREATE TABLE Opportunity


(
OpportunityID int NOT NULL
IDENTITY(1,1),
Requirements nvarchar(50) NOT NULL,
ReceivedDate date NOT NULL,
LikelyClosingDate date NULL,
SalespersonID int NULL,
Rating int NOT NULL
);

Identificadores Unicos
Tipo de Datos uniqueidentifier es tipicamente usado para

almacenar valores GUID.


GUID es el identificador nico global
El almacenamiento es esencialmente un nmero entero de

128 bits, pero la aritmtica de enteros estndar no es


compatible.
=, <>, <, >, <=, >= son soportados junto con la

comprobacin de NULL and NOT NULL


IDENTITY no puede ser usado
Generar nuevos valores con la funcin NEWID()
Error comn es almacenar estos como String.

17/09/2015

Columnas NULL o NOT NULL


Determine si un valor debe ser ingresado
Puede ser usado en columnas o parmetros
No puede ser usado en la definicin de variables.

CREATE TABLE Sales.Opportunity


(
OpportunityID int NOT NULL,
Requirements nvarchar(50) NOT NULL,
ReceivedDate date NOT NULL,
LikelyClosingDate date NULL,
SalespersonID int NULL,
Rating int NOT NULL
);

Demostracin 1A:
Trabajar con tipos de datos numricos
En esta demostracin, ver:
Trabaja con valores IDENTIDAD
Trabaje con NULL
Inserte GUID en una tabla

17/09/2015

Entendiendo el Unicode
Es un estndar de codificacin de caracteres de todo el mundo.
Simplifica la localizacin de software
Est implementado en SQL Server como de doble byte para los

tipos Unicode.
Requiere el prefijo N
LEN () para devolver el nmero de caracteres
DATALENGTH () para devolver el nmero de bytes

DECLARE @Hello nvarchar(10);


SET @Hello = N'Hello';
SET @Hello = N'
';

SET @Hello = N'


';

Tipo de Datos Caracter


Longitud fija, de longitud variable, y grandes tipos de datos de carcter.
Un solo byte y de byte (Unicode) tipos de datos dobles

Data Type

Notes

char

Longitud fija de un solo byte de datos de carcter

nchar

Longitud fija de datos de caracteres Unicode

varchar

De longitud variable de un solo byte de datos de


carcter

nvarchar

Longitud variable de datos de caracteres Unicode

varchar(max)

Valor grande de un solo byte de datos de carcter

nvarchar(max)

Valor grande de datos de caracteres Unicode

text

Longitud variable datos de caracteres de un solo


byte (en desuso no utilice en nuevos trabajos)

ntext

Datos Unicode de longitud variable (en desuso no


utilice en nuevos trabajos)

10

17/09/2015

Entendiendo las Colaciones o


intercalacin(Collation)
Colaciones controlan en SQL Server:


Pgina de cdigos que se utiliza para almacenar datos no Unicode

Las reglas que rigen la forma tipo SQL Server y compara los valores para
los tipos que no son Unicode

SQL Server es compatible con un gran nmero de colaciones,

incluyendo opciones de maysculas y minsculas


Configuracin de intercalacin se pueden determinar en la instancia,

los niveles de base de datos, y de columna


Las comparaciones entre los datos almacenados en diferentes

intercalaciones requieren la especificacin de la intercalacin de


utilizar para la comparacin

SELECT *
FROM Production.Product
WHERE Name LIKE N'%ball%' COLLATE
SQL_Latin1_General_Cp1_CS_AS;

Demostracin 2A:
Trabajar con datos de caracteres
En esta demostracin, ver:
Cmo trabajar con Unicode y no Unicode de datos
Cmo trabajar con intercalaciones

11

17/09/2015

Uso de CAST
Convierte una expresin de un tipo de datos a otro en SQL

Server
CAST se basa en estndares SQL

SELECT 'The list price is '


+ CAST(ListPrice AS varchar(12))
AS ListPriceMessage
FROM Production.Product
WHERE ListPrice BETWEEN 350.00 AND 400.00;
SELECT CAST(SYSDATETIME() AS nvarchar(30));

Uso de CONVERT
Convierte una expresin de un tipo de datos a otro en SQL

Server
Opcionalmente permite brindar un estilo
Extensin especfica de SQL Server al lenguaje SQL

SELECT 'The list price is '


+ CONVERT(varchar(12),ListPrice)
AS ListPriceMessage
FROM Production.Product
WHERE ListPrice BETWEEN 350.00 AND 400.00;
SELECT CONVERT(varchar(8),SYSDATETIME(),112);
SELECT CONVERT(char(8), 0x4E616d65, 0)
AS 'Style 0, binary to character';

12

17/09/2015

Conversin Implcita
Cuando los datos no se convierten de forma explcita entre

los tipos, la conversin de datos implcita se intenta y se


basa en el tipo de datos precedencia.
No todos los tipos de datos se pueden convertir

implcitamente a todos los otros tipos de datos


DECLARE @Salary decimal(18,2) = 78000.00;
DECLARE @Annual int = 50000;
DECLARE @XmlData xml;
SET @Salary = @Annual;
SET @Salary += @Annual;

Demostracin 3A:
Frecuentes problemas de conversin
En la siguiente demostracin ver:
Cmo convertir tipos de datos de fecha de forma explcita
Cmo configuracin de idioma pueden afectar fecha
conversiones
Cmo los datos se pueden truncar durante la conversin
de tipo de datos
Problemas que pueden surgir con la conversin implcita

13

17/09/2015

Columnas Calculadas
Las columnas calculadas se derivan de otras columnas o de

funciones
Las columnas calculadas se utilizan a menudo para proporcionar

un acceso ms fcil a los datos sin desnormalizarlas.


Columnas calculadas mejoran el rendimiento SELECT.

CREATE TABLE PetStore.


PetStore.Pet
(PetID int IDENTITY(
IDENTITY(1,1) PRIMARY KEY,
KEY,
PetName nvarchar(
nvarchar(30)
30) NOT NULL,
DateOfBirth date NOT NULL,
YearOfBirth AS DATEPART(
DATEPART(year,
year,DateOfBirth)
DateOfBirth) PERSISTED
);
GO

Demontracin 4C: Columnas Calculadas

14

17/09/2015

Tarea
Leer el pdf adjunto Archivos, los temas son:
a) Organizacin de los archivos.
b) Organizacin de los registros en archivos.
c) Almacenamiento con diccionario de datos.

Preparar exposicin con diapositivas. Pueden hacerlo

individual o agruparse de a dos.


Pueden consultar informacin adicional para

complementar el tema.

15

You might also like