Sie sind auf Seite 1von 4

DISEÑO DE BASE DE DATOS III PERIODO 2016 Ing.

Erick Vásquez

CONTROL DE CONCURRENCIA EN BASES DE DATOS

El control de transacciones concurrentes en una base de datos brinda un


eficiente desempeño del Sistema de Base de Datos, puesto que permite controlar la ejecución de
transacciones que operan en paralelo, accesando a información compartida y, por lo tanto,
interfiriendo potencialmente unas con otras.

El hecho de reservar un asiento en un avión mediante un sistema basado en aplicaciones web,


cuando decenas de personas en el mundo pueden reservarlo también, nos da una idea de lo
importante y crucial que es el control de concurrencia en un sistema de base de datos a mediana o
gran escala.

Otro ejemplo en el que podemos observar la incidencia del control de concurrencia en el siguiente:
en una Base de Datos bancaria podría ocurrir que se paguen dos cheques en forma simultánea sobre
una cuenta que no tiene saldo suficiente para cubrirlos en su totalidad, esto es posible evitarlo si se
tiene un control de concurrencia.

TRANSACCIONES

Los sistemas que tratan el problema de control de concurrencia permiten que sus usuarios asuman
que cada una de sus aplicaciones se ejecutan atómicamente, como si no existieran otras
aplicaciones ejecutándose concurrentemente.

Esta abstracción de una ejecución atómica y confiable de una aplicación se conoce como
una transacción.

Un algoritmo de control de concurrencia asegura que las transacciones se ejecuten atómicamente


controlando la intercalación de transacciones concurrentes, para dar la ilusión de que las
transacciones se ejecutan serialmente, una después de la otra, sin ninguna intercalación. Las
ejecuciones intercaladas cuyos efectos son los mismos que las ejecuciones seriales son
denominadas serializables y son correctos ya que soportan la ilusión de la atomicidad de las
transacciones.

El concepto principal es el de transacción. Informalmente, una transacción es la ejecución de ciertas


instrucciones que accesan a una base de datos compartida. El objetivo del control de concurrencia
y recuperación es asegurar que dichas transacciones se ejecuten atómicamente, es decir:

Cada transacción accede a información compartida sin interferir con otras transacciones, y si una
transacción termina normalmente, todos sus efectos son permanentes, en caso contrario no tiene
afecto alguno.

Una base de datos está en un estado consistente si obedece todas las restricciones de integridad
(significa que cuando un registro en una tabla haga referencia a un registro en otra tabla, el registro
correspondientes debe existir) definidas sobre ella.

Los cambios de estado ocurren debido a actualizaciones, inserciones y supresiones de información.


Por supuesto, se quiere asegurar que la base de datos nunca entre en un estado de inconsistencia.

Sin embargo, durante la ejecución de una transacción, la base de datos puede estar temporalmente
en un estado inconsistente.

1
DISEÑO DE BASE DE DATOS III PERIODO 2016 Ing. Erick Vásquez

El punto importante aquí es asegurar que la base de datos regresa a un estado consistente al fin de
la ejecución de una transacción.

PROPIEDADES FUNDAMENTALES DE UNA TRANSACCIÓN

Atomicidad Se refiere al hecho de que una transacción se trata como una unidad de operación.

Por lo tanto, o todas las acciones de la transacción se realizan o ninguna de ellas se lleva a cabo. La
atomicidad requiere que si una transacción se interrumpe por una falla, sus resultados parciales
sean anulados.

Consistencia La consistencia de una transacción es simplemente su correctitud. En otras palabras,


una transacción es un programa correcto que lleva a la base de datos de un estado consistente a
otro con la misma característica. Debido a esto, las transacciones no violan las restricciones de
integridad de una base de datos.

Aislamiento Una transacción en ejecución no puede revelar sus resultados a otras transacciones
concurrentes antes de finalizar.

Más aún, si varias transacciones se ejecutan concurrentemente, los resultados deben ser los mismos
que si ellas se hubieran ejecutado de manera secuencial.

Permanencia Es la propiedad de las transacciones que asegura que una vez que una transacción
finaliza exitosamente, sus resultados son permanentes y no pueden ser borrados de la base de datos
por alguna falla posterior.

Por lo tanto, los sistemas manejadores de base de datos aseguran que los resultados de una
transacción sobrevivirán a fallas del sistema. Esta propiedad motiva el aspecto de recuperación de
base de datos, el cual trata sobre cómo recuperar la base de datos a un estado consistente donde
todas las acciones que han finalizado con éxito queden reflejadas en la base.

En esencia, lo que se persigue con el procesamiento de transacciones es, por una parte obtener una
transparencia adecuada de las acciones concurrentes a una base de datos y por otra, manejar
adecuadamente las fallas que se puedan presentar en una base de datos.

2
DISEÑO DE BASE DE DATOS III PERIODO 2016 Ing. Erick Vásquez

