POSTGRESQL PARTE I Azuaje, Agustín Hevia, Andrés.

Slides:



Advertisements
Presentaciones similares
SISTEMAS DE GESTIÓN DE BASES DE DATOS
Advertisements

CRISTINA TIGLLA NOVENO F
¿QUÉ SON LAS BASES DE DATOS?
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Introducción a los Sistemas de Bases de Datos
UNIVERSIDAD LATINA BASES DE DATOS.
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
PostgreSQL: Parte 1 Integrantes: Álvaro Marciales Claudio Torrez.
1 Fundamentos de Bases de Datos. U.de.A. Facultad de Ingeniería Características Generales de un Sistema de Bases de Datos. Profesor: John Freddy Duitama.
Características Generales de un Sistema de Bases de Datos.
1 Unidad VI Arquitectura y Componentes de un SGBD.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
BASE DE DATOS EDY GOMEZ C. Lic. En Informatica y Medios Audiovisuales
BASE DE DATOS DISTRIBUIDAS
MIA - Grupo 5 Unidad 2.
UNIVERSIDAD LATINA V. ADMINISTRACIÓN EN BASES DE DATOS RELACIONALES. E.I. L.E. Prof. Ramón Castro Liceaga.
Características Generales de un Sistema de Bases de Datos. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor: John Freddy Duitama.
Diccionario/Directorio de Datos
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Bases de datos ITecnológico San Agustín1 BASES DE DATOS Conceptos Básicos Paulo César Acosta Lozano –
Sistema de control de versiones CVS y Subvesion. Definición: Control de versiones Un sistema de control de versiones es un sistema de gestión de múltiples.
Proyecto ROOTVE V2: Control de versiones con Subversion Grupo de Investigación y Desarrollo en Seguridad de la Información - GIDSI.
Es el software que controla el conjunto de operaciones de una computadora. Proporciona el mecanismo por el cual un usuario puede solicitar la ejecución.
 Se refiere al almacenamiento físico en el se describe cómo se almacenan realmente los datos en memorias secundarias, en qué archivos, su nombre y dirección.
Índices Ing. Catherine Naranjo D.. Introducción Los índices son objetos de base de datos diseñados para mejorar el rendimiento de las consultas. En este.
Conceptos generales de base de datos
BASE DE DATOS.
Aidan Hogan CC Bases de Datos Primavera 2016 Clase 11: Integridad, Transacciones, ACID (I) Aidan Hogan
El punte entre tu y tu base de datos
Paul Leger Transacciones Paul Leger
CC Bases de Datos Primavera Clase 12: Implementación de ACID
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO
SEGURIDAD SQL Usuarios, privilegios y perfiles.
Tipos de datos en MYSQL YEAR: Año. “YYYY” o “YY”
Base de Datos Introducción
U.T. 11: Introducción A Las Bases De Datos
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
Técnicas y Herramientas de Computación
BASES DE DATOS.
Una de las obligaciones del sistema operativo es usar el hardware de forma eficiente. En el caso de las unidades de disco, esto implica tener un tiempo.
SISTEMAS DE GESTIÓN DE FICHEROS
Base de Datos
Unidad 7: Nivel Interno Algunos Conceptos Importantes
Novell Netware Autores: Cerrina Maria Josefina, Coto Marcelo,
TIPO DE DATOS EN ACCESS 2010 TEXTO, MEMO, NUMERO, FECHA/HORA, MONEDA, AUTONUMERACION, SI/NO, OBJETO OLE, HIPERVINCULO, DATOS ADJUNTADOS, CALCULADO Y ASISTENTES.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
BASES DE DATOS Quienes las utilizan? Qué son? Beneficios
Consultas SQL.
UN EJEMPLO DE LECTURA CONSISTENTE EN INNODB
L.I. Manuel Antonio Cebreros Zazueta
Administración de Base de Datos Recuperación de datos Profesora: Mercy Ospina UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS.
P P AGINACION FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS.
Arquitectura de SGBD. Componentes de una base de datos.
Introducción de Base de Datos
Nuevas Características de SQL Server 2016
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Generaciones de Bases de Datos
Universidad Alonso de Ojeda Facultad de Ingeniería
Unidad 1. Introducción a las Bases de Datos FUNDAMENTOS DE BASE DE DATOS.
Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.
CARACTERÍSTICAS DEL MOTOR DE BASE DE DATOS POSTGRESQL ACID. Soporta distintos tipos de datos y permite la creación de tipos propios. Herencia entre tablas.
Informacion estadistica Para cada tabla ●Cardinalidad (n° de filas) ●Factor de bloques (n° de filas que caben en un bloque) ●N° de bloques ocupados ●Método.
Núcleo Lic. Gonzalo Pastor.
Access Este programa permite manipular datos en forma de tablas, realizar cálculos complejos con fórmulas y funciones, incluso dibujar distintos tipos.
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
Taller de Bases de Datos Ingeniería en Sistemas Computacionales M. en I.S.C Mariana Carolyn Cruz Mendoza Por Alexis Orlando Rebollar Lopez.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control de bases de datos relacionales. La sigla que se conoce como SQL corresponde.
Transcripción de la presentación:

