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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. 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

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

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

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

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

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 4: Diseño de la solución basada en software. 4.1 Diseño general del sistema y especificaciones de los componentes

Capítulo 4: Diseño de la solución basada en software. 4.1 Diseño general del sistema y especificaciones de los componentes Capítulo 4: Diseño de la solución basada en software 4.1 Diseño general del sistema y especificaciones de los componentes El sistema constará de tres elementos fundamentales: los clientes, el punto de

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

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

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

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

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

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

Í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

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN 1. En el SGBD Oracle. Cuál de las siguientes afirmaciones es correcta? a) Los usuarios con el rol de administrador de la base de datos son SYS,

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

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

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

Manual de Usuario. Extractor Service. www.zktime.eu

Manual de Usuario. Extractor Service. www.zktime.eu Manual de Usuario www.zktime.eu INDICE Página Introducción 1 1. Primeros pasos 1 1.1 Instalación 1 1.2 Finalizando la instalación 2 2. Configuración 3 2.1 Configuración de base de datos 3 2.1.1 Configuración

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

Replicación de Datos en SQL Server... 3. Resumen... 3. 1. Introducción... 3. 2. Componentes del modelo de replicación... 3

Replicación de Datos en SQL Server... 3. Resumen... 3. 1. Introducción... 3. 2. Componentes del modelo de replicación... 3 REPLICACIÓN DE DATOS EN SQL SERVER CONTENIDO Replicación de Datos en SQL Server... 3 Resumen... 3 1. Introducción... 3 2. Componentes del modelo de replicación... 3 3. Escenarios típicos de la replicación...

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional 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 modelar problemas reales y administrar

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

Arquitectura y seguridad

Arquitectura y seguridad En el desarrollo del SIGOB nos hemos enfrentado a diversos problemas que nos han llevado a investigar y desarrollar nuestras propias tecnologías. En este documento presentamos cada uno de los desarrollos

Más detalles

Asignación de Procesadores

Asignación de Procesadores INTEGRANTES: Asignación de Procesadores Un sistema distribuido consta de varios procesadores. Estos se pueden organizar como colección de estaciones de trabajo personales, una pila pública de procesadores

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

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

República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción

República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción Dato: Hecho o valor a partir del cual se puede inferir una conclusión.

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

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

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

5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$

