Integrantes Isabel Herrera Jaime Aguilar Jesús Porras Luz Cala
Agenda POSTGRE SQL SQL ORACLE * Qué es Oracle? * Historia * Arquitectura Qué es Oracle? La arquitectura Oracle es básicamente una herramienta cliente-servidor para la gestión de base de datos creada por Oracle Corporation. Es considerado el SGBD más complejo por poseer: Soporte de transacciones Estabilidad Escalabilidad Es multiplataforma Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que sólo se vea en empresas muy grandes y multinacionales.
Agenda POSTGRE SQL SQL ORACLE * Qué es Oracle? * Historia * Arquitectura HISTORIA La compañía Oracle surgió hace 25 años cuando Larry Ellison y sus co-fundadores, Bob Miner y Ed Oates se dieron cuenta del potencial existente en el modelo de la base de datos relacional. De esta compañía surgió el Relational Software (Actual arquitectura Oracle) gracias a los estudios sobre SGDB de George Koch. Para ese entonces era el sistema más complejo desde el punto de vista técnico, debido a su filosofía de las bases de datos relacionales.
Agenda POSTGRE SQL SQL ORACLE * Qué es Oracle? * Historia * Arquitectura Arquitectura Consiste de varios procesos corriendo donde reside la instancia, los espacios de memoria dedicados a ejecutar procesos específicos y la base de datos física con sus archivos de control, de datos y de transacciones.
Agenda La Instancia de Oracle POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia *SGA *Buffer cache *Buffer redo log *Shared Pool 2.Procesos 3.Base de datos Una instancia de Oracle está conformada por varios procesos (procesos de usuario y los que se ejecutan en el background de Oracle) y espacios de memoria compartida. El Área Global del Sistema (SGA) Es un área de memoria compartida que se utiliza para almacenar información de control y de datos de la instancia.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia *SGA *Buffer cache *Buffer redo log *Shared Pool 2.Procesos 3.Base de datos El buffer de caché (database buffer cache) Almacena los bloques de datos utilizados recientemente. Al utilizarse este buffer se reducen las operaciones de entrada y salida. El buffer de redo log Guarda los cambios efectuados en la base de datos. Estos buffers escriben en el archivo físico de redo log tan rápido como se pueda sin perder eficiencia.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia *SGA *Buffer cache *Buffer redo log *Shared Pool 2.Procesos 3.Base de datos El área shared pool Esta área almacena estructuras de memoria compartida, tales como las áreas de código SQL compartido e información interna del diccionario. 1. El caché de biblioteca se utiliza para almacenar código SQL compartido. 2. El caché del diccionario de datos está conformado por un grupo de tablas y vistas que se identifican la base de datos.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia *Procesos *PGA 2.Procesos 3.Base de datos Procesos de la Instancia DBWR (database writer): escribe en disco. LGWR (log writer): escribe información desde el buffer de log hacia el archivo redo log. CKPT (checkpoint): advierte al proceso DBWR de efectuar un proceso de actualización en el disco de los datos mantenidos en memoria. PMON (process monitor): Su misión es monitorizar los procesos del servidor y tomar acciones correctivas cuando alguno de ellos se interrumpe en forma abrupta.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia *Procesos *PGA 2.Procesos 3.Base de datos SMON (system monitor): Levanta una instancia cuando se le da la instrucción de partida. Enseguida limpia los segmentos temporales y recupera las transacciones interrumpidas. ARCH (archiver): respalda la información almacenada en los archivos redo log cuando éstos se llenan. Este proceso está siempre activo con el modo ARCHIVELOG. El Área Global de Programas (PGA) Esta área de memoria contiene datos e información de control para los procesos que se ejecutan en el servidor de Oracle.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia 2.Procesos *Usuarios *Servidores 3.Base de datos Procesos de Usuarios: Cuando un usuario se conecta a la base de datos, se crea un proceso de usuario que se encarga de efectuar el código de aplicación del usuario y manejar su perfil con sus variables de ambiente. Procesos de Servidores: Ejecutan las ordenes SQL de los usuarios y llevan los datos al database buffer cache para que los procesos del usuario puedan tener acceso a los datos. Se pueden tener diversos los tipos de servidores: dedicados y multihilos.
Agenda Archivos de Datos (Datafiles) POSTGRE SQL SQL ORACLE * Arquitectura 1.La Instancia 2.Procesos 3.Base de datos -Datafiles -Controlfiles -Redo log files -Archiver log files Sirven para el almacenamiento físico de las tablas, índices y agrupamientos (clusters) y procedimientos. Contienen los datos de los usuarios. Los espacios de tablas (tablespaces) son las unidades lógicas manejadas por oracle para manejar y controlar el espacio de los discos.
Agenda POSTGRE SQL SQL Archivos de Control (Control Files) Contienen la dirección física y descripción de los archivos de la base de datos y de los archivos de rehacer para el arranque correcto de la BD. ORACLE Estos archivos se crean automáticamente cuando se da una orden CREATE DATABASE y no son editables. * Arquitectura Archivos de Rehacer (Redo log files) 1.La Instancia Contiene los cambios realizados a la BD para la 2.Procesos recuperación ante fallas o el manejo de las transacciones.el 3.Base de datos principal propósito de estos archivos es servir de respaldo de los datos en la memoria RAM. -Datafiles Archivos Fuera de Línea (Archived log Files) -Controlfiles Son Archivos opcionales donde se guarda información -Redo log files vieja de los archivos de rehacer. -Archiver log files
Agenda Arquitectura POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones
Agenda La Concurrencia en Oracle POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Oracle utiliza multiversión para permitir el acceso concurrente a los datos. Control de concurrencia multiversión Oracle automáticamente proporciona consistencia de lectura: datos que una consulta ve son de un mismo pto en el tiempo (consistencia de lectura a nivel de sentencia). También puede proporcionar consistencia de lectura a todos las consultas de una transacción (consistencia a nivel de transacción).
Agenda POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Oracle proporciona consistencia de lectura a dos niveles: Nivel de sentencia Nivel de transacción Oracle proporciona tres niveles de aislamiento read-committed: Nivel de aislamiento por defecto. Cada consulta de una transacción solo ve los datos que fueron confirmados antes de que la consulta comenzara. Se producen lecturas no reproducibles. serializable transactions: Solamente se ven los cambios realizados por transacciones confirmadas + cambios efectuados por ella misma. read-only : transacciones de solo lectura ven datos confirmados antes de empezar y no permiten modificaciones de los datos.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Manejador de Locks Los Bloqueos son los mecanismos que utiliza Oracle para evitar que dos transacciones accedan al mismo recurso. ORACLE utiliza el nivel menos restrictivo guiándose por las siguientes reglas: Operaciones de lectura no esperan a las de escritura sobre los mismos datos. Operaciones de escritura no esperan a las de lectura sobre los mismos datos. Operaciones de escritura solamente esperan a otras operaciones de escritura que intentan modificar la misma tupla. ORACLE no escalona los bloqueo. Interbloqueos
Agenda POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Manejador de Recuperación Siempre existe la posibilidad de que el sistema falle: se debe recuperar la BD lo más rápidamente posible e intentar que exista una pérdida de datos mínima. Posibles fallos: Fallo del usuario:un error del usuario (ej. borrado de tabla) puede requerir recuperar la BD a un pto anterior al error. Fallo del proceso: Cuando un proceso que está accediendo a la BD falla. Fallo de la instancia:cuando una instancia se aborta inesperadamente se necesita una recuperación de la instancia. Fallo físico de algún fichero: Ocurre cuando un disco, un fichero o una porción de un fichero no puede leerse por estar dañado.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Seguridad en Oracle Autenticación de usuarios: - Mediante contraseña - Mediante SO. - Global de usuario Administración de privilegios -Privilegios de sistema. - Privilegios de objetos Administración de contraseñas Registro de transacciones Recovery manager Recuperación base de datos
Agenda POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Herramienta para la Creación de Usuarios Para crear un usuario se debe seleccionar, en primer lugar, la opción correspondiente en la aplicación.
Agenda POSTGRE SQL SQL ORACLE * Arquitectura * Concurrencia * Locks * Recuperacion * Seguridad * Herramientas * Versiones Versiones de Oracle Oracle Edición Estándar Oracle Edición Enterprise Personal Oracle Oracle Lite OTROS PRODUCTOS Oracle 9iAS (Application Server) Oracle 9iAS, que remplaza al Oracle Application Oracle Forms Developer Oracle Reports Developer Oracle Discoverer Oracle 9iAS Portal
Agenda Sitios Web POSTGRE SQL SQL ORACLE Sitios Web http://www.napolifirewall.com/oracle.htm http://www.orape.net/subidos/manualbd/arquit ectura.doc http://www.infor.uva.es/~jvegas/cursos/bd/ora seg/oraseg.html http://www.infor.uva.es/~jvegas/cursos/bd/ora seg/oraseg.html
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Introducción SQL Que es SQL?? SQL Server es un sistema administrador para Bases de Datos relacionales basadas en la arquitectura Cliente / Servidor (RDMS).
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL ARQUITECTURA CLIENTE/SERVIDOS El Cliente es responsable de la parte lógica y de presentar la información al usuario. SQL Server administra Bases de Datos y distribuye los recursos disponibles del servidor
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL Sistema administrador para Bases de Datos Relacionales (RDBMS): Asegurarse de que la información es almacenada correctamente. Crear una estrategia de copias de seguridad.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL TRANSACT - SQL: Transact SQL es un lenguaje que utiliza SQL Server para poder gestionar los datos que contienen las tablas.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL SQL Server usa una arquitectura de comunicación por capas para aislar aplicaciones internas de red y protocolos
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL Aplicación Una aplicación es desarrollada usando una aplicación de interfaz de programación para Base de Datos Interfaz de la base de datos. Librería de red Una librería de Red, también conocida como Net-Library, debe ser instalada tanto en el cliente como en el servidor
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL Tabular Data Stream Los paquetes TDS son encapsulados en los paquetes de red hechos por la protocol stak usada por las Net-Libraries. Servicio Open Data Este es un componente de SQL Server que se encarga de las conexiones de red
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Motor de SQL Motor relacional Motor de almacenamiento
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias consultas de SQL
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Arquitectura de SQL
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias consulta de SQL
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias consulta de SQL
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Seguridad en SQL La autentificación identifica al usuario que está usando una cuenta y verifica sólo la habilidad de conectarse con SQL Server.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Seguridad en SQL Autentificación de login: Un usuario debe tener una cuenta para conectarse al SQL Server. Este reconoce 2 mecanismos de autentificación. Autentificación de SQL Cuando se usa, un administrador del Sistema de SQL Server, define una cuenta y un password. Autentificación de Windows NT Cuando se usa, el usuario no necesita de una cuenta de SQL Server, para conectarse.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Seguridad en SQL Roles : Permiten reunir a los usuarios en una sola unidad a la cual se le pueden aplicar permisos. SQL Server contiene roles de servidor y de Base de Datos predefinidos, para tareas administrativas comunes, de manera que pueden asignársele determinados permisos administrativos a un usuario en particular. Roles fijos del Servidor. Roles fijos de la Base de Datos. Roles de usuarios definidos en la Base de Datos
Agenda INTEFACES DE PROGRAMACIÓN DE APLICACIONES SQL Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias
Agenda INTEFACES DE PROGRAMACIÓN DE APLICACIONES SQL Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias OLE DB: Esta es una interfaz de acceso a datos. OPEN DATABASE CONNECTIVITY: ODBC) Es una interfaz común para tener acceso a base de datos SQL. ACTIVE X DATA OBJECTS: (ADO) Encapsula la OLE DB API en un modelo simplificado de objetos que reduce el desarrollo de aplicaciones y los costos de mantenimiento REMOTE DATA OBJECTS: (RDO) Mapea y encapsula al ODBC API
Herramienta de administración graficas de SQL Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias
Herramienta de administración graficas de SQL Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias OSQL (Object Structured Query Language) es una utilidad que permite el uso de sentenciastransact-sql, así como de procedimientos del sistema, y también el manejo de ficherosscript. Esta utilidad utiliza ODBC para conectarse con el servidor. OSQL se ejecuta directamente desde el sistema operativo, una vez ejecutado permite sentencias Transact-SQL, e interactúa directamente con SQL Server.BCP es una utilidad que permite copiar datos de SQL Server a un fichero de datos definido por el usuario.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias SQL Server incluye cuatro servicios: MSSQLServer. MSSQLServer se encarga del procesamiento de transacciones y consultas, así como del control de la base de datos y la integridad de los datos. SQLServerAgent se encarga de la gestión de operadores, alertas y trabajos de la base de datos. MSDTC se encarga del control de transacciones distribuidas. Microsoft Search se encarga de la administración de índices y catálogos, para la búsqueda indexada de texto. 1.3. Arquitectura Cliente-Servidor. SQL Server se encarga de administrar bases de datos relacionales basadas en la arquitectura Cliente / Servidor (RDBMS: Relational Database Management Sistema).
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias LOS PRO Y CONTRAS La primera base de datos en escalar desde la computadora portátil hasta la empresa utilizando la misma base de código y ofrecer el 100% de compatibilidad de código La mejor integración con Windows NT Server La mejor integración con Microsoft Transaction Server Gestión: Con un completo interfaz gráfico que reduce la complejidad innecesaria de las tareas de administración y gestión de la base de datos.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias El reinicio de todos los datos en una base de datos es un trabajo serio que invita a la potencial pérdida de datos. Cuanto más grande sea la base de datos, más onerosa será esta obligación. Sin embargo, después de mirar las herramientas de migración del SQL Server 7.0, es obvio que Microsoft se ha planteado esta operación como algo muy serio.
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Lo mas actual en SQL Microsoft SQL Server 2000 Microsoft SQL Server 2005 Plataforma Windows NT
Agenda Introducción a SQL Arquitectura SQL Motor SQL Seguridad SQL SEVER Interfaz de programación Herramientas Actual de SQL Referencias Lo mas actual en SQL REFERENCIAS: es.geocities.com www.hipertexto.info
o Definición o Características Arquitectura es un sistema de gestión de base de datos, multihilo y multiusuario. AB desarrolla como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso. está poseído y patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licencia.
o Definición o Características Arquitectura es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a ideal para este tipo de aplicaciones.
o Definición o Características Arquitectura Velocidad: Mysql es mucho más rápido que la mayoría de sus rivales. Funcionalidad: Mysql dispone de muchas de las funciones que exigen los desarrolladores profesionales, como compatibilidad completa con ACID, compatibilidad para la mayor parte de SQL ANSI, volcados online, duplicación, funciones SSL e integración con la mayor parte de los entornos de programación. Portabilidad: Mysql se ejecuta en la inmensa mayoría de sistemas operativos y, la mayor parte de los casos, los datos se pueden transferir de un sistema a otro sin dificultad.
o Definición o Características Arquitectura Facilidad de uso: Mysql resulta fácil de utilizar y de administrar. Las herramientas de Mysql son potentes y flexibles, sin sacrificar su capacidad de uso. carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. Poco a poco los elementos de los que carecía, han siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre.
o Definición o Características Arquitectura Entre las características disponibles en las últimas versiones se puede destacar: o Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. o Disponibilidad en gran cantidad de plataformas y sistemas. o Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles. o Transacciones y claves foráneas. o Conectividad segura. o Replicación. o Búsqueda e indexación de campos de texto.
o Definición o Características Arquitectura es un sistema de administración relacional de bases de datos. Características implementadas únicamente por : o Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos. o Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo.
Arquitectura
Arquitectura Arquitectura General de los DBMS o Gral. DBMS o
Arquitectura Capa Logica en Alto Nivel De o Gral. DBMS o
Arquitectura Arquitectura de 1.- Capa de Aplicacion o Gral. DBMS o En esta capa es donde los clientes y usuarios interactúan con el. En esta capa hay tres componentes que pueden ser vistos en el diagrama, estos componentes ilustran las diferentes clases de usuarios que pueden interactuar con, los cuales son Administradores, Clientes y Usuarios de consulta o usuarios query.
Arquitectura o Gral. DBMS o Arquitectura de Algunas utilidades Administrativas son: o Mysqladmin o Isamchk y Myisamchk o Mysqldump En cambio el usuario de consulta interactua con Mysql atravez de la Query interface que seria mysql
Arquitectura Arquitectura de 2.- Capa Lógica o Gral. DBMS o Query Processor La inmensa mayoría de interacciones en el sistema ocurre cuando un usuario tiene el deseo de consultar o manipular los datos subyacentes en el almacenamiento. Esas interacciones son especificada usando un lenguaje de manipulación de datos (SQL), son analizados sintacticamente y optimizado por un query processor.
Arquitectura o Gral. DBMS o Arquitectura de oembedded DML Precompiler: Cuando una petición es recibida de un cliente en la capa de aplicación, es la responsabilidad del Embedded DML Precompiler (lenguaje de manipulación de datos) extraer las declaraciones relevantes del SQL encajadas en los comandos del API del cliente oddl Compile Las peticiones de tener acceso a las bases de datos de recibidas de un administrador son procesadas por el DDL Compiler (lenguaje de definición de datos). El cual compila los comandos (que son declaraciones del SQL) que interactúan directamente con la base de datos.
Arquitectura o Gral. DBMS o Arquitectura de oquery Parser: Después de obtener las declaraciones pertinentes descifrados de los peticiones de clientes o Administrativos, el siguoiente paso seria analizar sintacticamente el Quero. en esta etapa el objetivo del Query Parser es crear una estructura de árbol sintáctico basada en la averiguación a fin de que puede fácilmente ser comprendida por los otros componentes mas adelante. opreprocesador Query Arbol sintáctico obtenido del Query parser, es utilizado en esta etapa para chequear la sintaxis SQL y chequear la semántica del Query con el fin de determinar si el query es valido
Arquitectura o Gral. DBMS o Arquitectura de osecurity/integration Manager el papel del control de integridad y de seguridad es inspeccionar para ver si el cliente tiene acceso para conectarse a la base de datos. Mysql soporta ACID oquery Optimizar Después de determinar que el cliente tiene los permisos correctos para acceder a la tabla específica en la base de datos. la query es sometida a optimizacion. utiliza el optimizador para ejecutar preguntas del SQL tan rápidamente como sea posible
Arquitectura o Gral. DBMS o Arquitectura de oexecution Engine Ejecuta en contra de la base de datos el query una vez ya optimizado, luego procede a ejecutar las declaraciones SQL y acceder a la capa física de la base de datos.
Arquitectura Arquitectura de Transaction Management o Gral. DBMS o
Arquitectura o Gral. DBMS o Arquitectura de otransaction Manager El gerente de transacción es responsable de asegurarse de que la transacción este registrada y ejecutado con atomicidad. oconcurrency-control Manager: El gestor de control de concurrencia es responsable de asegurarse de que las transacciones son ejecutadas separadamente e independientemente
Arquitectura Arquitectura de Recovery Management o Gral. DBMS o
Arquitectura o Gral. DBMS o Arquitectura de olog manager El log manager es responsable de poner en bitácora cada operación ejecutada en la base de datos. Hace eso almacenando el registro de servicio en disco a través del manejador del buffer. orecovery Manager El control de recuperación es responsable de restaurar la base de datos para su último estado estable. Hace eso usando el log para la base de datos.
Arquitectura o Gral. DBMS o Arquitectura de Storage Management El almacenamiento se hace físicamente en algún tipo de almacenamiento secundario, de cualquier forma que el acceso dinámico de este medio no es práctico. Así, todo trabajo se hace a través de un número de buffers.
Arquitectura o Gral. DBMS o Arquitectura de ostorage Manager En el nivel mínimo existe el Storage Manager (control de Almacenamiento). El papel del Gerente de Almacenamiento es mediar peticiones entre el gestor del buffer y el almacenamiento secundario. obuffer Manager El propósito del Gerente del Recurso es aceptar peticiones del motor de ejecución (Execution engine). El Gerente del Recurso recibe referencias para datos dentro de la memoria del buffer manager y le devuelve esta información a los estratos superiores.
Arquitectura o Gral. DBMS o
AGENDA Brev. Historia La implementación del DBMS Postgres comenzó en 1986 como un proyecto de investigación del grupo del Profesor Michael Stonebraker en Berkeley ingres Su siguiente proyecto fue 'Postgres' (post-ingres) Usaba un lenguaje de consulta más avanzado: POSTQUEL Introdujo reglas, procedimientos, tipos definibles y conceptos de orientación a objetos en 1987 Versiones centradas en mejorar la portabilidad y fiabilidad
AGENDA Brev. Historia Andrew Yu y Jolly Chen, decidieron reescribir gran parte del código de Postgres y sustituir POSTQUEL por un subconjunto ampliado de SQL Fue lanzada en 1995 como Postgres95 Pasó a manos de la comunidad de Internet Evolucionó hasta lo que es ahora PostgreSQL PostgreSQL es un gestor de Bases de Datos basado en el modelo relacional, aunque incorpora algunos conceptos del modelo Orientado a Objetos, tales como la herencia Ofrece gran variedad de herramientas y librerías para acceder a las Bases de Datos
AGENDA Brev. Historia Arquitectura General
Arquitectura General (Highest level - Client/Server) AGENDA Brev. Historia Arquitectura General Highest level - Client/Server
AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Cliente: Libpq: es responsable de manejar la comunicación con los procesos del cliente establecer la conexión al postmaster obtención del hilo del servidor del postgre para la sesión operacional Transmite a peticiones de la operación de usuarios
AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Servidor: El Postmater: es responsable de aceptar la petición de conexión del cliente realizar control de la autentificación y de acceso en la petición del cliente Establecer la comunicación entre el cliente y el servidor del postgre
AGENDA Brev. Historia Arquitectura General Highest level - Client/Server El Store Manager Es responsable de la gestión de la memoria externa y del control de recurso generales, incluyendo el manejador de buffer, el manejador de archivo, el manejador de control de consistencia y lock
Procesamiento de una Consulta AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Procesamiento de consulta
El Parser: AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Procesamiento de consulta Etapas Verifica la validez sintáctica de la cadena de consulta Si es correcta se crea un parser tree El Rewrite: Se transforma Query tree Se toma el árbol devuelto por la etapa parser y se realiza la búsqueda de reglas presentes dentro de la consulta Si se encuentra alguna regla dentro de la consulta, la estructura de árbol se transforma en una expresión equivalente que incluye las relaciones base Una aplicación del sistema de reescritura se da cuando en la consulta interviene una vista
AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Procesamiento de consulta Etapas El Planner: La Tarea de la etapa de optimización es crear un plan de ejecución óptimo, el query plan. Primero, se combinan todas las posibles formas de recorrer y unir las relaciones que aparecen en la consulta. Todos los Path s creados llevan al mismo resultado y la tarea del optimizador es estimar el costo de ejecución de cada Path y encontrar cúal de éstos es el mas barato El Executor: Es el encargado de ejecutar el query plan y de recuperar las tuplas de la forma como lo indica el plan.
Procesos en el Ejecutor AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Procesamiento de consulta Etapas
AGENDA Brev. Historia Arquitectura General Highest level - Client/Server Procesamiento de consulta Etapas El Query Evaluation Engineering: Acepta los comandos SQL generados de un programa de aplicación de usuario produce la evaluación de Query Plans ejecuta estos Plans en la base de datos Los Files and Access Methods: apoya el concepto de un archivo, el cual en un DBMS, es una colección de páginas o una colección de registros Soporta el tope de lo archivos e índices