Transacciones y concurrencia. Sistemas de persistencia de objetos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Transacciones y concurrencia. Sistemas de persistencia de objetos"

Transcripción

1 Transacciones y concurrencia Sistemas de persistencia de objetos

2 Transacción ACID Es la demarcación de una unidad de trabajo JPA permite trabajar con varios API de transacciones JSE JDBC JTA Declarativas (EJB) nov-08 Alberto M.F.A. 2

3 Control de transacciones nov-08 Alberto M.F.A. 3

4 Excepciones JPA Todas NO chequeadas Todas las excepciones JPA son fatales y dejan el contexto de persistencia inutilizado Todas las excepciones lanzadas por EntityManager provocan rollback() Todas las de Query tb, excepto NoResultException y NonUniqueResultException. nov-08 Alberto M.F.A. alb@uniovi.es 4

5 Control de concurrencia Las trx ACID crean la ilusión de que cada usuario es único en la base de datos aíslan a unos de otros El aislamiento tradicionalmente se consigue con bloqueos a nivel de fila, de rangos o de tabla: De lectura (compartido) todos podemos leer pero nadie escribir De escritura (exclusivo) nadie puede leer porque voy a escribir y nadie más puede escribir Oracle y PostgreSQL usan MVCC nov-08 Alberto M.F.A. alb@uniovi.es 5

6 Problemas debidos a concurrencia Actualización perdida (lost update) Lectura sucia (dirty read) Lectura no repetible (non repetible read) Doble actualización (second lost update) Lectura fantasma (phantom read) nov-08 Alberto M.F.A. alb@uniovi.es 6

7 Problemas debidos a concurrencia (2) Lost update: Dos trx sin bloqueo actualizan los mismos datos. La trxb hace rollback y se pierden los datos de trxa Dirty read: TrxA lee datos que luego desaparecen por rollback nov-08 Alberto M.F.A. alb@uniovi.es 7

8 Problemas debidos a concurrencia (3) Unrepeatable read: Durante txa txb es más rápida y modifica datos que vuelve a necesitar txa Second lost update: Caso especial de unrepeatable read. La actualización de txb es sobreecrita por la de txa. Phantom read: Durante txa txb inserta (o modifica) nuevos datos que txa va a detectar más tarde repitiendo la consulta (u otra que depende de ellos) nov-08 Alberto M.F.A. alb@uniovi.es 8

9 Niveles de aislamiento ANSI Read uncommitted Tiene todos los problemas, solo protege frente a sobreescrituras (lost update) B.L. en UPDATE Read commited Protege de dirty read B.E. en UPDATE Repetible read Protege de dirty y non repetible read B.L. en SELECT, B.E. en UPDATE Serializable Protege de phantom, dirty y non repetible read B.L. SELECT en tablas o rangos B.E. UPDATE en tablas o rangos nov-08 Alberto M.F.A. alb@uniovi.es 9

10 Ajuste del nivel de aislamiento Se si pone mal problemas: Solo se van a notar cuando el sistema está en carga Cuando ya estamos en producción Si se pone nivel muy restricitivo se ralentiza mucho el acceso Si se pone muy bajo aparecerán datos inconsistentes difíciles de depurar nov-08 Alberto M.F.A. alb@uniovi.es 10

11 Cuál escoger? Depende de necesidades, pero: Read uncommitted nunca (solo expertos) Serializable no es frecuente Realmente me van a afectar los phantom reads? pocas trx son así La duda mayor está entre read committed y repeatable read Read commited no protege del second lost update y sí puede ser importante Repetible read sí protege frente a second lost update Pero no lo tienen todas las BDD (oracle no lo tiene, PostgreSQL tampoco, ) nov-08 Alberto M.F.A. alb@uniovi.es 11

12 Read commited puede servir Casi todas las BDD tienen read committed por defecto Con bloqueos pesimistas se consigue repetible read Con control optimista se puede evitar el second lost update Con tener la BDD en read commited por defecto sirve para el 90% si se añaden estos controles a la aplicación nov-08 Alberto M.F.A. alb@uniovi.es 12

13 Ajuste del nivel en Hibernate Hibernate nativo usa por defecto el nivel de la conexión JDBC JDBC a su vez usa el nivel por defecto en la BDD Depende de la BDD, hay que consultar la documentación suele ser read commited o repetible read Con el ajuste se cambia para todas las transacciones! Ajuste en persistence.xml nov-08 Alberto M.F.A. alb@uniovi.es 13

