Lightweight Reflection for Middleware-based Database Replication

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

Download "Lightweight Reflection for Middleware-based Database Replication"

Transcripción

1 Lightweight Reflection for Middleware-based Database Replication Autor: Jorge Salas López 1 Universidad Politecnica de Madrid (UPM) Madrid, Spain Tutor: Ricardo Jiménez Peris 20 de Agosto de Este trabajo ha sido publicado en el IEEE Symposium on Reliable Distributed Systems (SRDS 2006) y ha sido parcialmente financiado por el Proyecto Europeo Adapt, el Ministerio Español de Educación y Ciencia (MEC) bajo la subvención #TIN C02-01, y la Comunidad Autónoma de Madrid (CAM) bajo la subvención #0505/TIC/

2 ii

3 Índice general Introducción vii 1 Taxonomía de Protocolos de Replicación de Bases de Datos 1 2 Dos Protocolos Básicos de Replicación de Bases de Datos 5 3 Interfaces Reflexivas para Bases de Datos Replicadas Conexión de la Base de Datos Reflexiva Algoritmo Básico Tolerancia a fallos Peticiones Reflexivas TransaccionesReflexivas Writesets Readsets LogReflexivo Control de Concurrencia Reflexivo Reificacion/Introspección de Conflictos Aborto Indirecto Intercesión en la Liberación de Cerrojos Prioridad en las Transacciones Evaluación El Coste de la Captura del Writeset Reflexivo La Ganancia en la Aplicación del Writeset Reflexivo Escalabilidad Analítica de Diferentes Enfoques Reflexivos Trabajos Relacionados 25 6 Conclusiones 27 iii

4 iv ÍNDICE GENERAL

5 Prólogo El enfoque para la replicación de bases de datos basándose en el uso de middlewares ha emergido en los últimos años como una alternativa a la replicación de bases de datos tradicional implementada con el núcleo de la base de datos. El enfoque middleware permite a terceros proporcionar soluciones de alta disponibilidad, una práctica en crecimiento hoy en dia en la industria del software. Sin embargo las soluciones middleware a menudo escasean tanto en temas de escalabilidad como en rendimiento. La razón es que en la mayoría de los casos los middleware tienen que manejar la base de datos como una caja negra, no puediendo tomar ventaja de las muchas optimizaciones implementadas en el núcleo de la base de datos. De esta manera, las soluciones middleware a menudo reimplementan las funcionalidades clave pero no pueden lograr la misma eficiencia que las implementaciones realizadas a nivel de núcleo. La reflexión ha sido propuesta durante la última década como un provechoso paradigma para separar los aspectos no funcionales de los funcionales, simplificando el desarrollo del software y su mantenimiento favoreciendo la reutilización. Sin embargo, una base de datos completamente reflexiva no es viable, debido al alto coste de la reflexión. Nuestra reivindicación es que exponiendo algunas funcionalidades mínimas de la base de datos a través de interfaces reflexivas se pueden lograr middleware de replicación de bases de datos eficientes y escalables. En este trabajo nosotros exploramos una amplia variedad de interfaces ligeras reflexivas y discutimos que tipo de algoritmo de replicación permiten. Nosotros también discutimos alternativas de implementación para algunas de estas interfaces y evaluamos su rendimiento. v

6 vi ÍNDICE GENERAL

7 Introducción La replicación de bases de datos es un tema que ha atraído bastantes investigaciones durante los últimos años. Existen principalmente dos razones: por un lado las bases de datos frecuentemente son el cuello de botella de muchos sistemas complejos tales como las arquitecturas multicapas que necesitan una productividad (throughput) más alta, por otrolado las bases de datos almacenan información crítica que debe mantenerse altamente disponible. La replicación de bases de datos ha sido empleada para enfocar estas cuestiones. Un tema crítico de la replicación de bases de datos es cómo mantener las copias consistentes cuando ocurre una actualización. Esto es, siempre que una transacción actualice un registro de información, estas actualizaciones tienen que ser realizadas en todas las réplicas. Los enfoques tradicionales han estudiado como implementar la replicación con la base de datos, lo que nosotros calificamos como enfoque de caja blanca (white-box) [11, 10, 22, 23]. Sin embargo, dicho enfoque posee diferentes defectos. Primeramente, requiere acceso al código fuente. Esto significa que sólo el vendedor de la base de datos será capaz de implementarlos. En segundo lugar, normalmente está fuertemente integrado con la implementación de las funcionalidades regulares de la base de datos, con el objetivo de tomar ventaja de las muchas optimizaciones realizadas sobre el núcleodelabasede datos. Por lo que este enfoque conlleva la creación de interdependencias entre el código de la replicación y otros módulos de la base de datos, provocando que el mantenimiento sea tedioso en una evolución continua del código base. Investigaciones recientes se han centrado en cómo realizar replicación fuera de la base de datos [2, 36, 12, 5, 4, 15, 31, 33, 35, 26], típicamente como una capa middleware. Sin embargo, casi ninguno de ellas es verdaderamente un enfoque de caja negra (black-box) en la cual la base de datos se emplea exclusivamente basándose en sus interfaces de usuario lo que le induciríaamecanismos de replicación muy simples e ineficientes. En cambio, en la forma más simple, se requiere alguna información desde la aplicación. En la forma más básica, falsean las instrucciones SQL entrantes con el objetivo de determinar las tablas accedidas por una operación [12]. Esto permite realizar un control de concurrencia simple en la capa middleware. Más estrictamente, pueden requerir que la primera instrucción de la transacción indique si ésta es sólodelecturaose trata de una transacción de actualización [35], o indicar las tablas que van a ser accedidas por la transacción [5, 4, 32]. No obstante, muchos no requieren ninguna funcionalidad adicional desde el sistema de bases de datos. Sin embargo, vii

8 viii INTRODUCCIÓN esto puede inducir a ineficiencias. Por ejemplo, requiere ser ejecutado en todas las réplicas operaciones de actualización o incluso operaciones de actualización enteras, lo que resulta en una escalabilidad limitada. Nosotros calificamos este enfoque como procesamiento simétrico (symmetric processing). Una alternativa es el procesamiento asimétrico (asymmetric processing) de actualizaciones que consisteenejecutar una transaccióndeactualizaciónen cualquieradelasréplicas y luego propagar y aplicar sólo las tuplas actualizadas al resto de réplicas. [20] muestra que el enfoque asimétrico provoca un dramáticoincrementodelaescalabilidad incluso para cargas de trabajo con un alto porcentaje (80% o más) de transacciones de actualización. Sin embargo, obtener los writesets y aplicarlos en las réplicas remotas no es una operación trivial y es más eficiente si el sistema de la base de datos proporciona algún soporte para ello. Nosotros creemos que otra replicación mas eficiente puede ser lograda si la base de datos proporciona más funcionalidades a la capa middleware. Replication Middleware Reification Instrospection Intercession Meta Interface Client Application Regular Interface Database Figura 1: Una Base de Batos Reflexiva Así, en este trabajo nosotros intentamos combinar las ventajas de los enfoques de caja blanca y de caja negra recurriendo a la reflexión computacional [28]. La esencia de la reflexión computacional se basa en la capacidad de un sistema de razonar sobre sí mismo y sobre su comportamiento, y actuar en consecuencia. Un sistema reflexivo está estructurado alrededor de una representación de sí mismo o meta-modelo. Este meta-modelo debería proporciona diferentes abstracciones del sistema subyacente con diferentes niveles de detalle. Un sistema reflexivo está dividido en: el nivel base (base-level)(la base de datos en la Figura 1), donde la computación normal es llevada a cabo, y un meta nivel (meta-level), donde el sistema razona sobre la computación normal y la extiende (el middleware de replicación en la Figura 1). Reificación es el proceso por el cual los cambios en el modelo base son reflejados en el meta-modelo. Introspección es el mecanismo que permite al meta-modelo interrogar al modelo base sobre su estructura y/o comportamiento. Intercesión es el mecanismo a través del cual el meta-modelo puede cambiar el estado y/o comportamiento del modelo base. Nosotros empleamos la reflexión para exponer algunas funcionalidades de la

