Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PostgreSQL - Arquitectura en RDBMS

Exposición respecto a la arquitectura de Postresql
by

Néstor Alberto Cardona Sánchez

on 28 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PostgreSQL - Arquitectura en RDBMS

Un checkpoint es un punto en la secuencia de registro de transacciones en las que todos los archivos de datos han sido actualizados en disco.Se hacen un check point cada checkpoint_segments o cada checkpoint_timeout.(El primero q se ejecute)
Por defecto checkpoint_segments: 3 segmentos.
checkpoint_timeout cada 5 minutos photo (cc) Malte Sörensen @ flickr Martha Liliana Gómez
Camilo Rojas
Leandro Muñoz
Ricardo Erira
Néstor Cardona POSTRESQL:
Arquitectura de una RDBMS Sentencia para crear un TableSpace en Postgresql. TABLESPACES - DATAFILES - TIPOS DE DATOS EN POSTGRES La creación de un TableSpace se hace por un superusuario, este puede permitir a usuarios normales el uso de este. TableSpace creados automaticamente por el initdb. pg_global y pg_default. Sentencia para el numero de tablespace: Creación de un TableSpace. El nombre del TableSpace debe ser distinto de cualquier tableSpace existente en el cluster de bases de datos. Eliminación de un TableSpace. Sentencia para eliminar un tablespace del sistema.
If exists , si el tablespace no existe emite un aviso en este caso. Este motor funciona con una arquitectura Cliente - Servidor. Aquí un proceso servidor es el que se encarga de atender las solicitudes hechas por las aplicaciones cliente para realizar tareas frente a la BD. Por cada proceso cliente, el proceso PostMaster crea un proceso Postgres Arquitectura de PostgreSQL Cambiar el propietario del tablespace index-space. Modificar un TableSpace. Dentro de los procesos del servidor se encuentran los siguientes:
PostMaster (Master Process)
Writer Process (escritura en BD, escritura Registros, CheckPoints)
Stats Collector Process (Actividad del servidor)
Procesos de Sesión de usuario (Postgres Process) Los procesos del lado servidor Datafiles. Los datafiles en Postgres son creados automaticamente en postgres. Página: Unidad mínima de lecto-escritura para PostgreSQL, su tamaño va desde los 8k, hasta los 32k. Las páginas contienen “items” los cuales apuntan a tuplas o entradas de índices junto con metadata. Almacenamiento de datos Tipos de datos en Postgres.