14 Control pesimista y optimista ROLLBACK Lock Lock Lock v1.0 v2.0 v1.0 ROLLBACK En BDD ya no es v1.0 PESIMISTA OPTIMISTA nov-08 Alberto M.F.A. alb@uniovi.es 14

15 Control optimista Diferencia entre trx de sistema y trx de aplicación El control optimista además permite detectar cambios en actualizaciones entre trx de sistema La solución optimista es añadir versión a los objetos nov-08 Alberto M.F.A. alb@uniovi.es 15

16 Versionado de objetos con campo versión Añadir información al objeto para poder detectar cambios entre el estado detached y persistent Campo versión (un entero) Timestamp (de la última modificación) nov-08 Alberto M.F.A. alb@uniovi.es 16

17 Mapeado de campos Tipos válidos para versionado! Sin get/set JPA gestiona los campos versión de forma automática nov-08 Alberto M.F.A. 17

18 Qué provoca cambio de versión? No estándar JPA Hibernate: Cualquier cambio en un campo de la entidad Cambios en campos de Value Types Cambios en ToMany (colecciones de entidades) Añadir o quitar elementos a la colección No provoca cambios modificar entidades asociadas nov-08 Alberto M.F.A. alb@uniovi.es 18

19 Versionado sin campo versión Solo válido para objetos que se hayan cargado en la misma sesión NO es JPA estándar nov-08 Alberto M.F.A. 19

20 Control pesimista En circunstancias normales el contexto de persistencia da protección repetible read al haber una única copia en memoria (aunque la BDD no esté en ese nivel) Pero en algunas ocasiones esta protección no se consigue En este entretiempo otra trx puede haber cambiado la descripción Se proyectan escalares, no objetos: no hay chaché de contexto nov-08 Alberto M.F.A. 20

21 Se impone un bloqueo en la fila Control pesimista El control pesimista sube el nivel a repetible read sin cambiar BDD Impone un bloqueo de fila nov-08 Alberto M.F.A. alb@uniovi.es 21

22 Modos de bloqueo LockModeType.READ Impone bloqueo de lectura SELECT * FROM FOR UPDATE de Oracle (o equivalente) LockModeType.WRITE Lo mismo que el anterior pero fuerza el incremento de versión Fuerza cambio de versión que no se produciría nov-08 Alberto M.F.A. alb@uniovi.es 22

Transacciones en SQL. Lic. Gerardo Rossel

Transacciones en SQL. Lic. Gerardo Rossel Transacciones en SQL Lic. Gerardo Rossel 2016 Conceptos Generales Transacciones Implícitas/Explicitas ISO SQL: cualquier comando SQL al comienzo de una sesión o inmediato posterior al fin de una transacción

Más detalles

Transacciones en SQL. Bases de Datos

Transacciones en SQL. Bases de Datos Transacciones en SQL Bases de Datos 2017 Conceptos Generales Transacciones Implícitas/Explicitas ISO SQL: cualquier comando SQL al comienzo de una sesión o inmediato posterior al fin de una transacción

Más detalles

Gestión de Transacciones: Concurrencia y Recuperación

Gestión de Transacciones: Concurrencia y Recuperación Gestión de Transacciones: Concurrencia y Recuperación Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos

Más detalles

Gestión de objetos persistentes en JPA. Sistema de Persistencia de Objetos

Gestión de objetos persistentes en JPA. Sistema de Persistencia de Objetos Gestión de objetos persistentes en JPA Sistema de Persistencia de Objetos Ciclo de vida un objeto persistente JVM nov-08 alb@uniovi.es 2 Control del ciclo de vida Se gestiona desde un EntityManager Es

Más detalles

Bases De Datos Depto. Computación FCEyN UBA

Bases De Datos Depto. Computación FCEyN UBA Bases De Datos Depto. Computación FCEyN UBA ISO SQL: cualquier comando SQL al comienzo de una sesión o inmediato posterior al fin de una transacción comienza automáticamente una nueva transacción (DB2

Más detalles

ANEXO I NIVELES DE AISLAMIENTO

ANEXO I NIVELES DE AISLAMIENTO ANEXO I NIVELES DE AISLAMIENTO INDICE 1) DIRTY READ... 3 1.1) En ORACLE... 3 1.1.1) READ UNCOMMITTED... 3 1.1.2) READ COMMITTED... 3 1.2) En SQL SERVER... 4 1.2.1) READ UNCOMMITED... 4 1.2.2) READ COMMITED...

Más detalles

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN actividad Transacciones en MySQL como requerimiento parcial para acreditar

Más detalles

Estrategias de fetch. Sistemas de persistencia de objetos