9 base de datos obteniendo como resultado lo que calificamos como enfoque de caja gris (gray box) para la replicación de bases de datos (Fig. 1). De manera distinta a previos enfoques reflexivos para middleware [25, 9], nuestro objetivo no propone desarrollar completamente un meta-modelo de una base de datos, desde que las sobrecargas inherentes son prohibitivas e incompatibles con el alto rendimiento requerido en las bases de datos. Nuestro propósito es identificar un conjunto ajustable, mínimo y ligero de interfaces reflexivas que permitan lograr un alto rendimiento en la replicación a nivel de middleware. Nosotros comenzamos con un conjunto de interfaces básicas las cuales son esenciales para la viabilidad de los enfoques. La funcionalidad proporcionada por tales interfaces está usada implícitamente ya por los protocolos existentes. A aprtir de esto, razonaremos sobre más funcionalidades avanzadas las cuales nosotros hemos identificado como beneficiosas para la replicación de bases de datos. Estas interfaces avanzadas nos permiten obtener los beneficios combinados de los enfoques de caja blanca y de caja negra. Es decir, por un lado nosotros logramos tener separados los componentes con las funcionalidades regulares de la base de datos y el código de replicación; y por el otro lado, nosotros podemos realizar optimizaciones sofisticadas en nuestro middleware de replicación. Nuestro trabajo se encuentra estructurado de la siguiente manera. La seccion 1 muestra un repaso de técnicas empleadas en la replicación de bases de datos. La sección 2 presenta dos algoritmos de replicación que nos servirán como ejemplos para discutir nuestras necesidades para la reflexión. La sección 3 nos proporciona una serie de interesantes interfaces reflexivas. La sección 4 presenta la implementación y evaluación de algunas interfaces reflexivas específicas. La sección 5 presenta los trabajos relacionados y la sección 6 concluye el artículo. ix

10 x INTRODUCCIÓN

11 Capítulo 1 Taxonomía de Protocolos de Replicación de Bases de Datos Nosotros clasificamos los protocolos de replicación a través de diversos criterios los cuales extienden los criterios definidos en una taxonomía previa [16, 39]: cuando propagar los cambios: en protocolos eager las actualizaciones o los cambios de una transacción (también llamados writesets) son propagados como parte de la transacción original. En contraste, con la replicación lazy, las actualizaciones son propagadas como transacciones separadas. donde ejecutar las transacciones de actualización: la replicación mediante un enfoque Primary copy requiere que las transacciones de actualización sean ejecutadas en un sitio determinado (el primario). El primario propaga los cambios a las replicas respaldo, las cuales sólo aceptan transacciones de lectura de sus clientes locales. Para planificar las transacciones de sólo lectura a los respaldos y las actualizaciones al primario, algunos sistemas requieren que el programa de la aplicación marque las transacciones como sólo lectura o no [35]. Si una transacción de actualización puede ser ejecutada en cualquier réplica, el protocolo de replicación sigue un enfoque update everywhere. número de mensajes: este parámetro representa el number of messages por transacción. Algunos protocolos emplean un número constante de mensajes, mientras que otros requieren un número lineal de mensajes dependiendo del número de operaciones de actualización que haya en la transacción. protocolo de coordinación: algunos mecanismos de control de réplicas requieren un protocolo de coordinación entre las réplicas para finalizar la transacción (voting termination). En otros, cada réplica decide ella misma sobre la finalización de la transacción a través de la información que ha recibido (non-voting). 1

12 2CAPÍTULO 1. TAXONOMÍA DE PROTOCOLOS DE REPLICACIÓN DE BASES DE DATOS criterio de corección: el criterio de corección típicamente implementado es 1-copy-serializability (1CS) [8]. La serialidad garantiza que la ejecución concurrente de transacciones es equivalente a una ejecución secuencial. 1CS garantiza que una ejecución sobre un sistema replicado es equivalente a una ejecución secuencial sobre una base de datos no replicada. Los sistemas de bases de datos centralizados usualmente ofrecen a parte de la serialidad más formas relajadas de aislamiento, tales como los niveles de aislamiento ANSI o aislamiento snapshot (snapshot isolation) [7]. El aislamiento snapshot esta basado en un control de concurrencia optimista multiversion tal como el implementado por Oracle, Microsoft SQLServer (sólo en su versión Yukon), y PostgreSQL. Por consiguiente, 1-copy-snapshotisolation [26] o generalizado snapshot isolation [14] define lo que significa proporcionar snapshot isolation en un sistema replicado. control de concurrencia: el control de réplica puede ser combinado con un control de concurrencia optimista o pesimista. Un enfoque pesimista restringe la concurrencia para garantizar la consistencia de todas las réplicas. Por ejemplo, un protocolo puede ejecutar todas las transacciones de actualización secuencialmente para garantizar el mismo estado en todas las réplicas. Un protocolo puede incrementar la concurrencia en un sistema de bases de datos replicado teniendo algún conocimiento a priori sobre la información que va a ser modificada. Con esto, transacciones que acceden a diferentes objetos pueden ser ejecutadas en paralelo y aquellas que acceden al mismo objeto son ejecutadas secuencialmente. Un objeto puede ser de la granularidad de una tabla, una tupla o una clase de conflicto. Las clases de conflicto son particiones de información, y tienen que ser definidas por la aplicación por adelantado. Esta facilidad esta disponible en la mayoría de las bases de datos comerciales (Oracle, DB2, Sybase). Uno puede pensar que tener conocimiento sobre las clases de conflicto de una transacción no es realista. Sin embargo, en muchos casos una base de datos es accedida a través de una aplicación software la cual puede ser analizada para detectar los patrones de actualización. Destacar, sin embargo, que las clases de conflicto y las tablas son típicamente de bastante grueso de granularidad. De ahí, que algunas transacciones puedan ser ejecutadas secuencialmente (porque acceden a la misma tabla/clase de conflicto) aunque ellas no posean conflicto a nivel de tupla. Los enfoques optimistas envían las transacciones potencialmente conflictivas en paralelo. Luego, después de la ejecución de la transacción es llevada a cabo una fase de validación en la cual se comprueba si hubo un conflicto entre las transacciones que están siendo validadas y aquellas que ejecutan concurrentemente y ya validaron. Si este es el caso, la transacción validándose tiene que abortar. procesamiento de actualizaciones: como se mencionó más arriba, hay dos maneras de procesar las transacciones de actualización: procesamiento simétrico o asimétrico. Con el procesamiento simétrico cada transacción de actualización es enviada y ejecutada completamente por todas las réplicas. Por otro lado, en un protocolo asimétrico las transacciones de actualización

