Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
*¿Qué es Oracle?* Historia
* Arquitectura
•MySQL
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.
DBMS
¿Qué es Oracle?
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 RelationalSoftware (Actual arquitectura Oracle) gracias a los estudios sobre SGDB de GeorgeKoch.
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.
DBMS
HISTORIAAgenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
*¿Qué es Oracle?* Historia
* Arquitectura
•MySQL
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.
DBMSArquitectura
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
*¿Qué es Oracle?* Historia
* Arquitectura
•MySQL
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.
DBMS
La Instancia de Oracle
•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 SERVER
•ORACLE
* Arquitectura
1.La Instancia
*SGA
*Buffer cache
*Buffer redo log
*Shared Pool
2.Procesos
3.Base de datos
•MySQL
DBMS
•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 logGuarda 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 SERVER
•ORACLE
* Arquitectura
1.La Instancia
*SGA
*Buffer cache
*Buffer redo log
*Shared Pool
2.Procesos
3.Base de datos
•MySQL
DBMS
•El área shared poolEsta á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 SERVER
•ORACLE
* Arquitectura
1.La Instancia
*SGA
*Buffer cache
*Buffer redo log
*Shared Pool
2.Procesos
3.Base de datos
•MySQL
•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.
DBMS
Procesos de la InstanciaAgenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
*Procesos
*PGA
2.Procesos
3.Base de datos
•MySQL
DBMS•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 SERVER
•ORACLE
* Arquitectura
1.La Instancia
*Procesos
*PGA
2.Procesos
3.Base de datos
•MySQL
•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.
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
2.Procesos
*Usuarios
*Servidores
3.Base de datos
•MySQL
DBMS
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.
Archivos de Datos (Datafiles)Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
2.Procesos
3.Base de datos
-Datafiles
-Controlfiles
-Redo log files
-Archiver log files
•MySQL
DBMS
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.
Estos archivos se crean automáticamente cuando se da una orden CREATE DATABASE y no son editables.
Archivos de Rehacer (Redo log files)Contiene los cambios realizados a la BD para la
recuperación ante fallas o el manejo de las transacciones.El principal propósito de estos archivos es servir de respaldo de los datos en la memoria RAM.
Archivos Fuera de Línea (Archived log Files)Son Archivos opcionales donde se guarda información
vieja de los archivos de rehacer.
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
2.Procesos
3.Base de datos
-Datafiles
-Controlfiles
-Redo log files
-Archiver log files
•MySQL
DBMS
Arquitectura Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMS
Oracle utiliza multiversión para permitir el acceso concurrente a los datos.
Control de concurrencia multiversiónOracle 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).
La Concurrencia en Oracle Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMSOracle 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 SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMS
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
Manejador de LocksAgenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMS
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.
Manejador de RecuperaciónAgenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMS
•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
Seguridad en OracleAgenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMS
Para crear un usuario se debe seleccionar, en primer lugar, la opción correspondiente en la aplicación.
Herramienta para la Creación de Usuarios
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
DBMS
•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 ApplicationOracle Forms Developer
•Oracle Reports Developer
•Oracle Discoverer
•Oracle 9iAS Portal
Versiones de OracleAgenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
Sitios Web
•MySQL
DBMS
http://www.napolifirewall.com/ORACLE.htm
http://www.orape.net/subidos/manualbd/arquitectura.doc
http://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html
http://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html
Sitios Web
Introducción SQL SERVERAgenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
DBMS
Que es SQL SERVER ??SQL Server es un sistema
administrador para Bases de Datos relacionales basadas en la arquitectura Cliente / Servidor (RDMS).
Arquitectura de SQL SERVERAgenda– Introducción a
SQL SERVER– Arquitectura SQL
SERVER– Motor SQL
SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
DBMS
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
Arquitectura de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
– Sistema administrador para Bases de Datos Relacionales(RDBMS):
– Asegurarse de que la información es almacenada correctamente .
– Crear una estrategia de copias de seguridad.
Arquitectura de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
TRANSACT - SQL:Transact – SQL es un lenguaje que
utiliza SQL Serverpara poder gestionar los datos que
contienen las tablas.
Arquitectura de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
SQL Server usa una arquitectura de comunicación por capas para aislar aplicaciones internas de red y protocolos
Arquitectura de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
– 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 comoNet-Library, debe ser instalada tanto en el cliente
como en el servidor
Arquitectura de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
– Tabular Data StreamLos paquetes TDS son
encapsulados en los paquetes de red hechos por la protocol stak usada por las Net-Libraries.
– Servicio Open DataEste es un componente de SQL
Server que se encarga de las
conexiones de red
Motor de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
– Motor relacional– Motor de
almacenamiento
consultas de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
Arquitectura de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
consulta de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
consulta de SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
Seguridad en SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
– La autentificación identifica al usuario que está usando una cuenta y verifica sólo la habilidad de conectarse con SQL Server.
Seguridad en SQL SERVERAgendaIntroducción a SQL
SERVERArquitectura SQL
SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de
programación Herramientas Actual de SQL
SERVERReferencias
DBMS
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 SERVERCuando se usa, un administrador del
Sistema de SQL Server, define una cuenta y un password .
Autentificación de Windows NTCuando se usa, el usuario no necesita
de una cuenta de SQL Server, para conectarse.
Seguridad en SQL SERVERAgenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
DBMS
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
INTEFACES DE PROGRAMACIÓN DE APLICACIONES SQL SERVER
DBMS
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
INTEFACES DE PROGRAMACIÓN DE APLICACIONES SQL SERVER
DBMS
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
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
Herramienta de administración graficas de SQL SERVER
DBMS
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
Herramienta de administración graficas de SQL SERVER
DBMS
OSQL (Object Structured QueryLanguage) es una utilidad que permite el uso desentenciasTransact-SQL, asícomo de procedimientos del sistema, y también el manejo deficherosscript. 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
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
DBMS
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
SQL Server incluye cuatro servicios:
MSSQLServer.
MSSQLServer se encarga del procesamiento de transacciones y consultas, así como delcontrol 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 dedatos.MSDTC se encarga del control de transacciones distribuidas.Microsoft Search se encarga de la administración de índices y catálogos, para la búsquedaindexada de texto.1.3. Arquitectura Cliente-Servidor.SQL Server se encarga de administrar bases de datos relacionales basadas en laarquitectura Cliente / Servidor (RDBMS: Relational Database Management Sistema).
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 WindowsNT 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.
DBMS
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
DBMS
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
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
Lo mas actual en SQL SERVER
DBMS
Microsoft SQL Server 2000– Microsoft SQL Server 2005Plataforma Windows NT
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
Lo mas actual en SQL SERVER
DBMS
REFERENCIAS:es.geocities.comwww.hipertexto.info
– Agenda– Introducción a SQL
SERVER– Arquitectura SQL
SERVER– Motor SQL SERVER– Seguridad SQL
SEVER– Interfaz de
programación – Herramientas – Actual de SQL
SERVER– Referencias
MySQLDBMS
MySQL
Arquitectura
o Definición
o Características
MySQL es un sistema de gestión de base de datos, multihilo y multiusuario. MySQL AB desarrolla MySQL 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.
MySQL 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.
MySQLDBMS
MySQL
Arquitectura
o Definición
o CaracterísticasMySQL 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 MySQL ideal para este tipo de aplicaciones.
MySQLDBMS
MySQL
Arquitectura
o Definición
o Características
• 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.
MySQLDBMS
MySQL
Arquitectura
o Definición
o Características
• 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.
MySQL 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.
MySQLDBMS
MySQL
Arquitectura
o Definición
o Características
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.
MySQLDBMS
MySQL
Arquitectura
o Definición
o Características
MySQL es un sistema de administración relacional de bases de datos.
Características implementadas únicamente por MySQL:
o Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL 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.
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
En esta capa es donde los clientes y usuarios interactúan con el MySQL. 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 MySQL, los cuales son Administradores, Clientes y Usuarios de consulta o usuarios query.
1.- Capa de Aplicacion
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
2.- Capa Lógica
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.
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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 MySQL 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.
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
oQuery Parser:
Después de obtener las declaraciones pertinentes descifrados de los peticiones de clientes o Administrativos, el siguoiente paso seria analizar sintacticamente el MySQL 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 MySQL Query con el fin de determinar si el query es valido
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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. MySQL utiliza el optimizador para ejecutar preguntas del SQL tan rápidamente como sea posible
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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 MySQL.
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
oRecovery 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.
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.
olog manager
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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.
MySQLDBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Arquitectura de MySQL
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.
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
AGENDAAGENDA
Brev. Historia
Andrew Yu y Jolly Chen, decidieron reescribir gran parte del código de Postgres y sustituir POSTQUELpor 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
AGENDAAGENDA
Brev. Historia
Arquitectura General (Highest level - Client/Server)
AGENDAAGENDA
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
AGENDAAGENDA
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
AGENDAAGENDA
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
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de una Consulta
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de consulta
El Parser:• Verifica la validez sintáctica de la cadena de
consulta
• Si es correcta se crea un parser tree• Se transforma Query tree
El Rewrite:• 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
AGENDAAGENDA
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 queryplan.
• 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.
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de consulta
Etapas
Procesos en el Ejecutor
AGENDAAGENDA
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
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de consulta
Etapas
El Buffer Management:• Asigna y mantiene el control de la memoria• Manda las paginas del disco a la memoria
principal según lo necesitado en respuesta a las peticiones leidas
• ofrece generalmente una política mejor del reemplazo
EL Disk Space Manager:• maneja el espacio en el disco, donde se
almacenan los datos• Apoya el concepto de página de modo que le
asigna la capa mas alta• Lee y escribe las paginas con esta capa• El tamaño de la página se elige tales que la
lectura o escritura de una página se puede hacer en una entrada-salida del disco.
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de consulta
Etapas
El Transaction Management:
• se asegura de que las transacciones soliciten y lancen las cerraduras según un protocolo de fijación conveniente
• programar la ejecución de transacciones
El Lock Management:
• Este subsistema, junto con TransactionManagement , proporciona control de concurrencia, la restauración no actualizada, y la recuperación de la falla
• Los Archivos, los buffer y el Disk manager deben obrar recíprocamente con este y el transaction manager cuando se esta accediendo a los datos
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de consulta
Etapas
AGENDAAGENDA
Brev. Historia
Arquitectura General
Highest level -Client/Server
Procesamiento de consulta
Etapas
Control de Concurrencia
MVCC, o Control de Concurrencia Multi-Versión (Multi-Version Concurrency Control)
Es la tecnología que PostgreSQL usa para evitar bloqueos innecesarios
Un lector nunca es bloqueado por un escritor. En su lugar, PostgreSQL mantiene una ruta a todas las transacciones realizadas por los usuarios de la base de datos. PostgreSQL es capaz entonces de manejar los registros sin necesidad de que los usuarios tengan que esperar a que los registros estén disponibles