5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$ 5(&83(5$&,Ð1'(&$Ì'$6'(/6,67(0$ Siempre que se introduce una transacción T en el SGBD para ejecutarla, éste debe asegurarse de... a) que todas las operaciones de T se completen con éxito y su efecto quede

Más detalles

Bases de Datos Distribuidas

Bases de Datos Distribuidas Bases de Datos Distribuidas Sistemas de Bases de Datos Distribuidas Un Sistema de Bases de Datos Distribuidas (SBDD) es un conjunto de sitios (servidores) débilmente acoplados y que no comparten componentes

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

Í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

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

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Estructura de contenidos.

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

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

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

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

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

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

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

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos

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

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

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

Módulo 9: Gestión y tratamiento de los riesgos. Selección de los controles

Módulo 9: Gestión y tratamiento de los riesgos. Selección de los controles Módulo 9: Gestión y tratamiento de los riesgos. Selección de los controles Este apartado describirá en qué consiste la gestión de riesgos, cómo se deben escoger los controles, se darán recomendaciones

Más detalles

Índice de contenido. Manual de administración de hospedaje para administradores de dominios

Índice de contenido. Manual de administración de hospedaje para administradores de dominios Índice de contenido 1. Webmin...2 1.1 Cambio de idioma y tema...2 2. Otros...3 2.1 Cargas y descargas...3 2.2 Conexión Telnet / SSH...4 2.3 Directorios Web Protegidos...5 2.4 Administrador de archivos...6

Más detalles

Transacciones y bloqueos en SQL-Server

Transacciones y bloqueos en SQL-Server Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos

Más detalles

Introducción al Interfaz MES

Introducción al Interfaz MES Introducción al Interfaz MES HMI GOT1000 PLC MELSEC-Q Temas relacionados con la gestión de ficheros de datos Compartición de Datos Relación entre múltiples necesidades de datos a ser procesados por una

Más detalles

Redes de Almacenamiento

Redes de Almacenamiento Redes de Almacenamiento Las redes de respaldo o backend se utilizan para interconectar grandes sistemas tales como computadores centrales y dispositivos de almacenamiento masivo, el requisito principal

Más detalles

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM Estructura de una BD Oracle. Una BD Oracle tiene una estructura física y una estructura lógica que se mantienen separadamente. La estructura física se corresponde a los ficheros del sistema operativo:

Más detalles

RAID 0 : No redundante

RAID 0 : No redundante RAID ECP RAID RAID - Redundant Array of Independent Discs, 1987 Combinar varios discos, pequeños y baratos, en un sólo dispositivo lógico de disco y distribuir los datos a través de las unidades físicas

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Guía Rápida de Inicio

Guía Rápida de Inicio Guía Rápida de Inicio 1. Acerca de esta Guía Esta guía le ayudará a instalar y dar los primeros pasos con BitDefender Security for Mail Servers. Para disponer de instrucciones detalladas, por favor, diríjase

Más detalles

CAPÍTULO VI. RESULTADOS, PRUEBAS Y CONCLUSIONES DE LA APLICACIÓN.

CAPÍTULO VI. RESULTADOS, PRUEBAS Y CONCLUSIONES DE LA APLICACIÓN. CAPÍTULO VI. RESULTADOS, PRUEBAS Y CONCLUSIONES DE LA APLICACIÓN. Finalmente en este último capítulo se conocen los resultados, las pruebas y las conclusiones finales de la aplicación Web para el monitoreo

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

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11 Laboratorio 06. Objetivos: Representación interna de un BD. Tablas, índices e índices full-text. Sesiones: 1 (24 de noviembre de 2010) Ejercicio: 1. Representación interna: 1.1. Copiar al repositorio de

Más detalles

UNIVERSIDAD ESTATAL DE MILAGRO

UNIVERSIDAD ESTATAL DE MILAGRO UNIVERSIDAD ESTATAL DE MILAGRO TRABAJO DE INVESTIGACION DE BASE DE DATOS TEMA: SISTEMAS DISTRIBUIDOS NOMBRE: ANGEL SAUL NOBOA BARRENO PROFESOR: ING. RICHARD RAMIREZ CURSO: 6 To SEMESTRE C SISTEMAS DISTRIBUIDOS

Más detalles

Bases de Datos I. Cursada 2008. Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad

Bases de Datos I. Cursada 2008. Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad Bases de Datos I Cursada 2008 Clase 7: Recuperación de BD Facultad de Ciencias Exactas Universidad Nac. Centro de la Pcia. de Bs. As. 1 Introducción a la Seguridad Una base de datos es: Un conjunto de

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

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

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT) MANUAL DE AYUDA MODULO SAT (Anexo Integración AGIL SAT) Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS 1 INTRODUCCION... 3 1.1 Objetivo... 3 1.2 Descripción de la aplicación Agil-SAT PDA... 3 1.3

Más detalles

HelpDesk Ficha de producto

HelpDesk Ficha de producto HelpDesk Ficha de producto Artologik HelpDesk es un programa de soporte y gestión de incidencias efectivo y fácil de usar. Artologik HelpDesk le permite gestionar eficazmente el soporte interno y externo

Más detalles

Datacycle Reporting Guía de Instalación. Versión 8.1

Datacycle Reporting Guía de Instalación. Versión 8.1 Datacycle Reporting Guía de Instalación Versión 8.1 A P E S O F T Guía de instalación y actualización DataCycle Reporting ApeSoft Parc Tecnològic del Vallès Tel: 93 5820258 www.apesoft.com Índice INTRODUCCIÓN...4

Más detalles

SICAN. Informe Funcional

SICAN. Informe Funcional SICAN. Informe Funcional Información Avanzada Informe Funcional. SICAN Página 1 Sumario Introducción... 5 Esquema de Datos, Comunicaciones y Accesos... 6 Distribución de Opciones de Menú... 8 Configuración

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

ESPECIALISTA EN BASE DE DATOS

ESPECIALISTA EN BASE DE DATOS ESPECIALISTA EN BASE DE DATOS EXPERTO ANALISIS Y DISEÑO DE BASE DE DATOS EN MANEJAR BASES DE ACCESS COMPLETO DATOS MYSQL Requisito: Manejo Windows POSTGRESQL DURACION: 3 MESES DE L-V SQL SERVER Cliente-Administración

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

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

TEMA 5 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 5. CONFIABILIDAD

TEMA 5 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 5. CONFIABILIDAD 1 1 BASES DE DATOS DISTRIBUIDAS TEMA 5 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 5. CONFIABILIDAD 5.1 Conceptos básicos de confiabilidad 5.2 Protocolos Redo - Undo 5.3 Puntos de verificación - checkpoints

Más detalles

Components & Connectors Viewtype. Estilos

Components & Connectors Viewtype. Estilos Components & Connectors Viewtype Estilos 1 Estilos Especializan el C&C viewtype introduciendo tipos de componente y conector a los cuales pertenecerán las instancias del modelo Especifican patrones de

Más detalles

General Parallel File System

General Parallel File System General Parallel File System Introducción GPFS fue desarrollado por IBM, es un sistema que permite a los usuarios compartir el acceso a datos que están dispersos en múltiples nodos; permite interacció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

INTRODUCCION A LAS BASES DE DATOS ESPACIALES

INTRODUCCION A LAS BASES DE DATOS ESPACIALES INTRODUCCION A LAS BASES DE DATOS ESPACIALES Índice Introducción Qué es un SIG? Arquitectura de un SIG La información n en un SIG Uso y aplicación n de los SIG Bases de datos Introducción Antecedentes:

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

Los autores del presente documento lo ha publicado bajo las condiciones que especifica la licencia

Los autores del presente documento lo ha publicado bajo las condiciones que especifica la licencia Los autores del presente documento lo ha publicado bajo las condiciones que especifica la licencia Creative Commons Attribution-NonCommercial-ShareAlike 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/

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

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

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

IMPLEMENTACION DE SISTEMAS DE INFORMACION CONTABLE

IMPLEMENTACION DE SISTEMAS DE INFORMACION CONTABLE IMPLEMENTACION DE SISTEMAS DE INFORMACION CONTABLE OBJETIVO: Obtener los conocimientos necesarios para realizar implementación de sistemas contables CICLO DE VIDA DE UN SISTEMA DE INFORMACION MANTENIMIENTO

Más detalles