13 3 son ejecutadas en una única réplica y solo sus cambios (writeset) son propagados al resto de las réplicas. Algunos enfoques emplean ambos tipos [12, 5] siendo simétricos a nivel de instrucción, pero asimétricos a nivel de transacción. Es decir, si una transacción de actualización contiene tanto instrucciones de actualización como de consulta, las consultas son ejecutadas en una replica mientras que las actualizaciones son ejecutadas en todas las réplicas. restricciones en las transacciones: Otro interesante criterio esta basado en las restricciones establecidas en la clase de las transacciones que pueden ser replicadas. Algunos protocolos solo permiten transacciones con una única instrucción (conocido como modo auto-commit en JDBC) [2]. Otros protocolos permiten distintas instrucciones en una transacción con la restricción que deben ser conocidas al comienzo de la transacción. Esto puede ser implementado empleando procedimientos almacenados (o prepared statement en JDBC) [24, 33, 3]. La norma general en los protocolos es no tener restricción sobre el número de instrucciones que contiene una transacción [22, 40, 26, 14, 35, 12].

14 4CAPÍTULO 1. TAXONOMÍA DE PROTOCOLOS DE REPLICACIÓN DE BASES DE DATOS

15 Capítulo 2 Dos Protocolos Básicos de Replicación de Bases de Datos El objetivo de esta sección es dar una intuición de cómo son los protocolos típicos de replicación de bases de datos. Primeramente mostraremos protocolos muy básicos y a partir de ellos, introduciremos el uso de las interfaces reflexivas, y los requisitos para promover las capacidades reflexivas con la intención de ser capaces de realzar los protocolos básicos en diferentes aspectos. Uno de los protocolos es pesimista y el otro optimista. Ambos son eager, update-everywhere y proporcionan 1-copy-serializability. Además emplean un sistema de comunicación a grupo [13] que proporciona envío multicast en orden total (todos los mensajes son entregados a todas las réplicas en el mismo orden). Por simplicidad en la descripción, se ignorará la fiabilidad en la entrega de mensajes en este trabajo. El protocolo de replicación pesimista realiza procesamiento simétrico de actualizaciones y asume que tanto las transacciones con múltiples instrucciones como las de una única instrucción se envían en una única petición. En este protocolo, un cliente envía su petición a una de las réplicas. Las transacciones de solo lectura son procesadas localmente. Sin embargo, las transacciones de actualización son enviadas de mediante multicast con orden total a todas las réplicas y procesadas en cada una de ellas secuencialmente. Este protocolo es ejecutado en todas las réplicas y puede resumirse de la siguiente manera (es parecido al que se propuso en [2]): Este protocolo básico solo necesita un mínimo soporte reflexivo. Nosotros hablaremos más tarde como este protocolo básico puede ser realzado para mejorar el rendimiento y la funcionalidad, y como estasmejorasrequieren extensiones en la interfaz reflexiva. El protocolo optimista es una versión simplificada de [34] y realiza procesamiento asimétrico de actualizaciones. Por simplicidad en la descripción, noso- 5

16 6CAPÍTULO 2. DOS PROTOCOLOS BÁSICOS DE REPLICACIÓN DE BASES DE DATOS I. Una vez recibida una petición para la ejecución de una transacción de actualización desde el cliente: se envía de manera multicast la petición a todas las réplicas con orden total. II. Una vez entregada una petición de una transacción de actualización: se encola la petición en una cola FIFO. III. Cuando una petición es la primera en la cola: enviar la transacción a ejecutar. IV. Cuando una transacción finaliza su ejecución: se extrae la transacción de de la cola. Si la transacción es local se devuelve el resultado al cliente. tros asumimos que cada petición es una transacción (peticiones de transacciones múltiples pueden ser manejadas de la misma manera). Un cliente envía una petición a una de las réplicas donde ésta es ejecutada localmente. Si la transacción es de solo lectura la respuesta es devuelta al cliente inmediatamente. De lo contrario, una validación distribuida es necesaria para comprobar si la condición 1-copy-serializability ha sido preservada. Si no, la transacción validándose es abortada. I. Una vez recibida una petición de transacción desde el cliente: ejecutar esta localmente. II. Una vez completada la ejecución: 1. Si es de solo lectura: devuelve la respuesta al cliente. 2. Si es de actualización: extrae el readset (RS) y el writeset (WS)yenviarlosde manera multicast en orden total. III. Una vez entregado RS y WS de la transacción tv: se valida con las transacciones tc que comprometieron después de que tv comenzó. 1. Si WS(tc) RS(tv) : si es local, abortar tv y devolver abort al cliente (podría haber leído las actualizaciones de tc pero puede haber leído una versión más anterior), de lo contrario ignorar tv. 2. Si WS(tc) RS(tv) = : sitv no es local, aplicar el writeset de tv y comprometer. Si es local, comprometer tv y devolver commit al usuario.

17 Capítulo 3 Interfaces Reflexivas para Bases de Datos Replicadas En esta sección estudiamos cuales de las interfaces reflexivas pueden ser expuestas por las bases de datos para permitir la implementación de los protocolos presentados en las secciones anteriores a nivel de middleware. Además, también discutimos sobre como estos protocolos pueden ser mejorados y cuales de las extensiones de las interfaces reflexivas requieren las mejoras. Las interfaces abarcan un rango desde la bien conocida intercepción de peticiones a conceptos noveles tales como el control de concurrencia reflexivo. 3.1 Conexión de la Base de Datos Reflexiva Los clientes abren una conexión en la base de datos desde el significado de un componente de conectividad de la misma (por ejemplo JDBC u ODBC), los cuales ejecutan en el lado del cliente, y envían transacciones a través de él. El componente de conectividad de la base de datos reenvía la petición de conexión y las transacciones al servidor de la base de datos que las procesa. El servidor de la base de datos posteriormente retorna las correspondientes respuestas que el componente de conectividad retransmite al cliente. Finalmente, cuando el cliente ha finalizado, cierra la conexión. Desde que la funcionalidad de la base de datos esta dividida en una parte cliente y otra servidora, nosotros tenemos un modelo base, un meta-level y un meta-modelo en el lado del cliente y en el del servidor. El base-level del cliente es el componente de conectividad del cliente. El base-level de la base de datos es el manejador de la conexión. La bien conocida técnica reflexiva de intercepción de peticiones puede ser aplicada al componente de conectividad y al manejador de conexión para implementar la replicación como una capa middleware. 7

