DataBase Administration



Documentos relacionados
Seguridad de la Información Permisos. Sistemas de Bases de Datos II - ITS EMT - CETP

Consultas con combinaciones

Sistemas de Datos Curso: Ernesto Chinkes. Sistemas de Datos. Niveles de Control de acceso. Criptografía. Aspectos legales y éticos.

Un nombre de usuario de 30 caracteres o menos, sin caracteres especiales y que inicie con una letra.

Vistas en postgresql

Seguridad en SQL Server 2005

8 SQL SERVER 2008 RA-MA

Sub consultas avanzadas

SQL (Structured Query Language)

A.1. Definiciones de datos en SQL

Nociones de performance

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

Bibliografía. Fundamentos de Sistemas de Bases de Datos (3. edición) Elmasri, Navathe Addisson Wesley 2002

Base de datos relacional

Procesamiento y Optimización de consultas Material Preliminar en preparación

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

Capítulo 12: Indexación y asociación

1

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

Base de datos Lenguaje SQL

Ventajas, Características y Aplicaciones de los SGBD Distribuidos.

Gestion de archivos. Problemas al almacenar datos sólo en la memoria:

CONTROL DE ACCESO. curso 2008

Universidad Nacional de Costa Rica Administración de Bases de Datos

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

10775 Administering Microsoft SQL Server 2012 Databases

Microsoft SQL Server 2005

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

FUENTES SECUNDARIAS INTERNAS

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

Oracle 12c DISEÑO Y PROGRAMACIÓN

Select table data Insert table data Update table data Delete table data Create table

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Tablas internas 1-12

Determinación del nivel de influencia

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

Estructura de Bases de datos. Leonardo Víquez Acuña

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

1. DML. Las subconsultas

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Bases de datos relacionales y el modelo entidad-relación

CAPITULO 8. Planeamiento, Arquitectura e Implementación

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Motores MySQL. José Manuel Gómez. Departamento de Lenguajes y Sistemas Informáticos

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

BASES DE DATOS TEMA 1

AUTENTICACIÓN: DETERMINAR SI EL USUARIOS ES QUIÉN DICE SER AUTORIZACIÓN: DETERMINA A CUÁLES OBJETOS TIENE ACCESO EL USUARIO

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

8283: Administración y programación en Microsoft SQL Server 2012

Tutorial de MS Access Un sistema de Bases de Datos Relacional. Profesores: Hugo Mora, Ignacio Casas

- Bases de Datos - - Diseño Físico - Luis D. García

5 Objetos de base de datos

Buenas Prácticas en Bases de Datos. María del Pilar Angeles. Posgrado de la Facultad de Ingeniería, UNAM.

M. C. Gustavo Alfonso Gutiérrez Carreón

Microsoft SQL Server Usuarios, Roles, Encriptación y Back Up de la base de datos.

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

MS_6232 Implementing a Microsoft SQL Server 2008 Database

Índice. iii. Objetivos... 24

ORACLE TUNING PACK 11G

Estrategia de Backup para los Sistemas SAP R/3 GOBERNACIÓN DE CUNDINAMARCA

PROCESO ADMINISTRACIÓN DE RECURSOS TECNOLÓGICOS SUBPROCESO ADMINISTRACIÓN DE CONTINGENCIAS

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

A.N.E.P. Consejo de Educación Técnico Profesional. Educación Media Tecnológica. Orientación: Informática ASIGNATURA SISTEMAS DE BASES DE DATOS II

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Práctica 3. Consultas SQL

Manual de Procedimiento. CREACION-ADMINISTRACION, RESPALDO DE DATOS Y CONTINUIDAD DEL NEGOCIO Procesos y Responsabilidades ECR Evaluadora Prefin S.A.

BASES DE DATOS - SQL. Javier Enciso

Arquitectura de sistema de alta disponibilidad

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

MANUAL COPIAS DE SEGURIDAD

Clase 1: Estructuras, Procesos y Diccionario de Datos

SEGURIDAD Y PROTECCION DE FICHEROS

Funciones del Administrador de Base de Datos. Ing. Anaylen López, MSc Base de Datos II