Estrategias de fetch. Sistemas de persistencia de objetos Estrategias de fetch Sistemas de persistencia de objetos Fetch Forma de recuperar objetos de la BDD y meterlos en contexto de persistencia En memoria los objetos forman un grafo por sus asociaciones Recorrer

Más detalles

Consultas en JPA-QL. Sistemas de Persistencia de Objetos

Consultas en JPA-QL. Sistemas de Persistencia de Objetos Consultas en JPA-QL Sistemas de Persistencia de Objetos Contenidos nov-08 Alberto MFA alb@uniovi.es 2 Preparación y ejecución nov-08 Alberto MFA alb@uniovi.es 3 Creación HQL y JPA QL QBC y QBE (Query By

Más detalles

4.6.- Integridad: Control de concurrencia.

4.6.- Integridad: Control de concurrencia. 4.6.- Integridad: Control de concurrencia. 4.6.1.- Introducción 4.6.2.- Técnicas de Bloqueo. 4.6.2.1.- Bloqueo (variable cerrojo) Tipos, protocolos Problemas. Interbloqueo Granularidad 4.6.2.2.- Marcas

Más detalles

Unidad 4 Control de Transacciones

Unidad 4 Control de Transacciones Unidad 4 Control de Transacciones e Instrucción COMMIT. 4.2 Instrucción ROLLBACK. 4.3 Niveles de aislamiento. 4.4 Grados de consistencia. ISC Ing. Felipe Alanís González -ITD- 1 Cada vez que se ejecuta

Más detalles

Fundamentos de los Bloqueos en SQL Server

Fundamentos de los Bloqueos en SQL Server Fundamentos de los Bloqueos en SQL Server Enrique Puig MAP MCITP e.puig@outlook.es @epuignouselles Moderador: Freddy Angarita Gracias a nuestros auspiciadores Database Security as Easy as A-B-C http://www.greensql.com

Más detalles

Transacciones, Recuperación y Control de Concurrencia

Transacciones, Recuperación y Control de Concurrencia Transacciones, Recuperación y Control de Concurrencia Transacciones Transacción: colección de operaciones que forman una única unidad lógica de trabajo en una BD Control concurrencia Sistemas multiusuario:

Más detalles

Transacciones. Agenda

Transacciones. Agenda Transacciones Alumnos: Jesús Hernández CI:18.020.681 José De Abreu CI: 18 855 500 Agenda 1 Concepto de Transacción 1.1 Consistencia y Aislamiento 1.2 Atomicidad y Durabilidad 2 Transacciones y Planificadores

Más detalles

Resumen Tema 5: Proceso de transacciones

Resumen Tema 5: Proceso de transacciones Resumen Tema 5: Proceso de transacciones Transacción Unidad lógica de procesamiento secuencial compuesta por una o mas acciones que se ejecutan en bloque sobre una BD. Sentencias: Begin/end transaction.

Más detalles

Tema V. JDBC. Desarrollo de Aplicaciones para Internet Curso 12 13

Tema V. JDBC. Desarrollo de Aplicaciones para Internet Curso 12 13 Tema V. JDBC Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Arquitectura 3.Consultas SQL i. Carga de Drivers ii. Conexión iii.consulta iv.resultados 4.Tipos de Datos 5.Transacciones

Más detalles

Ejercicios (1, 2,3) Carrera: Licenciatura en Informática. Materia: Base de Datos II. Nombre del Alumno: Flores Osorio Josué.

Ejercicios (1, 2,3) Carrera: Licenciatura en Informática. Materia: Base de Datos II. Nombre del Alumno: Flores Osorio Josué. Ejercicios (1, 2,3) Carrera: Licenciatura en Informática Materia: Base de Datos II Nombre del Alumno: Grupo: 501 Semestre: Quinto Tabla de contenido Introducción... 3 Desarrollo... 4 Ejercicio No. 1...

Más detalles

Control de Concurrencia. Control de Concurrencia. Operaciones Conflictivas. AIslamiento (+ Consistencia) Control de Concurrencia

Control de Concurrencia. Control de Concurrencia. Operaciones Conflictivas. AIslamiento (+ Consistencia) Control de Concurrencia Control de Concurrencia Objetivo Forzar el aislamiento de transacciones conflictivas mediante la exclusión mutua. Preservar la consistencia de la BD mediante la ejecución adecuada de las transacciones.

Más detalles

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1 ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1 TEMA 1. CONSULTAS BÁSICAS Fundamentos de SQL Tipos de datos, operadores y literales Sentencia SELECT Limitación de filas y operadores Ordenación

Más detalles

TRANSACCIONES, AISLAMIENTO Y CANDADOS. Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013

TRANSACCIONES, AISLAMIENTO Y CANDADOS. Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013 TRANSACCIONES, AISLAMIENTO Y CANDADOS Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013 Ejemplo de una cuenta corriente RETIRO Ingrese retiro Lea saldo del cliente A Si saldo

Más detalles

Control de Concurrencia

Control de Concurrencia Control de Concurrencia Objetivo BASES DE DATOS I Forzar el aislamiento de transacciones conflictivas mediante la exclusión mutua. Preservar la consistencia de la BD mediante la ejecución adecuada de las

Más detalles

1. Reglas ACID: comprobar la propiedad Atomicidad, lo que se ejecuta en una transacción se ejecuta todo o nada, usando la tabla clientes.

1. Reglas ACID: comprobar la propiedad Atomicidad, lo que se ejecuta en una transacción se ejecuta todo o nada, usando la tabla clientes. Objetivos: o Transacciones o Gestión de concurrencia Preparación de la práctica: si en el boletín 04, ejercicio 6, se llegaron a crear las tablas de marcas y departamentos así como los usuarios y roles,

Más detalles

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. Actividad Tutorial de comandos de transacciones

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. Actividad Tutorial de comandos de transacciones E Ohh disculpaa XCELENCIA UNIVERSITARIA, FORTALEZA DE MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN Actividad Tutorial de comandos de transacciones Como requerimiento

Más detalles

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO 1. Supóngase que se han definido todas las restricciones de integridad como DEFERRABLE INITIALLY IMMEDIATE y sea la transacción T1 que se ejecuta sobre la

Más detalles

Bases De Datos Depto. Computación FCEyN UBA

Bases De Datos Depto. Computación FCEyN UBA Bases De Datos Depto. Computación FCEyN UBA Timestamping Timestamping multiversion Validación Estos métodos asumen que no ocurrirá un comportamiento no serializable y actúan para reparar el problema sólo

Más detalles

Concurrencia y Recuperabilidad

Concurrencia y Recuperabilidad Concurrencia y Recuperabilidad Paradigma Pesimista Lic. Gerardo Rossel 2016 Recuperabilidad Control de Concurrencia Pesimista-Optimista-SQL Serializabilidad Recuperabilidad Control de Concurrencia Pesimista-Optimista-SQL

Más detalles

CC BASES DE DATOS OTOÑO Clase 10: Transacciones y ACID. Aidan Hogan

CC BASES DE DATOS OTOÑO Clase 10: Transacciones y ACID. Aidan Hogan 3201-1 BASS D DATOS OTOÑO 2017 lase 10: Transacciones y AID Aidan Hogan aidhog@gmail.com Una cuenta bancaria Una cuenta bancaria integridad Restricciones sobre varias tablas (!!) A. P. A.? A. S.? TRANSAIONS

Más detalles

Conceptos sobre procesamiento de transacciones

Conceptos sobre procesamiento de transacciones Conceptos sobre procesamiento de transacciones Tema 3: Bases de Datos II Contenidos del tema 3 1. Introducción 2. Propiedades deseables en las transacciones. 3. Conceptos de transacciones y sistema. 4.

Más detalles

Capítulo 5. Edición de datos

Capítulo 5. Edición de datos Capítulo 5 Edición de datos ÍNDICE CAPÍTULO 5 Inserción de registros Cláusula INSERT Cláusula REPLACE Modificación de registros Borrado de registros Borrados/Modificaciones e integridad referencial Transacciones

Más detalles

Transacciones y Control de Concurrencia (capítulo 15 del libro)

Transacciones y Control de Concurrencia (capítulo 15 del libro) Transacciones y Control de Concurrencia (capítulo 15 del libro) Básicamente, una transacción es una colección de operaciones que forman una unidad de trabajo. Se busca que se ejecuten todas las operaciones

Más detalles

Lenguajes de definición y modificación de datos SQL.

Lenguajes de definición y modificación de datos SQL. Lenguajes de definición y modificación de datos SQL. Área: INFORMÁTICA Y COMUNICACIONES Modalidad: Teleformación Duración: 60 h Precio: 30.00 Curso Bonificable Solicita información Añade al archivador

Más detalles

Procesamiento de Transacciones

Procesamiento de Transacciones Procesamiento de Transacciones Material basado en los capítulos 12 y 13 del libro: Sistemas Distribuidos. CyD. G. Coulouris, J. Dollimore and T. Kindberg. Contenido Mecanismos de Control de Concurrencia

Más detalles

2.3.4 Estrategias de generación de claves primarias

2.3.4 Estrategias de generación de claves primarias 2.3.4 Estrategias de generación de claves primarias Estrategia 1 (1) Usar el mecanismo de generación de identificadores numéricos que proporciona la BD, en caso de que disponga de él; en otro caso, permitir

Más detalles

Control de Concurrencia. Carlos A. Olarte BDII

Control de Concurrencia. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Protocolos basados en Bloqueos 3 Protocolos basados en Grafos 4 Protocolos de Marcas temporales 5 Esquemas Multiversión 6 Granularidad

Más detalles

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 5: Proceso de Transacciones Pedro P. Alarcón Cavero

Más detalles

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile  andrea Transacciones M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la Unidad Entender el concepto de transacciones. Transacciones Una transacción

Más detalles

Ejercicios de Acceso a datos en Spring

Ejercicios de Acceso a datos en Spring Ejercicios de Acceso a datos en Spring Índice 1 Uso de JDBC en Spring (1 punto)...2 2 Transaccionalidad declarativa (1 punto)... 2 3 Uso de JPA en Spring (1 punto)...4 Continuaremos en esta sesión con

Más detalles

CC BASES DE DATOS PRIMAVERA Clase 12: Implementación de ACID. Aidan Hogan

CC BASES DE DATOS PRIMAVERA Clase 12: Implementación de ACID. Aidan Hogan 3201-1 BASS D DATOS PRIMAVRA 2016 lase 12: Implementación de AID Aidan Hogan aidhog@gmail.com Transacciones Una transacción es un conjunto de operaciones que se ejecutan de manera atómica (es decir, como

Más detalles

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski.

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski. Transacción a los conceptos del Procesamiento de las Transacciones Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica de procesamiento. Una transacción

Más detalles

Bases de datos relacionales y SQL

Bases de datos relacionales y SQL Bases de datos relacionales y SQL Jesús Arias Fisteus Aplicaciones Web (2016/17) Aplicaciones Web (2016/17) Bases de datos relacionales y SQL 1 Parte I Introducción a las bases de datos relacionales Aplicaciones

Más detalles

Concurrencia. Índice. Planificación serializable. Protocolos de concurrencia. Control de Concurrencia basado en la técnica de reserva

Concurrencia. Índice. Planificación serializable. Protocolos de concurrencia. Control de Concurrencia basado en la técnica de reserva Índice Concurrencia Control de concurrencia basado en la técnica de reserva Protocolo de dos fases El planificador. Cómo usa los locks? Granularidad múltiple Control de Concurrencia basado en la marca

Más detalles

Guía de estudio para el examen. Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia.

Guía de estudio para el examen. Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia. Guía de estudio para el examen Transacciones Problema 1: Suma Invariante Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia. 1) T1 T2 Lock

Más detalles

Desarrollador de Aplicaciones Web con Java

Desarrollador de Aplicaciones Web con Java Desarrollador de Aplicaciones Web con Java El presente programa integral tiene como finalidad el uso de la tecnología Java para el desarrollo de aplicaciones Web empresariales. En los tres módulos se utilizan

Más detalles

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado, como por ejemplo, para

Más detalles

Introducción a los conceptos del Procesamiento de las Transacc

Introducción a los conceptos del Procesamiento de las Transacc a los conceptos del Procesamiento de las Transacciones 12/Mayo/2017 Transacción Definición Transacción Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica

Más detalles

Persistencia, ORMs Hibernate

Persistencia, ORMs Hibernate Persistencia, ORMs Hibernate Contenido Frameworks, ORMs Hibernate vs EJB3 EJB3 sobre JBoss Búsqueda de Performance. Funcionamiento de los distintos Cache. OSCache, EHCache, JbossCache Ventajas y Desventajas

Más detalles

Computación Web (Curso 2013/2014)

Computación Web (Curso 2013/2014) Bases de Datos (II) Computación Web (Curso 2013/2014) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (II) p. 1 Consultas OUTER JOIN Una limitación de las consultas INNER JOIN es que requieren que

Más detalles

Java Hibernate. Programa de Estudio.

Java Hibernate. Programa de Estudio. Java Hibernate Programa de Estudio Java Hibernate Aprende el framework más utilizado del mercado JAVA para trabajar con Base de Datos, y convierte tus aplicaciones JAVA en multi plataforma y multi base

Más detalles

Acceso a bases de datos desde Java: JDBC

Acceso a bases de datos desde Java: JDBC Acceso a bases de datos desde Java: JDBC Jesús Arias Fisteus Aplicaciones Web (2016/17) Aplicaciones Web (2016/17) Acceso a bases de datos desde Java: JDBC 1 Parte I JDBC Aplicaciones Web (2016/17) Acceso

Más detalles

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones Práctica 4: Estudio del SGBD Oracle 10 El SGBD Oracle 10 Objetivos estudio de la gestión de transacciones. estudio de las estrategias para la comprobación de la integridad. estudio de las estrategias para

Más detalles

Experto Universitario Java Enterprise Spring

Experto Universitario Java Enterprise Spring Sesión 2: 1 Puntos a tratar Por qué usar para acceso a datos Problemas típicos de JDBC JDBC con JPA con Transaccionalidad declarativa 2 Por qué usar el acceso a datos de no nos obliga a usar su módulo

Más detalles

COMPONENTES Y CONTENEDORES. Ingeniería de Software II

COMPONENTES Y CONTENEDORES. Ingeniería de Software II COMPONENTES Y CONTENEDORES Ingeniería de Software II Motivación Los componentes son paquetes de software o módulos que encapsulan un conjunto de funciones similares. Estos componentes viven dentro de un

Más detalles

Mapeo de clases. Sistemas de persistencia de objetos

Mapeo de clases. Sistemas de persistencia de objetos Mapeo de clases Sistemas de persistencia de objetos Entidades Un entidad representa un concepto del dominio Puede estar asociada con otras entidades Su ciclo de vida es independiente Debe tener una clave

Más detalles

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de

Más detalles

7. Control de la concurrencia

7. Control de la concurrencia 7. Control de la concurrencia Objetivos Conocer la problemática asociada a la concurrencia de transacciones en los sistemas de bases de datos Entender el significado de la serializabilidad y su aplicación

Más detalles

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II Conceptos sobre procesamiento de transacciones Tema 3: Bases de Datos II Contenidos del tema 3 1. Introducción 2. Propiedades deseables en las transacciones. 3. Conceptos de transacciones y sistemas. 4.

Más detalles

TEMA 5: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 5: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 5: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 SUBCONSULTAS ANIDADAS SQl proporciona un mecanismo para las sub consultas anidadas. Una sub consulta es una expresión SQL de la forma select-from-where

Más detalles

Acceso a bases de datos desde Java: JDBC

Acceso a bases de datos desde Java: JDBC Acceso a bases de datos desde Java: JDBC Jesús Arias Fisteus Computación Web (2017/18) Computación Web (2017/18) Acceso a bases de datos desde Java: JDBC 1 Parte I JDBC Computación Web (2017/18) Acceso

Más detalles

Bases de Datos Relacionales y SQL: Una Introducción

Bases de Datos Relacionales y SQL: Una Introducción 1 Bases de Datos Relacionales y SQL: Una Introducción Protein Design Group, CNB CSIC 2 Sumario Qué es un SGBDR? Usuarios de base de datos Tablas: creación y definición de restricciones Manipulación de

Más detalles

BD Activas: Motivación

BD Activas: Motivación BD Activas: Motivación Los SGBD convencionales son pasivos. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas de aplicación. Para representar la semántica del mundo

Más detalles

Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs

Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs Oracle University Contact Us: 001-855-844-3881 Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs Duration: 4 Days What you will learn Esta capacitación Java EE 6: Desarrollo de componentes

Más detalles

Oracle Database 12c SQL and PLSQL Fundamentals

Oracle Database 12c SQL and PLSQL Fundamentals Oracle Database 12c SQL and PLSQL Fundamentals DESCRIPCION MODULOS DE CAPACITACION Introducción Información general sobre 12c de base de datos Oracle y productos afines Descripción de los conceptos y la

Más detalles

Bases de datos relacionales y SQL

Bases de datos relacionales y SQL Bases de datos relacionales y SQL Jesús Arias Fisteus Aplicaciones Web (2017/18) Aplicaciones Web (2017/18) Bases de datos relacionales y SQL 1 Parte I Introducción a las bases de datos relacionales Aplicaciones

Más detalles

El Sistema Gestor de Base de Datos (DBMS)

El Sistema Gestor de Base de Datos (DBMS) Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los

Más detalles

Centro Universitario UAEM Zumpango

Centro Universitario UAEM Zumpango "2015. Año del Bicentenario Luctuoso de José María Morelos y Pavón" Febrero 2015 Centro Universitario UAEM Zumpango Ingeniería en Computación Unidad de Aprendizaje: Fundamentos de Bases de Datos Unidad

Más detalles

SQL (lenguaje estándar de consulta)

SQL (lenguaje estándar de consulta) SQL (lenguaje estándar de consulta) SQL (lenguaje estándar de consulta) es el lenguaje elemental de los SGBD relacionales. Se trata de uno de los lenguajes más utilizados de la historia de la informática.

Más detalles

Configuración del driver cliente ODBC

Configuración del driver cliente ODBC TNLK025KEP Configuración del driver cliente ODBC Tech Support support@logitek.es Enero 2016 Revisión1 Descripción General Esta nota técnica explica cómo configurar desde el inicio un driver cliente ODBC.

Más detalles

Aplicaciones Web (Curso 2014/2015)

Aplicaciones Web (Curso 2014/2015) Bases de Datos (III) Aplicaciones Web (Curso 2014/2015) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC

Más detalles

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (III) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC

Más detalles

Manejo de Transacciones

Manejo de Transacciones Bases de Datos Transacciones 1 Manejo de Transacciones Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos Transacciones 2 Transacciones Hasta ahora el modelo de operación en la BD

Más detalles

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre. II Parcial

Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre. II Parcial Examen de Ficheros y bases de datos (cód. 520) Ingeniería Técnica en Informática de Gestión Convocatoria de septiembre II Parcial 1) (2,9 puntos). a) (0,8 puntos) Constrúyase un árbol B+ mínimo con n=5