18 8CAPÍTULO 3. INTERFACES REFLEXIVAS PARA BASES DE DATOS REPLICADAS Client Replica Control via Client Meta Model Replica Control via Server Meta Model Server Send Request Request Reception Reply Reception Send Reply Interaction with other Replicas Figura 3.1: Conexión de la Base de Datos Reflexiva Algoritmo Básico La figura 3.1 muestra como el soporte de la reflexión es requerido desde el componente de conectividad de la base de datos y el manejador de la conexión para que funcione el algoritmo básico pesimista presentado en las secciones anteriores. Primero, desde que el cliente no es consciente de la replicación, la petición de conexión podría ser interceptada por el meta-modelo. Esto proporciona el primer enganche para insertar la lógica de replicación (SendRequest). La petición de conexión será reificada y en el meta-modelo la conexión será realizada ejecutando primeramente un protocolo de descubrimiento de réplicas (por ejemplo, empleando IP-multicast como en Middle-R [26]) para encontrar las réplicas disponibles. Luego, una es elegida y la conexión es establecida con ella. Este resultado será reificado(replyreception) al meta-level del cliente con el objetivo de poder mantener constancia de la réplica a la cual esta conectado. Las peticiones estándar del cliente (peticiones de transacción) y sus respuestas desde el servidor pueden ser interceptadas de la misma manera, permitiendo además acciones del protocolo de replicación. Para el protocolo básico no se necesitan acciones especiales, y las peticiones y sus respuestas son simplemente reenviadas. Vamos ahora a examinar lo que es requerido en el lado del servidor. Una petición que es recibida por una replica debería ser reificada (RequestReception) al meta-level del servidor. Si es una petición de conexión la réplica tiene que registrar al cliente. Si es una petición de transacción, necesita ser enviada de manera multicast a todas las réplicas en orden total donde provocará laejecución de la transacción en el nivel base de todos los servidores como una forma de intercesión. Cuando el procesamiento de la petición es completado en el nivel base del servidor los resultados son reificados (SendReply) al correspondiente meta-level. Este es un enganche adicional en el que el algoritmo de replicación puede aplicar la lógica de replicación. Por ejemplo, para la respuesta a una petición de una transacción, sólolaréplica local tiene que devolver el resultado al cliente. Cuando miramos el algoritmo optimista, un mecanismo reflexivo simple en el nivel de conexión de la base de datos no es suficiente. Aplazaremos la discusión de este protocolo para las próximas secciones.

19 3.2. PETICIONES REFLEXIVAS Tolerancia a fallos La conexión reflexiva de la base de datos puede mejorar nuestro protocolo pesimista (y de una manera similar el protocolo optimista), proporcionando los mecanismos adecuados para integrar la tolerancia a fallo. Un cliente debería estar conectado al sistema replicado aun si la replica falla. Idealmente, en este caso el cliente en si mismo no es consciente de ningún fallo experimentando un servicio ininterrumpido. La reflexión a nivel de la conexión puede lograr esto. Como se mencionó anteriormente, cuando un cliente quiere conectarse al sistema, el meta-level del cliente puede detectar las replicas existentes y conectarse a cualquiera de ellas. De una forma parecida, cuando la réplica a la cual esta conectada el cliente falla, el fallo necesita ser reificado al meta-level del cliente. Luego, el meta-level puede automáticamente reconectar con una replica diferente sin notificárselo al cliente. Para esto el meta-modelo del cliente tiene que realizar acciones extra cuando intercepta las peticiones de las transacciones estándar y sus respuestas. Una posible ejecución puede ser esbozada como sigue. Cuando se recibe una petición es etiquetada con un identificador único y almacenada localmente en memoria antes de reenviar la petición etiquetada al servidor. Si el meta-modelo recibe una excepción causada por un fallo o se le indica que se ha agotado el tiempo de espera cuando esperaba por la respuesta, puede reconectarse a otra replica y reenviar la petición con el mismo identificador. El meta-modelo del servidor de cada replica mantiene seguimiento de la última petición y de su respuesta para cada cliente a través del identificador de la petición. Por lo que cuando intercepta una petición, primero comprueba si es un reenvió. Si es el caso, devuelve inmediatamente la respuesta. De no ser así, se envía de manera multicast para ser ejecutada por todas las réplicas como se describió más arriba. Al menos una ejecución es garantizada permitiendo al meta-level del cliente reenviar las peticiones pendientes. Como máximo una es garantizada detectando los reenvios duplicados. Destacar que el meta-level del servidor tiene que quitar el identificador de la petición antes de reenviarla al nivel base del servidor para mantener la interfaz regular sin modificar. 3.2 Peticiones Reflexivas En las secciones previas, fue argumentado que sin disponer de información sobre el contenido de las peticiones la lógica de la replicación se veía forzada a ejecutar todas las lecturas y todas las escrituras de manera secuencial en todas las replicas. Es decir, no se realiza control de concurrencia a nivel de middleware. Con el objetivo de permitir protocolos de replicación más eficientes a nivel de middleware es necesario disponer de una meta-interfaz adicional. Esta meta-interfaz permitirá realizar introspecciones en la petición y también poder proporcionar acceso a conocimiento dependiente de la aplicación mediante patrones de acceso a las transacciones. Por tanto, esta meta-interfaz puede ofrecer información sobre la petición de la transacción con diferentes niveles de detalle: 1) Puede clasificar la transacción como de sólo lectura o actualización; 2)

20 10CAPÍTULO 3. INTERFACES REFLEXIVAS PARA BASES DE DATOS REPLICADAS Puede proporcionar información sobre las tablas que van a ser accedidas por la transacción y en que modo, lectura o actualización; 3) Puede determinar las clases de conflicto (definidas en la aplicación) accedidas por la transacción. El nivel 1 es ofrecido, por ejemplo, por los drivers JDBC a través de SetConnectionToReadOnly. Esta información es explotada por los middlewares de replicación tales como [2] y [35]. Este nivel es particularmente útil en el caso de la replicación mediante copia primaria. En este caso, el protocolo de replicación puede redirigir las transacciones de actualización al nivel base del servidor primario y las transacciones de solo lectura a cualquier otra replica. Los niveles 2 y 3 son empleados para implementar control de concurrencia a nivel de middleware. El nivel 2 puede ser fácilmente logrado a través de un analizador SQL ejecutándose bien en el meta-modelo del cliente (o en el del servidor) como ha sido realizado en [21]. El nivel 3 requiere una meta-interfaz de modo que los programadores de aplicaciones pueden definir las clases de conflicto y las transacciones pueden ser adjuntadas a los conjuntos de la clase de conflicto a los que accedan. El nivel 3 puede ser explotado por planificadores sabiendo los conflicto tal como en [32, 19, 5, 4, 12]. Middle-R [33] tiene una implementación de tal interfaz. Silosniveles2o3están disponibles, nuestro protocolo básico pesimista puede ser extendido. En vez de tener una cola FIFO, pueden emplearse una cola por cada clase de conflicto y las peticiones son añadidas a las tablas/clases que accedan, logrando que transacciones que no poseen conflicto pueden ser enviadas concurrentemente al nivel base. 3.3 Transacciones Reflexivas Tanto para el protocolo optimista como para el pesimista presentados en secciones anteriores, las conexiones y peticiones reflexivas no son suficientes todavía. La replicación asimétrica requiere obtener y aplicar el writeset. Mientras el control de concurrencia puede ser logrado a través de peticiones reflexivas, el grueso grado de conflicto logrado en este nivel (basado en tablas o clases de conflicto) es probable que conduzca a muchos abortos. Así, con el objetivo de que el control de concurrencia resulte atractivo, los conflictos deberían ser detectados a nivel de tupla. Para este propósito necesitamos transacciones reflexivas Writesets Para ser capaz de realizar la replicación asimétrica, el meta-modelo necesita ser capaz de obtener el writeset de una transacción desde el nivel base y aplicarlo. La primera petición requiere reificación, la segunda intercesión. El writeset contiene las tuplas actualizadas/insertadas/borradas identificadas mediante la clave primaria. La meta-interfaz puede adoptar tres formas diferentes. La primera forma proporciona los writeset como una caja negra (black box). En este caso, el writeset solo puede ser usado para propagar los cambios y aplicarlos en las diferentes réplicas a través de la meta-interfaz. La segunda forma consiste en un writeset reflexivo proporcionando una interfaz

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