POSTGRESQL PARTE I Azuaje, Agustín Hevia, Andrés

Agenda  Definición: ¿Qué es PostgreSQL?  Entrando a Postgres…  Reseña histórica y características básicas.  Arquitectura Básica.  Modelo Cliente – Servidor.  Manejo de Memoria.  Almacenamiento  Índices  Restauración  Manejo de la concurrencia.  Diccionario de Datos / Directorio.

¿Qué es PostgreSQL?  ¿Un simple SMBD?  Más que eso: Un poderoso sistema de gestión de base de datos objeto- relacionales.  Fiel cumplidor de la norma ACID

Entrando a Postgres…  Nace en 1982 en la Universidad de Berkeley.  Su primer nombre fue Ingres.  Robusto como su logo, corre en casi cualquier Sistema Operativo.  Diseñado para ambientes de alto volumen de transacciones.  De código abierto.  En 1994 empieza a utilizar el lenguaje SQL.

Arquitectura Básica  Consiste en el modelo Cliente-Servidor. ¿Y esto de aquí arriba que significa?

Manejo de Memoria  En todos los sistemas de gestión de base de datos, los datos se guardan en páginas de memoria… … Postgres no es la excepción:  Tamaños de página desde 8 K hasta 32 K.  ¿data muy grande? It’s TOAST time! A picar se ha dicho.

Manejo de Memoria El Storage Manager:  Todo Update es una inserción en vez de un cambio de las tuplas.  No requiere la ejecución de un código de recuperación si el sistema falla.  Esquema WORM: Write-Once-Read-Many.  Almacenamiento por bloques.  Aprovecha el hardware especializado como procesadores múltiples y memoria no volátil.  Para cada usuario que lee, tiene una copia del dato disponible…

Manejo de memoria

Manejo de Memoria ¡El maravilloso Vacuum!  Libera espacio en disco.  Mantiene actualizadas las estadísticas de de datos utilizados por el planificador de consultas SQL. ¿Cómo funciona?  Primero escribe un registro de archivo y de sus registros de índice asociados.  Luego crea un nuevo punto de anclaje en la base de datos actual (Checkpoint).  Libera el espacio ocupado por el punto de anclaje más antiguo.

Manejo de Memoria Ejemplo de un “Full Vacuum”:

Manejo de Memoria Ejemplo de un “Lazy Vacuum”:

Índices  Los índices se utilizan para acelerar las consultas.  Son también archivos. Y con ustedes… Los índices

Índices Índices por valor  Su campo clave es… … una columna. La sentencia para su creación sería: CREATE [UNIQUE] INDEX nombre_indice ON TABLE [USING nombre_acceso] (columna)

Índices Índice funcional  Se define por el resultado de una función.  Acceso más veloz. La sentencia para su creación sería: CREATE [UNIQUE] INDEX nombre_indice ON TABLE [USING nombre_acceso] (nombre_funcion (r”>columna|e>[,…]) )