CAPÍTULO 3 Servidor de Modelo de Usuario

Curso Online de Microsoft

Bases de Datos Indexación y Hashing 1. Indexación. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

Acronis License Server. Guía del usuario

ST31_Querying Microsoft SQL Server

Introducción a los sistemas de bases de datos

SERVICIO NACIONAL DE APRENDIZAJE- SENA PROCESO RELACIONAMIENTO EMPRESARIAL Y GESTION DEL CLIENTE

DEPARTAMENTO: Computación y diseño NOMBRE DEL CURSO: Base de datos I CLAVE: ACADEMIA A LA QUE PERTENECE: Base de datos I

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

6231 Maintaining a Microsoft SQL Server 2008 R2 Database

POLÍTICAS DE SEGURIDAD PARA EL DESARROLLO DE SISTEMAS DE CAPUFE

Asignaturas Temas Asignaturas Temas

Transcripción:

DataBase Administration 1. FUNCIONES DE UN DBA (Data Base Administrator) El rol de DBA involucra las siguientes tareas: Creación de Bases y Tablas Base de Datos Verificar el lugar de creación, en los espacios de disco adecuados. El tipo de Base de Datos. Ver la necesidad de creación con o sin Logs transaccionales (dependiendo del motor) Crear la BD. Borrar la BD. Tablas Seleccionar los Data Types que serán usados en las tablas. Evaluar la creación o no de tablas fragmentadas (tablas con grandes volumenes de datos). Verificar el Lugar de Creación dentro de las estructuras de disco asignadas al Mortor de BD. Definir la Alocación de espacio de disco por cada tabla, y su futuro crecimiento. Crear las Tablas Alterar la definición de las Tablas. Borrar las Tablas. Asegurar la Integridad de los Datos: Existen algunos métodos para asegurar la integridad de los datos: El administrador DSA, puede crear views, puede otorgar o revocar permisos sobre la base de datos, tablas o columnas. Base de Datos Tablas Columnas (depende del motor de BD) Creación de Views Otorgar o revocar permisos sobre la ejecución de Stored Procedures y Functions. La integridad de entidades es usada para forzar la integridad en una tabla mediante la creación de claves primarias que unívocamente identifican a una tabla. La integridad referencial es usada para forzar la integridad entre tablas. La integridad semántica es usada para asegurar la coherencia de los nombres de los data types y sus valores defaults. Manejo de Concurrencia: Concurrencia Sobre la Lectura: Se resuelve con los llamados Niveles de Aislamiento. Concurrencia de Update : Según el modo de lockeo de la aplicación y de la tabla a la cual se esta actualizando. Pudiendo usar también los niveles de aislamiento. Optimización de Accesos Otro de los objetivos de la administración de base de datos es que los usuarios puedan acceder y actualizar los datos de la manera más rápida. Ing. Juan Zaffaroni 1 de 6 19 DataBase Administration v2.doc

El módulo optimizador del Motor de BD es el responsable de seleccionar el camino menos costoso y más eficiente para llegar a recuperar y/o actualizar los datos. Examina los índices y la distribución de datos sobre las tablas a ser accedidas, y evalúa todos los caminos posibles y mediante un algoritmo establece un costo para cada camino eligiendo luego el menos costoso. Entonces el rol del administrador de base de datos es asegurar que las tablas se encuentren indexadas adecuadamente de acuerdo a los requerimientos de las aplicaciones (eliminando índices innecesarios) y tener actualizado permanentemente las estadísticas que el Módulo optimizador necesita para elaborar los costos mencionados anteriormente. Creación de Indices Optimización de acceso a los datos Actualización de estadísticas (Depende del motor de BD) Distribución de Datos (Depende del motor de BD) 2. AMBIENTES DE TRABAJO Características de los DSS Queries (DataWarehouse): Muchas filas son leídas y el resultado no esta en una transacción Los datos son leídos secuencialmente SQL complejos son ejecutados Grandes archivos temporarios son creados El tiempo de respuesta es medido en horas y minutos Hay relativamente poca concurrencia de queries CARACTERISTICAS DEL Ambiente OLTP: On-Line Transaction Processing Relativamente pocas filas leídas Alta frecuencia de transacciones Acceso a los datos a través de índices Simple Operaciones SQL Respuesta de scan medida en segundos Muchos queries concurrentes 3. FRAGMENTACION Se denomina fragmentación al proceso por el cual una tabla es dividida en diferentes partes (dbspaces) con una condición determinada. La fragmentación provee la habilidad de distribuir datos de una tabla en discos separados, también llamada Fragmentación Horinzontal o Particionamiento. Hay dos tipos: Fragmentación por Expresión - Normal -Hash functions por Round Robin El objetivo de la fragmentación es balancear la entrada/salida de datos y maximizar el rendimiento entre múltiples discos. Ventajas de la Fragmentación: Ing. Juan Zaffaroni 2 de 6 19 DataBase Administration v2.doc

