12.07.2015 Views

DBMS comerciales

DBMS comerciales

DBMS comerciales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IntegrantesIsabel HerreraJaime AguilarJesús PorrasLuz Cala


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE*¿Qué es Oracle?* Historia* Arquitectura•MySQL¿Qué es Oracle?La arquitectura Oracle es básicamente unaherramienta cliente-servidor para la gestión debase de datos creada por Oracle Corporation.Es considerado el SGBD más complejo porposeer:•Soporte de transacciones•Estabilidad•Escalabilidad•Es multiplataformaEs un producto vendido a nivel mundial,aunque la gran potencia que tiene y su elevadoprecio hace que sólo se vea en empresas muygrandes y multinacionales.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE*¿Qué es Oracle?* Historia* Arquitectura•MySQLHISTORIALa compañía Oracle surgió hace 25 añoscuando Larry Ellison y sus co-fundadores,Bob Miner y Ed Oates se dieron cuenta delpotencial existente en el modelo de la basede 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áscomplejo desde el punto de vista técnico,debido a su filosofía de las bases de datosrelacionales.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE*¿Qué es Oracle?* Historia* Arquitectura•MySQLArquitecturaConsiste de varios procesos corriendo donde reside lainstancia, los espacios de memoria dedicados a ejecutarprocesos específicos y la base de datos física con susarchivos de control, de datos y de transacciones.


<strong>DBMS</strong>AgendaLa Instancia de Oracle•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia*SGA*Buffer cache*Buffer redo log*Shared Pool2.Procesos3.Base de datos•MySQLUna instancia de Oracle está conformada por variosprocesos (procesos de usuario y los que se ejecutan en elbackground de Oracle) y espacios de memoria compartida.•El Área Global del Sistema (SGA)Es un área de memoria compartida que se utilizapara almacenar información de control y de datos de lainstancia.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia*SGA*Buffer cache*Buffer redo log*Shared Pool2.Procesos3.Base de datos•MySQL•El buffer de caché (database buffer cache)Almacena los bloques de datos utilizadosrecientemente. Al utilizarse este buffer se reducen lasoperaciones 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 logtan rápido como se pueda sin perder eficiencia.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia*SGA*Buffer cache*Buffer redo log*Shared Pool2.Procesos3.Base de datos•MySQL•El área shared poolEsta área almacena estructuras de memoria compartida,tales como las áreas de código SQL compartido einformación interna del diccionario.1. El caché de biblioteca se utiliza para almacenarcódigo SQL compartido.2. El caché del diccionario de datos está conformadopor un grupo de tablas y vistas que se identifican labase de datos.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia*Procesos*PGA2.Procesos3.Base de datos•MySQLProcesos de la Instancia•DBWR (database writer): escribe en disco .•LGWR (log writer): escribe información desde el buffer delog hacia el archivo redo log.•CKPT (checkpoint): advierte al proceso DBWR de efectuarun proceso de actualización en el disco de los datosmantenidos en memoria.•PMON (process monitor): Su misión es monitorizar losprocesos del servidor y tomar acciones correctivas cuandoalguno de ellos se interrumpe en forma abrupta.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia*Procesos*PGA2.Procesos3.Base de datos•MySQL•SMON (system monitor): Levanta una instancia cuando se leda la instrucción de partida. Enseguida limpia los segmentostemporales y recupera las transacciones interrumpidas.•ARCH (archiver): respalda la información almacenada en losarchivos 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 decontrol para los procesos que se ejecutan en el servidor deOracle.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia2.Procesos*Usuarios*Servidores3.Base de datos•MySQL•Procesos de Usuarios:Cuando un usuario se conecta a la base de datos, secrea un proceso de usuario que se encarga de efectuarel código de aplicación del usuario y manejar su perfilcon sus variables de ambiente.•Procesos de Servidores:Ejecutan las ordenes SQL de los usuarios y llevan losdatos al database buffer cache para que los procesosdel usuario puedan tener acceso a los datos.Se pueden tener diversos los tipos de servidores:dedicados y multihilos.