Arquitecturas de Bases de Datos. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Arquitecturas de Bases de Datos. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Arquitectura Centralizada 3 Arquitectura Cliente-Servidor 4 Arquitecturas Paralelas 5 Bases de Datos Distribuidas Introducción

Más detalles

Soluciones de Replicación en PostgreSQL 9.1

Soluciones de Replicación en PostgreSQL 9.1 Soluciones de Replicación en PostgreSQL 9.1 Objetivo Definir de forma simple y sintética algunos conceptos vinculados con la replicación. Introducir al alumno a la comprensión de las distintas técnicas

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

Sybase IQ Servidor analítico con arquitectura basada en columnas

Sybase IQ Servidor analítico con arquitectura basada en columnas Sybase IQ Servidor analítico con arquitectura basada en columnas www.sybase.es Sybase IQ Descripción Tener acceso a toda la información de que dispone su organización, con el fin de analizarla no es hoy

Más detalles

INTRODUCCION A LOS SGBD

INTRODUCCION A LOS SGBD Parte Primera: INTRODUCCION A LOS SGBD Sistemas de Gestión de Bases de Datos Tabla Tabla Type Fila Tabla Type Fila Tabla text Fila Type Fila Fila text Type Fila Tabla Tabla Fila text Fila text Fila Fila

Más detalles

Identificación rápida de cuellos de botella: Una mejor manera de realizar pruebas de carga. Documento técnico de Oracle Junio de 2009

Identificación rápida de cuellos de botella: Una mejor manera de realizar pruebas de carga. Documento técnico de Oracle Junio de 2009 Identificación rápida de cuellos de botella: Una mejor manera de realizar pruebas de carga Documento técnico de Oracle Junio de 2009 Identificación rápida de cuellos de botella: Una mejor manera de realizar

Más detalles

BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS

BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS 5.1 Clasificación de fallas El sistema debe estar preparado para recuperarse no sólo de fallas puramente locales, como la aparición de una condición de desborde

Más detalles

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida 9.1 Operaciones CAPITULO 9 Diseño de una Base de Datos Relacional Distribuida Las consultas distribuidas obtienen acceso a datos de varios orígenes de datos homogéneos o heterogéneos. Estos orígenes de

Más detalles

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE Qué es una base de datos? Una base de datos es una herramienta para recopilar y organizar información. En las bases de datos, se puede almacenar información sobre personas, productos, pedidos, o cualquier

Más detalles

Tema 1. Arquitectura Cliente/Servidor

Tema 1. Arquitectura Cliente/Servidor Tema 1. Arquitectura Cliente/Servidor SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs 27 de septiembre de 2009 FJRP, FMBR [sistemas cliente-servidor] CCIA 1.1 Sistemas

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

ES 2 331 039 A1 G06F 17/40 (2006.01) H04L 29/08 (2006.01) OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA. 11 Número de publicación: 2 331 039

ES 2 331 039 A1 G06F 17/40 (2006.01) H04L 29/08 (2006.01) OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA. 11 Número de publicación: 2 331 039 19 OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA 11 Número de publicación: 2 331 039 21 Número de solicitud: 07037 1 Int. Cl.: G06F 17/ (06.01) H04L 29/08 (06.01) 12 SOLICITUD DE PATENTE A1 22 Fecha de

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce

Más detalles

Ventajas, Características y Aplicaciones de los SGBD Distribuidos.

Ventajas, Características y Aplicaciones de los SGBD Distribuidos. Ventajas, Características y Aplicaciones de los SGBD Distribuidos. Definición Un SBD Distribuido se compone de un conjunto de sitios, conectados entre sí mediante algún tipo de red de comunicaciones, en

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

Tema 1. Conceptos básicos

Tema 1. Conceptos básicos Conceptos básicos Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos 1

Más detalles

serra Access y SQL Server Qué es mejor en cada caso? Valentín Playá, Serra GTS 22 de enero de 2009 Bases de datos 1

serra Access y SQL Server Qué es mejor en cada caso? Valentín Playá, Serra GTS 22 de enero de 2009 Bases de datos 1 Access y SQL Server Qué es mejor en cada caso? Valentín Playá, Serra GTS 22 de enero de 2009 Bases de datos 1 Bases de datos en una organización Distintas necesidades según el tipo de solución Ninguna

Más detalles

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas SGBD Base de Un Sistema Gestor de consiste en: Datos Una colección de datos interrelacionados Un conjunto de programas para acceder a los datos Objetivo Principal de un SGBD: Proporcionar una forma práctica

Más detalles

1.264 Tema 8. SQL (cont.) ODBC

1.264 Tema 8. SQL (cont.) ODBC 1.264 Tema 8 SQL (cont.) ODBC Subconsultas Las subconsultas de SQL nos permiten utilizar los resultados de una consulta como parte de otra. Subconsultas: A menudo, constituyen un modo natural de escribir

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica.

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica. RAID Como se dijo anteriormente, el ritmo de mejora de prestaciones en memoria secundaria ha sido considerablemente menor que en procesadores y en memoria principal. Esta desigualdad ha hecho, quizás,

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

Más detalles

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas Unidad I Fundamentos de Sistemas Distribuidos M.C. Juan Carlos Olivares Rojas Temario 1.1. Características de un sistema distribuido 1.2. Objetivos de los sistemas distribuidos 1.3. Ventajas y desventajas

Más detalles

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en

Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en 15/05/2012 1 Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en aplicaciones informáticas en 1975. 2 Como

Más detalles

las necesitan. Estos índices deben de ser administrados y revisados por lo menos cada tres meses para que los índices no sean un problema.

las necesitan. Estos índices deben de ser administrados y revisados por lo menos cada tres meses para que los índices no sean un problema. CAPÍTULO IV RESUMEN En este capítulo daremos a conocer como es el funcionamiento de las diferentes bases de datos que la aplicación tiene en uso, esto es el caso de las bases de datos EASY y PL, estas

Más detalles

Clase 1: Estructuras, Procesos y Diccionario de Datos