Más detalles

040 - IFC04CM16. ACCESO A DATOS

040 - IFC04CM16. ACCESO A DATOS 040 - IFC04CM16. ACCESO A DATOS DEPARTAMENTO: Formación Profesional MODALIDAD: Curso DESTINATARIOS: Profesores Técnicos de FP Catedráticos y Profesores de Enseñanza Secundaria Nº DE PLAZAS: 18 REQUISITOS:

Más detalles

Objetivos y Temario CURSO MySQL 5

Objetivos y Temario CURSO MySQL 5 Objetivos y Temario CURSO MySQL 5 OBJETIVOS Este curso MySQL 5 se dirige a desarrolladores técnicos e ingenieros ya familiarizados con un lenguaje de programación y que desean desarrollar sus aplicaciones

Más detalles

2EMHWLYRV 5HIHUHQFLDV. Procesadores vectoriales

2EMHWLYRV 5HIHUHQFLDV. Procesadores vectoriales 7HPD0XOWLSURFHVDGRUHV 2EMHWLYRV 5HIHUHQFLDV,QWURGXFFLyQ $UTXLWHFWXUDVFHQWUDOL]DGDVGHPHPRULDFRPSDUWLGD $UTXLWHFWXUDVGLVWULEXLGDVGHPHPRULDFRPSDUWLGD 6LQFURQL]DFLyQ 0XOWLFRPSXWDGRUHV 1 esadores vectoriales