Los usuarios pueden agregar nuevos tipos con el comando CREATE TYPE.
Entre los tipos de datos tenemos:Numericos,Moneda,Caracter,Binarios,Fecha y horas, Booleanos, Geometricos, para almacenamiento de direcciones de redes. PostgreSQL utiliza una técnica estándar denominada WAL (Write-ahead logging, o escritura anticipada de registros) para controlar tanto la consistencia como la durabilidad de las transacciones. consiste en que los cambios en los objetos de la base de datos sólo se materializan cuando existe previamente en disco un registro en el que están anotados dichos cambios. Siguiendo este procedimiento, no es necesario enviar páginas al disco cada vez que una transacción se completa. Esta técnica no sólo mejora el rendimiento del servidor, sino que ante un fallo de la máquina, será posible recuperar la BD. Recuperacion en Postgres Checkpoint Esta técnica no sólo mejora el rendimiento del servidor, sino que ante un fallo de la máquina, será posible recuperar la Base de Datos partir de ese registro, cualquier cambio no aplicado a las páginas de datos en el disco sera nuevamente hecho desde el log (REDO) mientras que los posibles cambios realizados en páginas de disco por transacciones incompletas, podrán ser deshechos manteniendo la integridad y la consistencia de los datos (UNDO). Ventajas Estos ficheros de diario están en $PGDATA/pg_xlog, son ficheros de 16Mb, divididos en
páginas de 8Kb, el sistema crea uno inicialmente y va creando más según las necesidades,
rotando de manera cíclica según marquen los parámetros de sistema que gestionan este
funcionamiento (checkpoint_segments y archive_command). Como se Procesa un Query “El cliente postgresql” se comunica con el servicio del “postmaster” para pasarle una cadena de texto con el query El parser transforma el pequeño query en una serie de instrucciones que la base de datos pueda interpretar.
Luego pasa por :
Un identificador de reglas de que lo escrito sea sintácticamente entendible, que los caracteres y los números sean reconocibles.
Luego se descompone “palabra” a “palabra” del query para pasar a la estructura que le corresponde según el query. Parser Contiene al controlador principal del proceso del PostgreSQL.
Hace un filtro de los querys donde los querys complejos pasan al Rewriter (select, insertc.), lo que no, se pasa al Utility Commands, generalmente querys simples (alter, create,vacuum, etc.) Traffic Cop Consiste de un arreglo de entradas de memoria, aquí todas las operaciones que se realizan necesitan un punto de partida dentro de la matriz; cuando se llega al final se devuelve a la posición cero (barrido de Reloj) Shared Buffer Cache Planner Toma el plan de ejecución que el“planner” le entrega e inicia el procesamiento,ejecuta un “plan tree”.
Este “plan tree” tiene varios nodos de ejecución que se van ejecutando uno a uno y de cada uno de ellos obtiene un set de datos (tuplas). Executor Postgre Proporciona la manipulación del catálogodel sistema, y contiene las rutinas de la creación y de lamanipulación para todos los aspectos del sistema de catálogo,tales como tabla, índice, procedimiento, operador, tipo,agregado, etc. El módulo del catálogo es utilizado por todoslos subsistemas del back-end Catálogo Tenemos las siguientes:
LIBPQ
APLICACIONES CLIENTE Aplicaciones del Lado cliente Responsable de la comunicación con los procesos del cliente, es decir se encarga de establecer la conexión con el postmaster LIBPQ Son en este caso las que permiten una interacción del usuario con el Motor de la Base de Datos, entre estos se pueden incluir: psql, entre otros Aplicaciones PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente.
utiliza un modelo cliente/servidor y usa multiprocesos para garantizar la estabilidad del sistema. Una sesión Postgres consiste en los siguientes procesos cooperativos de Unix (programas):
* Un proceso demonio supervisor (postmaster),
* La aplicación sobre la que trabaja el usuario (frontend) (ej., el programapsql ).
* Uno o más servidores de bases de datos en segundo plano (el mismo proceso postgres). El Libpq es el responsable de manipular las comunicaciones entre la aplicación cliente y el postmaster (servicio del PostgreSQL en el servidor). El proceso postmaster acepta los siguientes parámetros en su línea de comandos:
-B nBuffers
-D DataDir
-N nBackends
-S
-d [ DebugLevel ]
-I
-L
-o BackendOptions
-p port
Y un conjunto de procesos opcionales Papeles: Grupos, Roles,
Usuarios El concepto de los roles viene de los conceptos de "usuarios" y "Grupos". En las versiones anteriores de PostgreSQL 8.1, los usuarios y los grupos eran diferentes tipos de entidades, pero ahora existe solo un papel. Un papel puede ser considerado como un usuario de base de datos, o un grupo de usuarios de la base, dependiendo de cómo el papel está configurado.
 Instancia de PostgreSQL, donde se lanza un proceso postmaster, que puede gestionar varias bases de datos.  
PostgreSql tiene el concepto de Clúster de bases de datos.
template0 (1):contiene las definiciones de las tablas del sistema, vistas, funciones y tipos estándar.
template1 (N):base de datos plantilla para crear nuevas bases de datos, se puede modificar su estructura, añadiendo tablas, índices, funciones, etc. Es la que se usará como plantilla para crear otras bases de datos.
postgres En una instalación automáticaSe crea un clúster automáticamente con tres bases de datos: Clúster de servidores Clúster de servidores




Un clúster comparte los datos y presenta un solo servicio al cliente; tiene a su disposición varios nodos (servidores) que están contra una base de datos única (caja de discos). cuando un servidor cae, el otro levanta todos los procesos automáticamente.

Alta disponibilidad: activo – pasivo
Alto rendimiento: activo – activo Redundancia de servidores CREATE TYPE Tipos de datos de próposito general. Tipos de datos numericos- Tipos de datos monetarios. Tipos de datos caracter. Tipos de datos binarios. Tipos de datos fecha/hora. Tipos de datos numericos. Tipos de datos de direcciones de red. La idea básica del planificador es selección coste-estimar-basada del mejor plan para un query
Full transcript