Clase 1: Estructuras, Procesos y Diccionario de Datos Clase 1: Estructuras, Procesos y Diccionario de Datos Estructura de la memoria System Global Area Buffer Cache Redo Log Buffer Share Pool Dictionary Cache Large Pool Process Global Area Private SQL Area

Más detalles

Estació d'usuari. Tipologia, gestión automatizada. Licencia. Tipología. Criterios de análisis. Índice de contenido

Estació d'usuari. Tipologia, gestión automatizada. Licencia. Tipología. Criterios de análisis. Índice de contenido Estació d'usuari. Tipologia, gestión automatizada Índice de contenido Estació d'usuari. Tipologia, gestión automatizada...1 Licencia...1 Tipología...1 Criterios de análisis...1 Análisis de cada tipo...3

Más detalles

Concepto de Procesamiento Distribuido y Centralizado

Concepto de Procesamiento Distribuido y Centralizado Concepto de Procesamiento Distribuido y Centralizado Procesamiento Centralizado: En la década de los años 50 s las computadoras eran máquinas del tamaño de todo un cuarto con las siguientes características:

Más detalles

CAPÍTULO 3. Bases de datos distribuidas

CAPÍTULO 3. Bases de datos distribuidas CAPÍTULO 3 Bases de datos distribuidas La cantidad de innovaciones tecnológicas que se ha dado en las últimas décadas ha promovido cambios en la forma de observar los sistemas de información y, en general,

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

GESTION DE TRANSACCIONES

GESTION DE TRANSACCIONES GESTION DE TRANSACCIONES Recuperación ante Fallos Control de Concurrencia Esquema de la Clase Concepto de transacción Propiedades y estados de una transacción Estructura de almacenamiento Acceso a los

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

Revisión de conceptos de bases de datos

Revisión de conceptos de bases de datos 1 Revisión de conceptos de bases de datos Objetivos del capítulo 44 Instalar el servidor MySQL. 44 Conocer las opciones de configuración de MySQL. 44 Optimizar el funcionamiento de MySQL. 44 Monitorizar

Más detalles

Programa de la asignatura Curso: 2006 / 2007 ADMINISTRACIÓN DE BASES DE DATOS (1311)

Programa de la asignatura Curso: 2006 / 2007 ADMINISTRACIÓN DE BASES DE DATOS (1311) Programa de la asignatura Curso: 2006 / 2007 ADMINISTRACIÓN DE BASES DE DATOS (1311) PROFESORADO Profesor/es: RUBÉN COBOS POMARES - correo-e: rcobos@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA TÉCNICA

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

Guías técnicas Grupo Danysoft: InterBase para programadores Delphi

Guías técnicas Grupo Danysoft: InterBase para programadores Delphi Guías técnicas Grupo Danysoft: InterBase para programadores Delphi Por Pablo Reyes Equipo Grupo Danysoft febrero de 2002 - (902) 123146 www.danysoft.com Este documento se ha realizado utilizando Doc-To-Help,

Más detalles

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13

ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13 ÍNDICE CAPÍTULO 1. TIPOS DE ALMACENAMIENTO DE LA INFORMACIÓN... 13 1.1 SISTEMAS LÓGICOS DE ALMACENAMIENTO DE LA INFORMACIÓN...13 1.2 ALMACENAMIENTO EN FICHEROS...13 1.2.1 Registros físicos y registros

Más detalles

TIPOS DE SISTEMAS OPERATIVOS

TIPOS DE SISTEMAS OPERATIVOS TIPOS DE SISTEMAS OPERATIVOS En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura

Más detalles

Facultad de Sistemas e Informática

Facultad de Sistemas e Informática Escuela Politécnica del Ejército Sede Latacunga Facultad de Sistemas e Informática Galarza Maira Tapia Cevallos Paulina DESARROLLO DE APLICACIONES DISTRIBUIDAS UTILIZANDO PATRONES DE DISEÑO MODELO/VISTA

Más detalles

51 Int. CI.: G06F 17/30 (2006.01) H04L 29/08 (2006.01) TRADUCCIÓN DE PATENTE EUROPEA

51 Int. CI.: G06F 17/30 (2006.01) H04L 29/08 (2006.01) TRADUCCIÓN DE PATENTE EUROPEA 19 OFICINA ESPAÑOLA DE PATENTES Y MARCAS ESPAÑA 11 Número de publicación: 2 00 140 1 Int. CI.: G06F 17/30 (06.01) H04L 29/08 (06.01) 12 TRADUCCIÓN DE PATENTE EUROPEA T3 96 Fecha de presentación y número

Más detalles

BASE DE DATOS Actividad No. 1. Docente Jaider Quintero M. Estudiante Oscar Fuenmayor S.

BASE DE DATOS Actividad No. 1. Docente Jaider Quintero M. Estudiante Oscar Fuenmayor S. BASE DE DATOS Actividad No. 1 Docente Jaider Quintero M. Estudiante Oscar Fuenmayor S. UNIVERSIDAD DE LA GUAJIRA FACULTAD DE CIENCIAS ADMINISTRATIVAS Y ECONOMICAS PROGRAMA DE CONTADURIA PÚBLICA Agosto

Más detalles

Seguridad, Web y Java

Seguridad, Web y Java 2 Seguridad, Web y Java Seguridad, Web y Java Daniel López Janáriz d.lopez@uib.es Seguridad, Web y Java 3 1. Introducción: Puntos a tener en cuenta cuando hablamos de seguridad La seguridad al 100% no

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Bases de Datos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos básicos y terminología de las bases de

Más detalles

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Índice de Contenidos

Índice de Contenidos Índice de Contenidos INTRODUCCIÓN Definición del problema Justificación Objetivos Generales Específicos Hipótesis I I III VI VI VI VII CAPITULO I 1 1. Introducción a las Bases de Datos Distribuidas 1 1.1.

Más detalles

PRÁCTICA 12. Niveles RAID. 12.1. Meta. 12.2. Objetivos. 12.3. Desarrollo

PRÁCTICA 12. Niveles RAID. 12.1. Meta. 12.2. Objetivos. 12.3. Desarrollo PRÁCTICA 12 Niveles RAID 12.1. Meta Que el alumno comprenda la importancia que tiene la implementación de los niveles RAID en un SMBD así como todos los beneficios que aporta esto. 12.2. Objetivos Al finalizar

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Introducción... XIII Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Novedades y mejoras en SQL Server 2008 R2... 1 Novedades... 1 Mejoras... 3 Ediciones y componentes en SQL Server

Más detalles

CI Politécnico Estella

CI Politécnico Estella SÍNTESIS DE LA PROGRAMACIÓN DEL MÓDULO/ASIGNATURA DEPARTAMENTO: INFORMÁTICA GRUPO/CURSO: 2º ASIR 2015-2016 MÓDULO: 10 ASGBD (Administración de Sistemas Gestores de Bases de Datos) PROFESOR: JULIA SEVILLA

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

:Arquitecturas Paralela basada en clusters.

:Arquitecturas Paralela basada en clusters. Computación de altas prestaciones: Arquitecturas basadas en clusters Sesión n 1 :Arquitecturas Paralela basada en clusters. Jose Luis Bosque 1 Introducción Computación de altas prestaciones: resolver problemas