Scans Paralelos : En ambientes DSS (Decision Support), el sistema puede leer múltiples fragmentos en paralelo. En este tipo de ambientes se utilizan queries donde es necesario leer gran cantidad de filas. Este es el principal beneficio de la fragmentación. Las tareas que se pueden paralelizar son: scans, joins, sorts, funciones agregadas, agrupaciones (group by) e inserts. Es realmente efectivo cuando el equipo cuenta con mas de un procesador para atender a los múltiples threads lanzados en paralelo. Balanceo de I/O Mediante el balanceo de I/O ud. puede reducir la contencion de disco y elimina cuellos de botella. Esto es ventajoso para los ambientes OLTP donde el alto grado de rendimiento es crítico. Archive y Restore Tanto el archive como el restore pueden ser realizados a nivel de dbspace. Por lo tanto es posible mantener y/o restaurar solo una parte de la tabla si esta fragmentada en diferentes dbspaces. Alta disponibilidad Es posible especificar que salte algún fragmento no disponible. Esto es ventajoso en DSS donde gran cantidad de datos son leídos y el procesamiento no debería ser interrumpido si un fragmento en particular no está disponible. 4. ESTRATEGIA DE ÍNDICES (Ver apunte Objetos de una BD.) 5. OPTIMIZADOR BASADO EN COSTOS (Motor Informix) Existen 3 Tipos de estrategias de JOINS: Nesteed Loop Joins Scanea la primer tabla en algún orden, con el dato de la columna busca en la segunda tabla, y forma la tupla Proceso: Va leyendo la tabla A por orden específico (puede entrar por índice), realiza el filtro del where si fuera necesario. Crea una key con la columna del join con la que debe acceder a la tabla B. Si el campo de la tabla es declarado único, entonces leerá una sola vez, sino puede llegar a generar una key en la tabla B para acceder a la misma tantas veces como sea necesario y así va generando las tuplas necesarias. Sort Merge Joins Ordena las filas de la primer tabla por la columna del join con el resultado del escaneo, luego ordena la segunda tabla con el resultado del escaneo, y entonces mezcla ambas para obtener las tuplas resultantes Hash Joins Scanea la primer secuencialmente para construir la tablita de Hash (puntero+columna del join) y busca su correspondiente en la segunda tabla para formar la tupla Proceso: Este método tiene especial uso cuando se trata de tablas voluminosas y también cuando esta seteado el ambiente como DSS. Este proceso es más rápido que el Sort Merge Joins pero puede necesitar mas espacio de memoria y almacenamiento. Lee las filas de la primer tabla realizando el filtro del where si fuera necesario, con la columna que interviene en el Join calcula el Puntero para la tabla Hash y arma la misma. Luego cada fila de la tabla Hash es buscada en la Tabla B y arma de esta manera las tuplas resultantes Ing. Juan Zaffaroni 3 de 6 19 DataBase Administration v2.doc