<strong>DBMS</strong>AgendaArchivos de Datos (Datafiles)•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura1.La Instancia2.Procesos3.Base de datos-Datafiles-Controlfiles-Redo log files-Archiver log files•MySQLSirven para el almacenamiento físico de lastablas, índices y agrupamientos (clusters) yprocedimientos. Contienen los datos de los usuarios.Los espacios de tablas (tablespaces) son lasunidades lógicas manejadas por oracle para manejary controlar el espacio de los discos.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVERArchivos de Control (Control Files)Contienen la dirección física y descripción de los archivosde la base de datos y de los archivos de rehacer para elarranque correcto de la BD.•ORACLEEstos archivos se crean automáticamente cuando se dauna orden CREATE DATABASE y no son editables.* ArquitecturaArchivos de Rehacer (Redo log files)1.La InstanciaContiene los cambios realizados a la BD para la2.Procesosrecuperación ante fallas o el manejo de las transacciones.El3.Base de datos principal propósito de estos archivos es servir de respaldode los datos en la memoria RAM.-DatafilesArchivos Fuera de Línea (Archived log Files)-ControlfilesSon Archivos opcionales donde se guarda información-Redo log filesvieja de los archivos de rehacer.-Archiver log files•MySQL


<strong>DBMS</strong>AgendaArquitectura•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQL


<strong>DBMS</strong>AgendaLa Concurrencia en Oracle•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLOracle utiliza multiversión para permitir el accesoconcurrente a los datos.Control de concurrencia multiversiónOracle automáticamente proporcionaconsistencia de lectura: datos que una consulta veson de un mismo pto en el tiempo (consistencia delectura a nivel de sentencia).También puede proporcionar consistencia de lectura atodos las consultas de una transacción(consistencia a nivel de transacción).


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLOracle proporciona consistencia de lectura a dos niveles:•Nivel de sentencia•Nivel de transacciónOracle proporciona tres niveles de aislamiento•read-committed: Nivel de aislamiento por defecto. Cadaconsulta de una transacción solo ve los datos que fueronconfirmados antes de que la consulta comenzara. Seproducen lecturas no reproducibles.•serializable transactions: Solamente se ven los cambiosrealizados por transacciones confirmadas + cambiosefectuados por ella misma.•read-only : transacciones de solo lectura ven datosconfirmados antes de empezar y no permiten modificacionesde los datos.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLManejador de LocksLos Bloqueos son los mecanismos que utiliza Oracle paraevitar que dos transacciones accedan al mismo recurso.ORACLE utiliza el nivel menos restrictivo guiándose porlas siguientes reglas:•Operaciones de lectura no esperan a las de escritura sobrelos mismos datos.•Operaciones de escritura no esperan a las de lectura sobrelos mismos datos.•Operaciones de escritura solamente esperan a otrasoperaciones de escritura que intentan modificar la mismatupla.ORACLE no escalona los bloqueo.•Interbloqueos


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLManejador de RecuperaciónSiempre existe la posibilidad de que el sistema falle: sedebe recuperar la BD lo más rápidamente posible e intentarque 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á accediendoa la BD falla.•Fallo de la instancia:Cuando una instancia se abortainesperadamente se necesita una recuperación de lainstancia.•Fallo físico de algún fichero: Ocurre cuando un disco, unfichero o una porción de un fichero no puede leerse por estardañado.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLSeguridad 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


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLHerramienta para la Creación deUsuariosPara crear unusuario se debeseleccionar, en primerlugar, la opcióncorrespondiente en laaplicación.


<strong>DBMS</strong>Agenda•POSTGRE SQL•SQL SERVER•ORACLE* Arquitectura* Concurrencia* Locks* Recuperacion* Seguridad* Herramientas* Versiones•MySQLVersiones de Oracle•Oracle Edición Estándar•Oracle Edición Enterprise•Personal Oracle•Oracle LiteOTROS PRODUCTOS•Oracle 9iAS (Application Server)•Oracle 9iAS, que remplaza al Oracle ApplicationOracle Forms Developer•Oracle Reports Developer•Oracle Discoverer•Oracle 9iAS Portal


