La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fragmentación de Datos

Presentaciones similares


Presentación del tema: "Fragmentación de Datos"— Transcripción de la presentación:

1 Fragmentación de Datos
Bases de Datos Distribuidas

2 Bases de datos distribuidas
Se encuentran en diferentes maquinas, generalmente en localidades geográficas distintas BD Universidad Ingeniería Rectorado Humanidades Recordando la clase anterior

3 Bases de datos distribuidas
Nodos o emplazamientos: Cada uno de los ordenadores que integran la base de datos BD Universidad Ingeniería Rectorado Humanidades

4 Bases de datos distribuidas
Transacciones: Todas las acciones que se generan en la base de datos Locales Globales BD Universidad Ingeniería Rectorado Humanidades

5 Transacciones Propiedades ACID: Atomicidad Consistencia Aislamiento
Durabilidad Atomicidad: una transacción debe de ser una unidad atómica de trabajos, es decir o todas las operaciones se llevan a cabo o no se realiza ninguna de ellas. Consistencia: cuando se termina una transacción se debe de dejar la bases de datos en un estado consistente. Aislamiento: las modificaciones realizadas por una transacción deben de aislarse de posibles transacciones concurrentes. Una transacción debe de ver los datos antes de que otra los modifique o luego de ser modificados, nunca en un estado intermedio. Durabilidad: Una vez que la transacción haya terminado con éxito.

6 Bases de datos distribuidas
Un sistema de Base de datos es distribuido si: Los distintos nodos están informados sobre los demás. Aunque algunas tablas estén almacenadas sólo en algunos nodos, éstos comparten un esquema global común. Cada nodo proporciona un entorno de ejecución de transacciones, tanto local, como global.

7 Bases de datos distribuidas
Ventajas: Compartimiento de datos Autonomía Disponibilidad Compartimiento: Los usuarios de un nodo son capaces de acceder a los datos de otro nodo. Por ejemplo, desde el Rectorado, se puede consultar los datos de los alumnos de Informática. Autonomía: Cada nodo tiene cierto grado de control sobre sus datos, en un sistema centralizado, hay un administrador del sistema responsable de los datos a nivel global. Cada administrador local puede tener un nivel de autonomía local diferente Disponibilidad: Si en un sistema distribuido falla un nodo, los nodos restantes pueden seguir funcionando. Si se duplican los datos en varios nodos, la transacción que necesite un determinado dato puede encontrarlo en cualquiera de los diferentes nodos.

8 Bases de datos distribuidas
Desventajas: Costo de desarrollo del software Mayor probabilidad de errores Mayor sobrecarga de procesamiento Coste de desarrollo del software. La complejidad añadida que es necesaria para mantener la coordinación entre nodos hace que el desarrollo de software sea más costoso. Mayor probabilidad de errores. Como los nodos que constituyen el sistema funcionan en paralelo, es más difícil asegurar el funcionamiento correcto de los algoritmos, asícomo de los procedimientos de recuperación de fallos del sistema. Mayor sobrecarga de procesamiento. El intercambio de mensajes y ejecución de algoritmos para el mantenimiento de la coordinación entre nodos supone una sobrecarga que no se da en los sistemas centralizados.

9 Arquitectura Referencial
Esquema Global Esquema de Fragmentación Esquema de Asignación Esquema de Mapeo local 1 DBMS del sitio 1 Esquema de Mapeo local 2 DBMS del sitio 2 Esquema de Mapeo local N DBMS del sitio N BD1 BD1 BD1

10 Almacenamiento de Datos
Replicación Fragmentación Vertical Horizontal Nuevo contenido

11 Replicación El sistema conserva varias copias o réplicas idénticas de una tabla. Cada réplica se almacena en un nodo diferente Ventajas: Disponibilidad: Tolerancia a fallos Aumento del paralelismo: Cada emplazamiento puede realizar consultas sobre su replica de datos Desventajas: Sobrecarga en las actualizaciones

12 Fragmentación Vertical
Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de proyección Cada fragmento se sitúa en un nodo Cada fragmento debe incluir la clave primaria de la tabla. Su reconstrucción se realizará con una operación de join de los fragmentos componentes

13 Fragmentación horizontal:
Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de selección su reconstrucción se realizará con una operación de unión de los fragmentos componentes Cada fragmento se sitúa en un nodo

14 Esquemas Mixtos Fragmentación Mixta: Replica y fragmentación:
Aplicación de la fragmentación horizontal y vertical sobre una misma Tabla Replica y fragmentación: Replicar fragmentos o Fragmentar replicas

15 Se puede realizar alta disponibilidad en SQL Server
En resumen Replicación: El sistema guarda varias réplicas (copias) idénticas de la base de datos y guarda cada réplica en un sitio diferente. Fragmentación: El sistema divide la base de datos en varios fragmentos y guarda cada fragmento en un sitio diferente. También existen híbridas, donde se conjugan ambos aspectos. Se puede realizar alta disponibilidad en SQL Server