Más detalles

Guía práctica SQL. (c) Francisco Charte Ojeda

Guía práctica SQL. (c) Francisco Charte Ojeda Guía práctica SQL Introducción Qué es SQL? Aplicaciones de SQL Intérpretes de SQL Tipos de RDBMS (c) Francisco Charte Ojeda Cómo usar este libro Convenciones tipográficas 1. El modelo relacional 1.1. Introducción

Más detalles

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 Manejo de Concurrencia en Mysql Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 InnoDB y TRANSACTION ISOLATION LEVEL... 3 Lecturas consistentes que no

Más detalles

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Base de Datos JDBC Unidad: 1 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Instalación de JDBC. Tipos de controladores. Conexión con la base

Más detalles

Gestión de Transacciones

Gestión de Transacciones Gestión de Transacciones y su relación con el gestor de concurrencia (planificador) y el gestor de recuperación 1 Sistema Monousuario vs. Multiusuario. concurrencia Transacciones Estado de las transacciones.

Más detalles

EXAMEN PRACTICO UNIDAD 7 CONCURRENCIA DISEÑO DEL FORMULARIO

EXAMEN PRACTICO UNIDAD 7 CONCURRENCIA DISEÑO DEL FORMULARIO EXAMEN PRACTICO UNIDAD 7 CONCURRENCIA DISEÑO DEL FORMULARIO ComboBox1 ComboBox2 textbox1 textbox2 textbox3 button1 button2 Concurrencia en Bases de Datos. La presente práctica consiste en implementar con