<strong>DBMS</strong>AgendaSitios Web•POSTGRE SQL•SQL SERVER•ORACLESitios Web•MySQLhttp://www.napolifirewall.com/ORACLE.htmhttp://www.orape.net/subidos/manualbd/arquitectura.dochttp://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.htmlhttp://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html


<strong>DBMS</strong>Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasIntroducción SQL SERVERQue es SQL SERVER ??SQL Server es un sistemaadministrador para Bases de Datosrelacionales basadas en laarquitectura Cliente / Servidor(RDMS).


<strong>DBMS</strong>Agenda– Introducción aSQL SERVER– Arquitectura SQLSERVER– Motor SQLSERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasArquitectura de SQL SERVERARQUITECTURACLIENTE/SERVIDOS– El Cliente es responsable de laparte lógica y de presentar lainformación al usuario.– SQL Server administra Bases deDatos y distribuye los recursosdisponibles del servidor


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasArquitectura de SQL SERVER– Sistema administrador paraBases de Datos Relacionales(R<strong>DBMS</strong>):– Asegurarse de que la informaciónes almacenada correctamente .– Crear una estrategia de copias deseguridad.


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasArquitectura de SQL SERVERTRANSACT - SQL:Transact – SQL es un lenguaje queutiliza SQL Serverpara poder gestionar los datos quecontienen las tablas.


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasArquitectura de SQL SERVERSQL Server usa una arquitecturade comunicación por capas paraaislar aplicaciones internas dered y protocolos


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasArquitectura de SQL SERVER– Aplicación Una aplicación esdesarrollada usando unaaplicación de interfaz deprogramación para Base deDatos– Interfaz de la base de datos.Librería de red Una librería deRed, también conocida comoNet-Library, debe serinstalada tanto en el clientecomo en el servidor


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasArquitectura de SQL SERVER– Tabular Data StreamLos paquetes TDS sonencapsulados en lospaquetes de red hechospor la protocol stak usadapor las Net-Libraries.– Servicio Open DataEste es un componente de SQLServer que se encarga de lasconexiones de red


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasMotor de SQL SERVER– Motor relacional– Motor dealmacenamiento


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasconsultas de SQL SERVER


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasArquitectura de SQL SERVER


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasconsulta de SQL SERVER


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasconsulta de SQL SERVER


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasSeguridad en SQL SERVER– La autentificación identifica alusuario que está usando unacuenta y verifica sólo lahabilidad de conectarse conSQL Server.


<strong>DBMS</strong>AgendaIntroducción a SQLSERVERArquitectura SQLSERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz deprogramaciónHerramientasActual de SQLSERVERReferenciasSeguridad en SQL SERVERAutentificación de login:Un usuario debe tener una cuentapara conectarse al SQL Server.Este reconoce 2 mecanismos deautentificación .Autentificación de SQL SERVERCuando se usa, un administrador delSistema de SQL Server, defineuna cuenta y un password .Autentificación de Windows NTCuando se usa, el usuario no necesitade una cuenta de SQL Server,para conectarse.


<strong>DBMS</strong>Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasSeguridad en SQL SERVERRoles :Permiten reunir a los usuarios en unasola unidad a la cual se le puedenaplicar permisos. SQL Servercontiene roles de servidor y deBase de Datos predefinidos, paratareas administrativas comunes,de manera que pueden asignárseledeterminados permisosadministrativos a un usuario enparticular.• Roles fijos del Servidor .• Roles fijos de la Base de Datos .• Roles de usuarios definidos en laBase de Datos


<strong>DBMS</strong>– AgendaINTEFACES DE PROGRAMACIÓN DEAPLICACIONES SQL SERVER– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– Referencias