16 ¿Qué es SQL? Structured Query Language (Lenguaje de consulta estructurado) es un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL). Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal.

17 Historia del SQL Es un lenguaje usado para comunicarse con la base de datos Fue desarrollado originalmente por IBM en la década del 70 Fue inicialmente llamado Sequel En 1986, ANSI presentó un nuevo estándar llamado SQL-86 Existe una versión llamada SQL-99 (SQL3) estándar que es muy utilizada Es ampliamente aceptado como un estándar en implementaciones de RDBMS

18 El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras. Aparte de esta universalidad, el SQL posee otras dos características: Presenta una potencia y versatilidad notables Su accesibilidad de aprendizaje.

19 Los tipos de datos SQL Se clasifican en 13 tipos de datos primarios y de varios sinónimos válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios son: Tipo de Datos Longitud Descripción BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario. BIT Valores Si/No ó True/False BYTE Un valor entero entre 0 y 255. COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long) CURRENCY 8 bytes Un entero escalable entre ,5808 y ,5807. DATETIME Un valor de fecha u hora entre los años 100 y 9999. SINGLE Un valor en punto flotante de precisión simple con un rango de *1038 a *10-45 para valores negativos, * a *1038 para valores positivos, y 0.

20 Los tipos de datos SQL DOUBLE 8 bytes
Un valor en punto flotante de doble precisión con un rango de *10308 a * para valores negativos, * a *10308 para valores positivos, y 0. SHORT 2 bytes Un entero corto entre -32,768 y 32,767. LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647. LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes. LONGBINARY Según se necesite De cero 1 gigabyte. Utilizado para objetos OLE. TEXT De cero a 255 caracteres

21 Sinónimos de los tipos de datos definidos:
Tipo de Dato Sinónimos BINARY VARBINARY BIT BOOLEAN LOGICAL LOGICAL1 YESNO BYTE INTEGER1 COUNTER AUTOINCREMENT CURRENCY MONEY DATETIME DATE TIME TIMESTAMP SINGLE FLOAT4 IEEESINGLE REAL

22 Sinónimos de los tipos de datos definidos:
Tipo de Dato Sinónimos DOUBLE FLOAT FLOAT8 IEEEDOUBLE NUMBER NUMERIC SHORT INTEGER2 SMALLINT LONG INT INTEGER INTEGER4 LONGBINARY GENERAL OLEOBJECT LONGTEXT LONGCHAR MEMO NOTE TEXT ALPHANUMERIC CHAR - CHARACTER STRING - VARCHAR VARIANT (No Admitido) VALUE

23 Manipulación de datos SELECT INSERT DELETE UPDATE
Tipos de sentencias Dependiendo de las tareas, estas sentencias se pueden clasificar en tres grupos principales (DML, DDL,DCL) y un cuarto grupo de programación avanzada en SQL (PLSQL) SENTENCIA DESCRIPCIÓN DML Manipulación de datos SELECT INSERT DELETE UPDATE Recupera datos de la base de datos. Añade nuevas filas de datos a la base de datos. Suprime filas de datos de la base de datos. Modifica datos existentes en la base de datos. DDL Definición de datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM Añade una nueva tabla a la base de datos. Suprime una tabla de la base de datos. Modifica la estructura de una tabla existente. Añade una nueva vista a la base de datos. Suprime una vista de la base de datos. Construye un índice para una columna. Suprime el índice para una columna. Define un alias para un nombre de tabla. Suprime un alias para un nombre de tabla.

24 SQL Programático DECLARE OPEN FETCH CLOSE
DDL Definición de datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM Añade una nueva tabla a la base de datos. Suprime una tabla de la base de datos. Modifica la estructura de una tabla existente. Añade una nueva vista a la base de datos. Suprime una vista de la base de datos. Construye un índice para una columna. Suprime el índice para una columna. Define un alias para un nombre de tabla. Suprime un alias para un nombre de tabla. DCL Control de acceso GRANT REVOKE Control de transacciones COMMIT ROLLBACK Concede privilegios de acceso a usuarios. Suprime privilegios de acceso a usuarios Finaliza la transacción actual. Regresa la transacción actual. PLSQL SQL Programático DECLARE OPEN FETCH CLOSE Define un cursor para una consulta. Abre un cursor para recuperar resultados de consulta. Recupera una fila de resultados de consulta. Cierra un cursor.

25 Componentes sintácticos
La mayoría de sentencias SQL tienen la misma estructura. Todas comienzan por un verbo (select, insert, update, create), a continuación le sigue una o más clausulas que nos dicen los datos con los que vamos a operar (from, where), algunas de estas son opcionales y otras obligatorias como es el caso del from.


Descargar ppt "Fragmentación de Datos"

Presentaciones similares


Anuncios Google