EJEMPLO DE COMO SE CALCULA EL COSTO: COSTO = (CANTIDAD DE I/O DE DISCO) + (#CANTIDAD DE FILAS RETORNADAS * W) W = Factor de conversión PROCESO DE OPTIMIZACION: En general Examina todas las tablas, filtros e índices Examina selectivamente cada filtro Determina si los índices pueden ser usados para: Filtros, Orders By, Groups By Busca la mejor manera de buscar en una tabla: Sequencial o por Índice Estima costo por cada par de join encontrado y posible Busca la mejor manera de Juntas las dos tablas (nesteed Loop, Hash o sort merge) Decide cual de los índices puede ser el mejor para el join Calcula el costo del join Elimina pares redundantes Repite cada estimación para cada tabla adicional en el join 6. SEGURIDAD SOBRE LOS DATOS Existen 3 niveles de Seguridad: a) Base de datos b) Tabla c) Columna (depende del motor de bd) Existen 3 niveles de privilegios: Privilegios a Nivel de Tabla: Alter Insert Delete Update Select Create Index All Otorgar Privilegios (GRANT) Ejemplos para Otorgar privilegios a nivel de Base de Datos (BD Informix) Sintaxis del Grant: GRANT db_privilegio TO {User PUBLIC} {WITH GRANT OPTION} {AS grantor} Ej.: GRANT DBA TO Jose; GRANT RESOURCE TO PUBLIC; GRANT RESOURCE TO Maria, Jose, Pedro; WITH GRANT OPTION Ing. Juan Zaffaroni 4 de 6 19 DataBase Administration v2.doc

Permite al usuario que recibe también otorgar privilegios a otros (Solo el mismo que se otorgó). EJ: GRANT RESOURCE TO José WITH GRANT OPTION José puede otorgar a otros privilegios de RESOURCE AS GRANTOR = (GRANTOR = Usuario) Hace otorgador de permisos a otro usuario, pero renunciando su habilidad mas tarde de revocar los privilegios otorgados. EJ: GRANT RESOURCE TO Jose AS Maria Ejemplos Otorgar privilegios a nivel de Tablas (BD Informix) GRANT {tb_privilegio, tb_privilegio,... } ON {Tbl_name} TO {User list PUBLIC} {WITH GRANT OPTION} {AS usuario} Ejemplos: GRANT Insert, Delete ON Items TO pedro, juan; GRANT all ON Orders TO PUBLIC; GRANT all ON customers TO Luis AS Maria {WITH GRANT OPTION} y AS usuario - Idem Anterior Revocar Privilegios REVOKE Otorgando privilegios a nivel de Tablas (BD Informix) GRANT {tb_privilegio, tb_privilegio,... } ON {Tbl_name} TO {User list PUBLIC} {WITH GRANT OPTION} {AS usuario} Ejemplos: GRANT Insert, Delete ON Items TO pedro, juan; GRANT all ON Orders TO PUBLIC; GRANT all ON customers TO Luis AS Maria {WITH GRANT OPTION} y AS usuario - Idem Anterior Otorgando privilegios a nivel de Columnas: Ing. Juan Zaffaroni 5 de 6 19 DataBase Administration v2.doc

GRANT {tb_privilegio(col1,col2), tb_privilegio(col3,col4),... } ON {Tbl_name} TO {User list PUBLIC} {WITH GRANT OPTION} {AS usuario} Ej.: GRANT INSERT, UPDATE(cantidad), DELETE ON Items TO Pedro Otorgando privilegios a nivel de Store Procedures: GRANT EXECUTE ON Del_proce TO PUBLIC Nota: Es posible quitar algún tb_privilegio a un usuario sobre alguna tabla, pero también es posible dar el permiso de ejecución de un store procedure que realice ese evento quitado sobre la tabla y esto es correcto (según manual training). Revocar Privilegios (REVOKE) Ejemplos para revocar privilegios a nivel de Base de Datos (BD Informix) REVOKE {tb_privilegies ON Table_name Db_privilegies } FROM {User List PUBLIC} Ej: REVOKE RESOURCE FROM Pedro; REVOKE CONNECT FROM Juan; Ejemplos para evocar privilegios a nivel de Tabla (BD Infomrix) Ej.: REVOKE Insert, Delete, Update ON items FROM Pablo, Jose; REVOKE all ON Orders FROM PUBLIC; 7. CREACIÓN DE VIEWS (Ver apunte Objetos de una BD.) Ing. Juan Zaffaroni 6 de 6 19 DataBase Administration v2.doc