<strong>DBMS</strong>– AgendaINTEFACES DE PROGRAMACIÓN DEAPLICACIONES SQL SERVER– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasOLE DB: Esta es una interfaz deacceso a datos.OPEN DATABASECONNECTIVITY: ODBC) Es unainterfaz común para teneracceso a base de datos SQL.ACTIVE X DATA OBJECTS:(ADO) Encapsula la OLE DB APIen un modelo simplificado deobjetos que reduce el desarrollode aplicaciones y los costos demantenimientoREMOTE DATA OBJECTS:(RDO) Mapea y encapsula alODBC API


<strong>DBMS</strong>Herramienta de administración graficas de SQLSERVER– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– Referencias


<strong>DBMS</strong>Herramienta de administración graficas de SQLSERVER– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasOSQL (Object Structured QueryLanguage) es una utilidad quepermite el uso desentenciasTransact-SQL, asícomo de procedimientos delsistema, y también el manejo deficherosscript. Esta utilidadutiliza ODBC para conectarse conel servidor. OSQL se ejecutadirectamente desde el sistemaoperativo, una vez ejecutadopermite sentencias Transact-SQL,e interactúa directamente conSQL Server.BCP es una utilidadque permite copiar datos de SQLServer a un fichero de datosdefinido por el usuario.


<strong>DBMS</strong>– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasSQL Server incluye cuatro servicios:MSSQLServer.MSSQLServer se encarga del procesamiento de transacciones yconsultas, así como delcontrol de la base de datos y la integridad de los datos.SQLServerAgent se encarga de la gestión de operadores, alertas ytrabajos 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 relacionalesbasadas en laarquitectura Cliente / Servidor (R<strong>DBMS</strong>: Relational DatabaseManagement Sistema).


<strong>DBMS</strong>– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasLOS PRO Y CONTRASLa primera base de datos en escalardesde la computadora portátilhasta la empresa utilizando lamisma base de código y ofrecer el100% de compatibilidad de código– La mejor integración con WindowsNT Server– La mejor integración conMicrosoft Transaction Server– Gestión: Con un completo interfazgráfico que reduce la complejidadinnecesaria de las tareas deadministración y gestión de labase de datos.


<strong>DBMS</strong>– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasEl reinicio de todos los datosen una base de datos esun trabajo serio que invitaa la potencial pérdida dedatos. Cuanto más grandesea la base de datos, másonerosa será estaobligación. Sin embargo,después de mirar lasherramientas demigración del SQL Server7.0, es obvio queMicrosoft se ha planteadoesta operación como algomuy serio.


<strong>DBMS</strong>– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasLo mas actual en SQL SERVER‣ Microsoft SQL Server 2000– Microsoft SQL Server 2005PlataformaWindows NT


<strong>DBMS</strong>– Agenda– Introducción a SQLSERVER– Arquitectura SQLSERVER– Motor SQL SERVER– Seguridad SQLSEVER– Interfaz deprogramación– Herramientas– Actual de SQLSERVER– ReferenciasLo mas actual en SQL SERVERREFERENCIAS:es.geocities.comwww.hipertexto.info


<strong>DBMS</strong>MySQLMySQLo Definicióno CaracterísticasArquitecturaMySQL es un sistema de gestión de base de datos,multihilo y multiusuario. MySQL AB desarrolla MySQL comosoftware libre en un esquema de licenciamiento dual. Porun lado lo ofrece bajo la GNU GPL, pero, empresas quequieran incorporarlo en productos privativos puedencomprar a la empresa una licencia que les permita eseuso.MySQL está poseído y patrocinado por una empresaprivada, que posee el copyright de la mayor parte delcódigo. Esto es lo que posibilita el esquema de licencia.


<strong>DBMS</strong>MySQLMySQLo Definicióno CaracterísticasArquitecturaMySQL es una base de datos muy rápida en la lecturacuando utiliza el motor no transaccional MyISAM, peropuede provocar problemas de integridad en entornos dealta concurrencia en la modificación. En aplicaciones webhay baja concurrencia en la modificación de datos y encambio el entorno es intensivo en lectura de datos, lo quehace a MySQL ideal para este tipo de aplicaciones.