Más detalles

WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS

WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS Autores: Introducción Diego R. López RedIRIS diego.lopez@rediris.es El trabajo necesario para mantener un servidor de información

Más detalles

HISTORIA DE LAS B.D.

HISTORIA DE LAS B.D. BASE DE DATOS HISTORIA DE LAS B.D. Tuvieron sus orígenes en 1960-1962, cuando se empezaron a usar las maquinas que codificaban la información en tarjetas perforadas por medio de agujeros. Las bases de

Más detalles

Tema 1: Introducción a la gestión y planificación de redes

Tema 1: Introducción a la gestión y planificación de redes Tema 1: Introducción a la gestión y planificación de redes 1. Introducción general 2. Objetivos de la gestión de redes 3. Objetivos de la planificación de redes 4. Sistemas de gestión de red Gestión de

Más detalles

INTEGRACIÓN DE SISTEMAS HEREDADOS

INTEGRACIÓN DE SISTEMAS HEREDADOS CAPÍTULO 2 INTEGRACIÓN DE SISTEMAS HEREDADOS En el presente capítulo, se presenta el problema de integración de sistemas de Software. Una de cuyas características es la presencia de los llamados Sistemas

Más detalles

Tema 6. Transacciones y seguridad

Tema 6. Transacciones y seguridad Tema 6. Transacciones y seguridad Las aplicaciones de bases de datos a gran escala, con bases de datos de gran tamaño y con cientos de usuarios concurrentes, como los sistemas de reservas, los bancos,

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

Arquitectura software EN-HORA

Arquitectura software EN-HORA Arquitectura de en:hora Arquitectura software EN-HORA en:hora es un software de control de acceso y presencia con una arquitectura modular. El software se implementa mediante un conjunto de componentes

Más detalles

Vicente Toledo Israel Miralles. Base de Datos Distribuidas

Vicente Toledo Israel Miralles. Base de Datos Distribuidas Bases de Datos Distribuidas Vicente Toledo Israel Miralles Pg-1 Indice 1. - Que son Bases de Datos Distribuidas? Pg-3 1. -Comparación Pg-3 2. -Arquitectura de las Bases de Datos Pg-4 1. -Ejemplo de una

Más detalles

BASE DE DATOS Heterogéneas

BASE DE DATOS Heterogéneas Arquitecturas de los sistemas de base de datos: La arquitectura de un sistema de bases de datos está influida en gran medida por el sistema informático subyacente en el que se ejecuta, en concreto por

Más detalles

Introducción a las bases de datos

Introducción a las bases de datos Introducción a las bases de datos Juan Ignacio Rodríguez de León Abstract Aplicaciones de los sistemas de bases de datos. Sistemas de bases de datos frente a sistemas de archivos. Visión de los datos.

Más detalles

Programa de la asignatura Curso: 2008 / 2009 ADMINISTRACIÓN DE BASES DE DATOS (1311)

Programa de la asignatura Curso: 2008 / 2009 ADMINISTRACIÓN DE BASES DE DATOS (1311) Programa de la asignatura Curso: 2008 / 2009 ADMINISTRACIÓN DE BASES DE DATOS (1311) PROFESORADO Profesor/es: RUBÉN COBOS POMARES - correo-e: rcobos@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA TÉCNICA

Más detalles

ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES CUALIFICACIÓN PROFESIONAL

ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES CUALIFICACIÓN PROFESIONAL Página 1 de 23 CUALIFICACIÓN PROFESIONAL Familia Profesional Nivel 3 Código IFC363_3 Versión 5 Situación RD 1701/2007 Actualización ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS

Más detalles

WHITE PAPER. Proteger sus servidores virtuales con Acronis True Image

WHITE PAPER. Proteger sus servidores virtuales con Acronis True Image Proteger sus servidores virtuales con Acronis True Image Copyright Acronis, Inc., 2000 2008 Las organizaciones dedicadas a la TI han descubierto que la tecnología de virtualización puede simplificar la

Más detalles

REPORTE OFICIAL OCTUBRE DE 2014. CA Unified Infrastructure Management para servidores

REPORTE OFICIAL OCTUBRE DE 2014. CA Unified Infrastructure Management para servidores REPORTE OFICIAL OCTUBRE DE 2014 CA Unified Infrastructure Management para servidores 2 Reporte oficial: CA Unified Infrastructure Management para servidores Tabla de contenidos Descripción general de la

Más detalles

Planos de ejecución en Velneo V7

Planos de ejecución en Velneo V7 Planos de ejecución en Velneo V7 Por Jesús Arboleya Introducción 3 Arquitectura Cliente/Servidor 4 1. Objetos que siempre se ejecutan en el servidor 5 2. Objetos que siempre se ejecutan en el cliente 6

Más detalles

2.1 Compuertas para Bases de Datos

2.1 Compuertas para Bases de Datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Uno de los aspectos mas importantes en un sistema multibase de datos es la forma en como llevar a cabo la comunicación

Más detalles

Unidad IV: Operación y mantenibilidad 4.1 Bitácoras de trabajo del DBMS

Unidad IV: Operación y mantenibilidad 4.1 Bitácoras de trabajo del DBMS Unidad IV: Operación y mantenibilidad 4.1 Bitácoras de trabajo del DBMS En caso de que sea multiusuario existen muchas ventajas adicionales, donde la BD es con toda probabilidad mucho más grande y compleja.

Más detalles

Memoria Virtual. Figura 1: Memoria Virtual

Memoria Virtual. Figura 1: Memoria Virtual 1 Memoria Virtual. Qué podemos hacer si un programa es demasiado grande para caber en la memoria disponible? Una posibilidad es usar superposiciones (overlays), como en MS-DOS: dividimos el programa en

Más detalles

GRID COMPUTING MALLA DE ORDENADORES

GRID COMPUTING MALLA DE ORDENADORES GRID COMPUTING MALLA DE ORDENADORES Introducción Concepto Compartir potencia computacional; Aprovechamiento de ciclos de procesamiento; El Grid Computing se enmarca dentro de la tecnología de computación

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

D E S C R I P C I Ó N

D E S C R I P C I Ó N ADAPTOR pertenece a la nueva generación en herramientas de Integración de Sistemas (EAI) fuertemente inspirada en el paradigma SOA y capaz de funcionar en un bus de servicios (ESB), es la forma más eficiente

Más detalles

PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS

PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS Introducción 3 GESTIÓN DE MEMORIA 3 Memoria Dinámica 4 Memoria predefinida 5 Áreas especiales de memoria 5 GESTIÓN DE ALMACENAMIENTO

Más detalles

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador Prefacio 1. Objetivos de este libro 13 2. Principales temas tratados en este libro 13 3. A quién va dirigido este libro? 14 4. Requisitos 14 Introducción a MySQL 1. Introducción a las bases de datos relacionales

