SlideShare une entreprise Scribd logo
1  sur  25
POSTGRES
QL
PARTE IAzuaje, 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
Í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 confirmada Serializable
 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 VACUMM Auto 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.<vista>.
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…
¿Pregunta
s?

Contenu connexe

Tendances

PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQLEQ SOFT EIRL
 
Instalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windowsInstalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windowsDaniel Huerta Cruz
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)Emanuel Calvo
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLCarlos Gustavo Ruiz
 
Instalación y configuración de sgbd presentacion
Instalación y configuración de sgbd presentacionInstalación y configuración de sgbd presentacion
Instalación y configuración de sgbd presentacionhugoAlvidrez
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresqlesmeraldaq2011
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresqljockbrera
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pedvin_marcelo
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadSantiago Zarate
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oraclejftorres92
 
Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalaciónPrincezitha Ruiz
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Alexander Calderón
 

Tendances (19)

PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Admon PG 1
Admon PG 1Admon PG 1
Admon PG 1
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQL
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
SGBD Postgresql
SGBD PostgresqlSGBD Postgresql
SGBD Postgresql
 
Instalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windowsInstalación de sgbd en diferentes plataformas de windows
Instalación de sgbd en diferentes plataformas de windows
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
Instalación y configuración de sgbd presentacion
Instalación y configuración de sgbd presentacionInstalación y configuración de sgbd presentacion
Instalación y configuración de sgbd presentacion
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresql
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_p
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidad
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oracle
 
Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalación
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 

Similaire à PostgresQL parte I introducción

Similaire à PostgresQL parte I introducción (20)

Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
curso-servidores-apache-2
curso-servidores-apache-2curso-servidores-apache-2
curso-servidores-apache-2
 
Couch db
Couch dbCouch db
Couch db
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Exposicionsqlite1 (1)
Exposicionsqlite1 (1)Exposicionsqlite1 (1)
Exposicionsqlite1 (1)
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshare
 
Base de dato
Base de  dato Base de  dato
Base de dato
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Manual de administración BD
Manual de administración BDManual de administración BD
Manual de administración BD
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .Net
 
Tema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptxTema LOS SGBD O DBMS.pptx
Tema LOS SGBD O DBMS.pptx
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 
Db2 10 afinamiento
Db2 10   afinamientoDb2 10   afinamiento
Db2 10 afinamiento
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nube
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
 

Dernier

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 

Dernier (20)

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 

PostgresQL parte I introducción

  • 2. 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.
  • 3. ¿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
  • 4. 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.
  • 5. Arquitectura Básica  Consiste en el modelo Cliente-Servidor. ¿Y esto de aquí arriba que significa?
  • 6. 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.
  • 7. 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…
  • 9. 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.
  • 10. Manejo de Memoria Ejemplo de un “Full Vacuum”:
  • 11. Manejo de Memoria Ejemplo de un “Lazy Vacuum”:
  • 12. Índices  Los índices se utilizan para acelerar las consultas.  Son también archivos. Y con ustedes… Los índices
  • 13. Í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)
  • 14. Í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>[,…]) )
  • 15. Í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
  • 16. Í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: <<|, &<|, |&>|, |>>, @>, <@, ~=, &&
  • 17. Índices  Un Árbol B para refrescar la memoria…
  • 18. Concurrencia  Recordemos el modelo Cliente – Servidor…  Varios clientes implica varias transacciones, que pueden ser concurrentes…
  • 19. 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
  • 20. 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 confirmada Serializable  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.
  • 21. 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 VACUMM Auto VACUMM  Mas agresivo  Espacio liberado, retornado al SO  Bloqueo exclusivo mientras se procesa  Automatizar el VACUMM  Múltiples procesos para mantenerlo activo
  • 22. 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
  • 23. 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
  • 24. 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.<vista>. Pg_class: tablas, índices…. Pg_constraint: restricciones definidas. Pg_statistics: información de la estadísticas del sistema. Select relname from pg_class;
  • 25. Y por ahora terminamos… ¿Pregunta s?

Notes de l'éditeur

  1. Funciona muy bien con grandes cantidades de datos y posee una alta concurrencia de usuarios accediendo a la vez a el sistema, es decir, permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Obedece completamente a las especificaciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) Permite el uso de triggers Portable: (Linux, Mac OS X, Solaris, FreeBDS, OpenBSD, Windows) Bien Estructurado y documentado. Extensible
  2. El proceso Postmaster: Es el proceso inicial. Gestiona los accesos multiusuario y multiconexion. Levanta lamemoria compartida. Esta al tanto de solicitudes de nuevas conexiones. Lanza procesos de atención de demanda, realizando las operaciones sobre la base de datos a solicitud de los clientes. Realiza el enlazado con los archivos de datos, gestionando estos ficheros, donde los ficheros pueden pertenecer a varias bases de datos.
  3. En todos los sistemas manejadores de BD los datos se guardan en páginas. Estas páginas están guardadas en disco. A continuación veremos las características para PostgreSQL: - El tamaño de las páginas puede variar entre 8K y 32K. - Si se necesita guardar una data de tamaño muy grande PostgreSQL aplica una técnica que es conocida popularmente como TOAST que consiste en comprimir la data y/o partirla en varias filas. Este proceso es transparente para el usuario. Para las operaciones de lectura y escritura se consulta primero al Storage Manager, si no esta se busca en disco. El Storage Manager está compuesto por los siguientes módulos: Sistema de transacciones Almacenamiento Relacional Gestión del Tiempo Control de concurrencia y gestión de fecha y hora Acceso a registros