<strong>DBMS</strong>MySQLMySQLo Definicióno CaracterísticasArquitectura• Velocidad: Mysql es mucho más rápido que lamayoría de sus rivales.• Funcionalidad: Mysql dispone de muchas delas funciones que exigen los desarrolladores profesionales,como compatibilidad completa con ACID, compatibilidadpara la mayor parte de SQL ANSI , volcados online,duplicación, funciones SSL e integración con la mayorparte de los entornos de programación.• Portabilidad: Mysql se ejecuta en la inmensamayoría de sistemas operativos y, la mayor parte de loscasos, los datos se pueden transferir de un sistema a otrosin dificultad.


<strong>DBMS</strong>MySQLMySQLo Definicióno CaracterísticasArquitectura• Facilidad de uso: Mysql resulta fácil de utilizar yde administrar. Las herramientas de Mysql son potentes yflexibles, sin sacrificar su capacidad de uso.MySQL carecía de elementos considerados esenciales enlas bases de datos relacionales, tales como integridadreferencial y transacciones.Poco a poco los elementos de los que carecía, han siendoincorporados tanto por desarrollos internos, como pordesarrolladores de software libre.


<strong>DBMS</strong>MySQLMySQLo Definicióno CaracterísticasArquitecturaEntre las características disponibles en las últimasversiones se puede destacar:o Amplio subconjunto del lenguaje SQL. Algunasextensiones son incluidas igualmente.o Disponibilidad en gran cantidad de plataformas ysistemas.o Diferentes opciones de almacenamiento según si sedesea velocidad en las operaciones o el mayor número deoperaciones disponibles.o Transacciones y claves foráneas.o Conectividad segura.o Replicación.o Búsqueda e indexación de campos de texto.


<strong>DBMS</strong>MySQLMySQLo Definicióno CaracterísticasArquitecturaMySQL es un sistema de administración relacional debases 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 alusuario escoger la que sea más adecuada para cada tablade la base de datos.o Agrupación de transacciones, reuniendo múltiplestransacciones de varias conexiones para incrementar elnúmero de transacciones por segundo.


<strong>DBMS</strong>MySQLMySQLArquitectura


<strong>DBMS</strong>MySQLMySQLArquitecturaArquitectura General de los <strong>DBMS</strong>o Gral. <strong>DBMS</strong>o MySQL


<strong>DBMS</strong>MySQLMySQLArquitecturaCapa Logica en Alto Nivel De MySQLo Gral. <strong>DBMS</strong>o MySQL


<strong>DBMS</strong>MySQLMySQLArquitecturaArquitectura de MySQL1.- Capa de Aplicaciono Gral. <strong>DBMS</strong>o MySQLEn esta capa es donde los clientes y usuarios interactúancon el MySQL. En esta capa hay tres componentes quepueden ser vistos en el diagrama, estos componentesilustran las diferentes clases de usuarios que puedeninteractuar con MySQL, los cuales son Administradores,Clientes y Usuarios de consulta o usuarios query.


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLAlgunas utilidades Administrativas son:o Mysqladmino Isamchk y Myisamchko MysqldumpEn cambio el usuario de consulta interactua con Mysqlatravez de la Query interface que seria mysql