Más detalles

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA

Más detalles

Ing. Informática. Catedrático: Lic. Angélica Avalos Cano

Ing. Informática. Catedrático: Lic. Angélica Avalos Cano Ing. Informática Tema: Resumen de trasparencia, Control de transacciones para base de datos distribuidas, Control de concurrencia, Protocolos de bloqueo Presentado Por: María Cristina Cruz Ramírez Darvin

Más detalles

Recuperación de Fallos del Sistema

Recuperación de Fallos del Sistema Recuperación de Fallos del Sistema Competencias específicas Proteger la información almacenada frente a fallos del sistema mediante las técnicas disponibles en los SGBDs. Justificar la necesidad de disponer

Más detalles

SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición) Introducción 1. Un poco de historia 2. Las normas SQL 3. Descripción rápida del modelo relacional 3.1 Principales conceptos del modelo relacional 3.2 Principales reglas 4. El álgebra relacional 4.1 Aspectos

Más detalles

relacionales Arquitecturas Distribuidas 09/10

relacionales Arquitecturas Distribuidas 09/10 Tema 4. V Introducción a las Bases de Datos relacionales Arquitecturas Distribuidas 09/10 1 V. Introducción a las Bases de Datos relacionales 1. Descripción del concepto de base de datos (BD) relacional