Índices Índices primarios  Se crean automáticamente cuando establecemos un campo como clave primaria.  Aunque se crean automáticamente, pueden crearse manualmente para campos que creamos relevantes. La sentencia para su creación sería: CREATE INDX nombre_indice ON table (campo);

Índices Índices secundarios  B-Tree (Árbol B).  R-Tree (Árbol R) (Descontinuados).  Gist (Sustituye al R-Tree): se utilizan en una búsqueda, cuando alguno de los atributos indexados esté involucrado en una comparación que utilice uno de los siguientes operadores: |, ~=, &&

Índices  Un Árbol B para refrescar la memoria…

Concurrencia  Recordemos el modelo Cliente – Servidor…  Varios clientes implica varias transacciones, que pueden ser concurrentes…

Concurrencia PostgreSQL Bloqueo PostgreSQL = MVCC Transacción = Acción Reed/Write NO contención, deadlocks SI transacciones ACID Atomicity, Consistency, Isolation and Durability. Copias paralelas de datos. NO elimina o actualiza la data Fila extra = “no visible” Desventajas Usa más espacio de disco. Lentitud al leer datos. R nunca bloquea W, y viceversa Control de Concurrencia Multi-Versión  Concurrencia

Concurrencia PostgreSQL  Caso de Conflicto = 2 transacciones trabajan sobre el mismo objeto, con al menos una operación de escritura. Aislamiento de Transacción. Solución Lectura confirmadaSerializable  Predeterminada  Ve una instantánea a partir del inicio de la operación.  2 Casos:  Consulta sólo ve los datos confirmados antes del comienzo de la consulta.  Se esperará la confirmación de la primera transacción.  Estricto  Emula la ejecución en serie.  Los sucesivos comandos dentro de una sola transacción siempre ven los mismos datos.

Concurrencia PostgreSQL  VACUUM E- Bloqueo no visible SD: Bloque Sin Asignar OF: Bloque Fuera de Uso ¿Se acuerdan de esto? Hora de reutilizar espacio y optimizar las búsquedas. Full VACUMMAuto VACUMM  Mas agresivo  Espacio liberado, retornado al SO  Bloqueo exclusivo mientras se procesa  Automatizar el VACUMM  Múltiples procesos para mantenerlo activo

Recuperación PostgreSQL Existen distintos enfoques para resguardar la BD: Backups mediante volcado Backup de todas las BD del servidor Backup a nivel de ficheros Crear Fichero Restaurar psql basededatos < fichero.sql pg_dump basededatos > fichero.sql Copiar BD del servidor pg_dumpall > backup_server.sql Restaurar las BD psql -f backup_server.sql postgres Apagar el servidor tar -czvf backup.tar.gz /var/pgsql/data Mover los ficheros a su ruta y levantarlo de nuevo  Recuperación

Recuperación PostgreSQL  Estrategia Compleja de Copias de Seguridad Archivado Continuo y Logfiles Copias Físicas (Resguardar la BD) Almacenan automáticamente todas las modificaciones. Almacenan data de forma continua. Registran todas las manipulaciones a la BD Rotación de Logfiles

Diccionario de Datos PostgreSQL  Almacena un conjunto de Meta-datos. Son datos que describen otros datos Organizados en tablas Generados automáticamente por el Compilador. Estándar SQL-92, lo denomina “informationschema” Diccionario de Datos Tipos de datos: cardinal_number: Entero no negativo character_data: String sin longitud sql_indentifier: Sentencias de sql yes_or_no: valores lógicos Conjunto de vistas las cuales contiene: Columns (Columnas definidas por el sistema), Tables (Tablas de la bd), Views (Vistas) Acceso Select * from information_schema.. Pg_class: tablas, índices…. Pg_constraint: restricciones definidas. Pg_statistics: información de la estadísticas del sistema. Select relname from pg_class;

Y por ahora terminamos… ¿Preguntas?