<strong>DBMS</strong>MySQLMySQLArquitecturaArquitectura de MySQL2.- Capa Lógicao Gral. <strong>DBMS</strong>o MySQLQuery ProcessorLa inmensa mayoría de interacciones en el sistemaocurre cuando un usuario tiene el deseo deconsultar o manipular los datos subyacentes en elalmacenamiento. Esas interacciones sonespecificada usando un lenguaje de manipulaciónde datos (SQL), son analizados sintacticamente yoptimizado por un query processor.


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLoEmbedded DML Precompiler:Cuando una petición es recibida de un cliente en lacapa de aplicación, es la responsabilidad delEmbedded DML Precompiler (lenguaje demanipulación de datos) extraer las declaracionesrelevantes del SQL encajadas en los comandos delAPI del clienteoDDL CompileLas peticiones de tener acceso a las bases de datosde MySQL recibidas de un administrador sonprocesadas por el DDL Compiler (lenguaje dedefinición de datos). El cual compila los comandos(que son declaraciones del SQL) que interactúandirectamente con la base de datos.


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLoQuery Parser:Después de obtener las declaraciones pertinentesdescifrados de los peticiones de clientes oAdministrativos, el siguoiente paso seria analizarsintacticamente el MySQL Quero. en esta etapa elobjetivo del Query Parser es crear una estructurade árbol sintáctico basada en la averiguación a finde que puede fácilmente ser comprendida por losotros componentes mas adelante.oPreprocesador QueryArbol sintáctico obtenido del Query parser, esutilizado en esta etapa para chequear la sintaxisSQL y chequear la semántica del MySQL Query conel fin de determinar si el query es valido


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLoSecurity/Integration Managerel papel del control de integridad y de seguridad esinspeccionar para ver si el cliente tiene acceso paraconectarse a la base de datos.Mysql soporta ACIDoQuery OptimizarDespués de determinar que el cliente tiene lospermisos correctos para acceder a la tablaespecífica en la base de datos. la query es sometidaa optimizacion. MySQL utiliza el optimizador paraejecutar preguntas del SQL tan rápidamente comosea posible


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLoExecution EngineEjecuta en contra de la base de datos el query unavez ya optimizado, luego procede a ejecutar lasdeclaraciones SQL y acceder a la capa física de labase de datos MySQL.


<strong>DBMS</strong>MySQLMySQLArquitecturaArquitectura de MySQLTransaction Managemento Gral. <strong>DBMS</strong>o MySQL


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLoTransaction ManagerEl gerente de transacción es responsable de asegurarsede que la transacción este registrada y ejecutado conatomicidad.oConcurrency-Control Manager:El gestor de control de concurrencia es responsable deasegurarse de que las transacciones son ejecutadasseparadamente e independientemente


<strong>DBMS</strong>MySQLMySQLArquitecturaArquitectura de MySQLRecovery Managemento Gral. <strong>DBMS</strong>o MySQL


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLolog managerEl log manager es responsable de poner en bitácora cadaoperación ejecutada en la base de datos.Hace eso almacenando el registro de servicio en disco através del manejador del buffer.oRecovery ManagerEl control de recuperación es responsable de restaurar la basede datos para su último estado estable. Hace eso usando ellog para la base de datos.


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLStorage ManagementEl almacenamiento sehace físicamente en algúntipo de almacenamientosecundario, de cualquierforma que el accesodinámico de este mediono es práctico. Así, todotrabajo se hace a travésde un número de buffers.


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQLArquitectura de MySQLoStorage ManagerEn el nivel mínimo existe el Storage Manager (control deAlmacenamiento). El papel del Gerente deAlmacenamiento es mediar peticiones entre el gestor delbuffer y el almacenamiento secundario.oBuffer ManagerEl propósito del Gerente del Recurso es aceptar peticionesdel motor de ejecución (Execution engine). El Gerente delRecurso recibe referencias para datos dentro de lamemoria del buffer manager y le devuelve estainformación a los estratos superiores.


<strong>DBMS</strong>MySQLMySQLArquitecturao Gral. <strong>DBMS</strong>o MySQL


AGENDABrev. HistoriaLa implementación del <strong>DBMS</strong> Postgres comenzó en1986 como un proyecto de investigación del grupodel Profesor Michael Stonebraker en Berkeley• ingresSu siguiente proyecto fue 'Postgres' (post-ingres)• Usaba un lenguaje de consulta más avanzado:POSTQUELIntrodujo reglas, procedimientos, tipos definibles yconceptos de orientación a objetos en 1987Versiones centradas en mejorar la portabilidad yfiabilidad


AGENDABrev. HistoriaAndrew Yu y Jolly Chen, decidieron reescribir granparte del código de Postgres y sustituir POSTQUELpor un subconjunto ampliado de SQLFue lanzada en 1995 como Postgres95• Pasó a manos de la comunidad de Internet• Evolucionó hasta lo que es ahora PostgreSQLPostgreSQL es un gestor de Bases de Datos basadoen el modelo relacional, aunque incorpora algunosconceptos del modelo Orientado a Objetos, talescomo la herencia• Ofrece gran variedad de herramientas ylibrerías para acceder a las Bases de Datos