Más detalles

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO TSU EN INFORMÁTICA MATERIA: BASES DE DATOS II AUTOR: M. C. Carlos Alfonso Gámez Carrillo

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO TSU EN INFORMÁTICA MATERIA: BASES DE DATOS II AUTOR: M. C. Carlos Alfonso Gámez Carrillo UNIVERSIDAD TECNOLOGICA DE HERMOSILLO TSU EN INFORMÁTICA MATERIA: BASES DE DATOS II AUTOR: M. C. Carlos Alfonso Gámez Carrillo Introducción. El presente documento es una recopilación de conceptos para

Más detalles

10776 Developing Microsoft SQL Server 2012 Databases

10776 Developing Microsoft SQL Server 2012 Databases 10776 Developing Microsoft SQL Server 2012 Databases Introducción Este curso de cinco días impartido por instructor introduce a SQL Server 2012 y describe diseño lógico, indexación, y planes de consulta.

Más detalles

Introducción. Bases de Datos Distribuidas. Características de las BDD. Introducción (II) Tema VI. Sitio BDD. BD local

Introducción. Bases de Datos Distribuidas. Características de las BDD. Introducción (II) Tema VI. Sitio BDD. BD local Introducción Tema VI Bases de Datos Distribuidas BDD Sistema de sitios DB por sí misma Convienen en trabajar juntos Sitio BDD Usuarios locales SGBD local Programas control transacciones BD local Administr.

Más detalles

Modelar, documentar, discutir, versionar, difundir, capacitar DESCRIPCIÓN TÉCNICA

Modelar, documentar, discutir, versionar, difundir, capacitar DESCRIPCIÓN TÉCNICA Sistema para Gestión de Conocimiento Modelar, documentar, discutir, versionar, difundir, capacitar DESCRIPCIÓN TÉCNICA Contenido Introducción... 3 Antecedentes... 4 Ediciones... 4 Empresarial... 4 Personal...

Más detalles

Diseño de una plataforma para la gestión de datos abiertos

Diseño de una plataforma para la gestión de datos abiertos Universitat Politècnica de Catalunya. Luis Edgar. TFG Diseño de una plataforma para la gestión de datos abiertos. 1 Diseño de una plataforma para la gestión de datos abiertos Luis, Edgar. edgar.luis@estudiant.upc.edu

Más detalles

SOFTWARE DE GESTIÓN DE MANTENIMIENTO

SOFTWARE DE GESTIÓN DE MANTENIMIENTO SOFTWARE DE GESTIÓN DE MANTENIMIENTO INTRODUCCIÓN El Mantenimiento Preventivo es una actividad que cada día es más reconocida y aceptada para asegurar una continuidad operativa, reduciendo al mínimo los

Más detalles

LAB2. Jerarquía de Memoria. Laboratorio de Arquitectura e Ingeniería de Computadores. Valentin Puente. Revisión 1.1: 02-Marzo-2010

LAB2. Jerarquía de Memoria. Laboratorio de Arquitectura e Ingeniería de Computadores. Valentin Puente. Revisión 1.1: 02-Marzo-2010 Jerarquía de Memoria Laboratorio de Arquitectura e Ingeniería de Computadores Valentin Puente 10 Revisión 1.1: 02-Marzo-2010 1 INTRODUCCIÓN Y OBJETIVOS El objetivo fundamental de esta práctica es poner

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2 Conceptos clave de un sistema operativo. 1.3 El sistema operativo como administrador

Más detalles

BROWSERSQL VERSIÓN 3.1 TUTORIAL

BROWSERSQL VERSIÓN 3.1 TUTORIAL TUTORIAL LAURA NOUSSAN LETTRY (MENDOZA, ARGENTINA 2011) ÍNDICE CONTENIDOS PÁGINA Introducción 2 Características Funcionales 2 Área de Conexión 3 Área de Ejecución de Sentencias 4 En qué se basa su funcionamiento

Más detalles

Acoplamiento e interoperabilidad

Acoplamiento e interoperabilidad Máster Universitario en Ingeniería Informá3ca Acoplamiento e interoperabilidad Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 Acoplamiento débil Tipos de acoplamiento Cabalgando el

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Bases de Datos Distribuidas: Arquitectura Cliente/Servidor

Bases de Datos Distribuidas: Arquitectura Cliente/Servidor Bases de Datos Distribuidas: Arquitectura Cliente/Servidor Instituto Tecnológico Superior de los Ríos Ing. en Sistemas Computacionales 30 de enero de 2012 Bases de Datos Distribuidas:Arquitectura Cliente/Servidor

Más detalles

Auditoría de un PC con el pograma Aida32(ahora se llama EVEREST)

Auditoría de un PC con el pograma Aida32(ahora se llama EVEREST) Auditoría de un PC con el pograma Aida32(ahora se llama EVEREST) Cuando hablamos de auditoría lo primero que nos viene a la cabeza es una pregunta: por qué necesito auditar un ordenador? Son varios los

Más detalles

PROGRAMA FORMATIVO. Administración de Bases de Datos Oracle

PROGRAMA FORMATIVO. Administración de Bases de Datos Oracle PROGRAMA FORMATIVO Administración de Bases de Datos Oracle MÓDULOS FORMATIVOS Módulo nº 1 ORACLE DATABASE: TALLER DE ADMINISTRACIÓN Al finalizar este módulo los alumnos podrán instalar, configurar, controlar,

Más detalles

Topologías de hardware de almacenamiento de datos. Administración de recursos Ing. En sistemas de Información FRBA -UTN -ARGENTINA 2010

Topologías de hardware de almacenamiento de datos. Administración de recursos Ing. En sistemas de Información FRBA -UTN -ARGENTINA 2010 Topologías de hardware de almacenamiento de datos Administración de recursos Ing. En sistemas de Información FRBA -UTN -ARGENTINA 2010 Evolución de los sistemas de almacenamiento corporativos: Disco locales

Más detalles

Postgrado en Administración de Bases de Datos: SGBD, SQL

Postgrado en Administración de Bases de Datos: SGBD, SQL Postgrado en Administración de Bases de Datos: SGBD, SQL TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Postgrado en Administración de Bases de

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

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 Por qué es Necesario Implementar un ERP? Las tendencias actuales y futuras están obligando a las empresas a aumentar su competitividad, por lo que

Más detalles

SQL Server Reporting Services 2000 y 2005

SQL Server Reporting Services 2000 y 2005 SQL Server Reporting Services 2000 y 2005 Este artículo presenta SQL Server Reporting Services. Se presentan primero las funcionalidades de la primera versión de esta herramienta y después las mejoras

Más detalles

Práctica 5.1. Proyectos Access y SQL Server

Práctica 5.1. Proyectos Access y SQL Server Práctica 5.1. Proyectos Access y SQL Server 5.1.1. Introducción Desde la aparición de Microsoft Access 2000 es posible crear proyectos de Access. Los proyectos de Access ofrecen a los usuarios y programadores

Más detalles

7.1. ELEMENTOS DE SEGURIDAD. Capítulo 7

7.1. ELEMENTOS DE SEGURIDAD. Capítulo 7 Capítulo 7 La mejor forma de asegurar nuestro sistema Windows 8 cuando estamos utilizándolo es tomar parte en la seguridad del mismo de forma proactiva, interviniendo en ella con la importancia que merece.

Más detalles