Más detalles

Sentencias complementarias + Disparadores

Sentencias complementarias + Disparadores Base de Datos I Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas o transacciones especiales

Más detalles

Bases de Datos Relacionales. Conceptos y consideraciones para su uso.

Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Eduardo Mora Departamento de Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria Bases de Datos. Finalidad Base

Más detalles

Modelamiento y Diseño de Base de Datos

Modelamiento y Diseño de Base de Datos Modelamiento y Diseño de Base de Datos Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas

Más detalles

Manual de Sentencias Básicas en SQL

Manual de Sentencias Básicas en SQL Manual de Sentencias Básicas en SQL Pues hoy que he estado enredando un rato con MySQl, y me he acordado de aquellos comienzos en los que tenía que volver a mis antiguos apuntes para lograr entender las

Más detalles

Database System Implementation H. García Molina, J.D. Ullman, J. Widom Prentice Hall 2000

Database System Implementation H. García Molina, J.D. Ullman, J. Widom Prentice Hall 2000 Concurrencia Índice Transacción. Definición. Motivación de la Concurrencia Planificador Control de concurrencia basado en la técnica de reserva Protocolo de dos fases El planificador. Cómo usa los locks?

Más detalles

3.7. A partir de los siguientes problemas que ha sufrido un DBA (Administrador de la Base de Datos), comenta por escrito las actividades de