AGENDABrev. HistoriaArquitectura General


Arquitectura General (Highest level - Client/Server)AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/Server


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerCliente:Libpq:• es responsable de manejar la comunicacióncon los procesos del cliente• establecer la conexión al postmaster• obtención del hilo del servidor del postgrepara la sesión operacional• Transmite a peticiones de la operación deusuarios


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerServidor:El Postmater:• es responsable de aceptar la petición deconexión del cliente• realizar control de la autentificación y deacceso en la petición del cliente• Establecer la comunicación entre el cliente y elservidor del postgre


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerEl Store ManagerEs responsable de la gestión de la memoria externay del control de recurso generales, incluyendo elmanejador de buffer, el manejador de archivo, elmanejador de control de consistencia y lock


Procesamiento de una ConsultaAGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsulta


El Parser:AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapas• Verifica la validez sintáctica de la cadena deconsulta• Si es correcta se crea un parser treeEl Rewrite:• Se transforma Query tree• Se toma el árbol devuelto por la etapaparser y se realiza la búsqueda de reglaspresentes dentro de la consulta• Si se encuentra alguna regla dentro de laconsulta, la estructura de árbol setransforma en una expresión equivalente queincluye las relaciones base• Una aplicación del sistema de reescritura seda cuando en la consulta interviene una vista


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapasEl Planner:• La Tarea de la etapa de optimización escrear un plan de ejecución óptimo, el queryplan.• Primero, se combinan todas las posiblesformas de recorrer y unir las relaciones queaparecen en la consulta.• Todos los Path’s creados llevan al mismoresultado y la tarea del optimizador esestimar el costo de ejecución de cada Path yencontrar cúal de éstos es el mas baratoEl Executor:• Es el encargado de ejecutar el query plan yde recuperar las tuplas de la forma como loindica el plan.


Procesos en el EjecutorAGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapas


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapasEl Query Evaluation Engineering:• Acepta los comandos SQL generados de unprograma de aplicación de usuario• produce la evaluación de Query Plans• ejecuta estos Plans en la base de datosLos Files and Access Methods:• apoya el concepto de un archivo, el cual en un<strong>DBMS</strong>, es una colección de páginas o unacolección de registros• Soporta el tope de lo archivos e índices


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapasEl Buffer Management:• Asigna y mantiene el control de la memoria• Manda las paginas del disco a la memoriaprincipal según lo necesitado en respuesta a laspeticiones leidas• ofrece generalmente una política mejor delreemplazoEL Disk Space Manager:• maneja el espacio en el disco, donde sealmacenan los datos• Apoya el concepto de página de modo que leasigna la capa mas alta• Lee y escribe las paginas con esta capa• El tamaño de la página se elige tales que lalectura o escritura de una página se puedehacer en una entrada-salida del disco.


El Transaction Management:AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapas• se asegura de que las transacciones soliciten ylancen las cerraduras según un protocolo defijación conveniente• programar la ejecución de transaccionesEl Lock Management:• Este subsistema, junto con TransactionManagement , proporciona control deconcurrencia, la restauración no actualizada, yla recuperación de la falla• Los Archivos, los buffer y el Disk managerdeben obrar recíprocamente con este y eltransaction manager cuando se esta accediendoa los datos


AGENDABrev. HistoriaArquitectura GeneralHighest level -Client/ServerProcesamiento deconsultaEtapasControl deConcurrenciaMVCC, o Control de Concurrencia Multi-Versión (Multi-Version Concurrency Control)Es la tecnología que PostgreSQL usa para evitarbloqueos innecesariosUn lector nunca es bloqueado por un escritor. En sulugar, PostgreSQL mantiene una ruta a todas lastransacciones realizadas por los usuarios de la base dedatos. PostgreSQL es capaz entonces de manejar losregistros sin necesidad de que los usuarios tengan queesperar a que los registros estén disponibles

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!