El procesamiento de transacciones representa una enorme y significativa porción del mercado de


los sistemas informáticos (más de cincuenta billones de dólares al año) y es, probablemente, la
aplicación simple más amplia de las computadoras.

Además, se ha convertido en el elemento que facilita el comercio electrónico.

Como puede percibirse, el procesamiento de transacciones es una de las tareas más importantes
dentro de un sistema de base de datos, pero a la vez, es una de las más difíciles de manejar debido
a diversos aspectos, tales como:

La mayoría de medianas y grandes compañías modernas utilizan el procesamiento de transacciones


para sus sistemas de producción, y es tan imprescindible que las organizaciones no pueden
funcionar en ausencia de él.

Confiabilidad Puesto que los sistemas de base de datos en línea no pueden fallar.

Disponibilidad Debido a que los sistemas de base de datos en línea deben estar actualizados
correctamente todo el tiempo.

Tiempos de Respuesta En sistemas de este tipo, el tiempo de respuesta de las transacciones no debe
ser mayor a doce segundos.

Throughput Los sistemas de base de datos en línea requieren procesar miles de transacciones por
segundo.

Atomicidad En el procesamiento de transacciones no se aceptan resultados parciales.

Permanencia No se permite la eliminación en la base de datos de los efectos de una transacción que
ha culminado con éxito.

MINERIA DE DATOS

La minería de datos o exploración de datos (es la etapa de análisis de "Knowledge Discovery in


Databases" o KDD) es un campo de la estadística y las ciencias de la computación referido al proceso
que intenta descubrir patrones en grandes volúmenes de conjuntos de datos.1 Utiliza los métodos
de la inteligencia artificial, aprendizaje automático, estadística y sistemas de bases de datos. El
objetivo general del proceso de minería de datos consiste en extraer información de un conjunto de
datos y transformarla en una estructura comprensible para su uso posterior. Además de la etapa de
análisis en bruto, que involucra aspectos de bases de datos y de gestión de datos, de procesamiento
de datos, del modelo y de las consideraciones de inferencia, de métricas de Intereses, de
consideraciones de la Teoría de la complejidad computacional, de post-procesamiento de las
estructuras descubiertas, de la visualización y de la actualización en línea.

El término es una palabra de moda, y es frecuentemente mal utilizado para referirse a cualquier
forma de datos a gran escala o procesamiento de la información (recolección, extracción,
almacenamiento, análisis y estadísticas), pero también se ha generalizado a cualquier tipo de
sistema de apoyo informático decisión, incluyendo la inteligencia artificial, aprendizaje automático
y la inteligencia empresarial. En el uso de la palabra, el término clave es el descubrimiento,

3
DISEÑO DE BASE DE DATOS III PERIODO 2016 Ing. Erick Vásquez

comúnmente se define como "la detección de algo nuevo". Incluso el popular libro "La minería de
datos: sistema de prácticas herramientas de aprendizaje y técnicas con Java" (que cubre todo el
material de aprendizaje automático) originalmente iba a ser llamado simplemente "la máquina de
aprendizaje práctico", y el término "minería de datos" se añadió por razones de marketing. A
menudo, los términos más generales "(gran escala) el análisis de datos", o "análisis" -. o cuando se
refiere a los métodos actuales, la inteligencia artificial y aprendizaje automático, son más
apropiados.

La tarea de minería de datos real es el análisis automático o semi-automático de grandes cantidades


de datos para extraer patrones interesantes hasta ahora desconocidos, como los grupos de registros
de datos (análisis clúster), registros poco usuales (la detección de anomalías) y dependencias
(minería por reglas de asociación). Esto generalmente implica el uso de técnicas de bases de datos
como los índices espaciales. Estos patrones pueden entonces ser vistos como una especie de
resumen de los datos de entrada, y pueden ser utilizados en el análisis adicional o, por ejemplo, en
la máquina de aprendizaje y análisis predictivo. Por ejemplo, el paso de minería de datos podría
identificar varios grupos en los datos, que luego pueden ser utilizados para obtener resultados más
precisos de predicción por un sistema de soporte de decisiones. Ni la recolección de datos,
preparación de datos, ni la interpretación de los resultados y la información son parte de la etapa
de minería de datos, pero que pertenecen a todo el proceso KDD como pasos adicionales.

Los términos relacionados con la obtención de datos, la pesca de datos y espionaje de los datos se
refieren a la utilización de métodos de minería de datos a las partes de la muestra de un conjunto
de datos de población más grandes establecidas que son (o pueden ser) demasiado pequeñas para
las inferencias estadísticas fiables que se hizo acerca de la validez de cualquier patrón descubierto.
Estos métodos pueden, sin embargo, ser utilizados en la creación de nuevas hipótesis que se
prueban contra poblaciones de datos más grandes.

Das könnte Ihnen auch gefallen