3.7. A partir de los siguientes problemas que ha sufrido un DBA (Administrador de la Base de Datos), comenta por escrito las actividades de 3.1. Con el fin de que tengas un panorama de todo el módulo y te facilites el estudio y comprensión del mismo, elabora un mapa conceptual a partir de la revisión del contenido en formato electrónico, del

Más detalles

Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL

Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL ) (4,3 puntos) Considérese un fichero secuencial indexado con un índice numérico (con valores entre 0 y 65.535) con duplicados

Más detalles

5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB

5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB 5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB Introducción La arquitectura de la capa modelo de MiniBank es igual que la de MiniPortal Paquetes nuevos en la capa modelo

Más detalles

Recuperación del Sistema

Recuperación del Sistema Recuperación del Sistema 1 Andrés Moreno S. Diagrama de Transición de Estados COMMIT y ROLLBACK puntos de confirmación BEGIN activo READ / WRITE END parcialmente confirmado COMMIT confirmado fallo fallo

Más detalles

Control interno del flujo de un programa 1-14

Control interno del flujo de un programa 1-14 Control interno del flujo de un programa 1-14 Lección 1 Tipos de eventos Eventos en programas ejecutables Un report es un programa que realiza las siguientes fases: Recogida de parámetros (si los hay)

Más detalles

Introducción a SQL (DDL)

Introducción a SQL (DDL) Introducción a SQL (DDL) Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2012 Introducción a SQL Objetivos de este tema

Más detalles

Manejo de Tablas y Llaves Foráneas

Manejo de Tablas y Llaves Foráneas Manejo de Tablas y Llaves Foráneas Llaves Foráneas Para manejar las llaves foráneas, deben crearse al menos dos tablas, la primera tal y como se ha hecho anteriormente CREATE TABLE nombre_tabla ( nombre_columna_1

Más detalles

Docente: Albert A. Osiris Sofía. Fundamentos de Bases de Datos - Licenciatura en Sistemas U. Académica Río Gallegos

Docente: Albert A. Osiris Sofía. Fundamentos de Bases de Datos - Licenciatura en Sistemas U. Académica Río Gallegos Docente: Albert A. Osiris Sofía 1 Recuperación ante Errores 2 Contenido de la Presentación Transacciones Fallos Recuperación ante Errores 3 Transacciones 4 Transacciones Transacción: colección de operaciones

Más detalles