ES2395205T3 - Procedimiento y aparato para replicar una base de datos - Google Patents
Procedimiento y aparato para replicar una base de datos Download PDFInfo
- Publication number
- ES2395205T3 ES2395205T3 ES10179745T ES10179745T ES2395205T3 ES 2395205 T3 ES2395205 T3 ES 2395205T3 ES 10179745 T ES10179745 T ES 10179745T ES 10179745 T ES10179745 T ES 10179745T ES 2395205 T3 ES2395205 T3 ES 2395205T3
- Authority
- ES
- Spain
- Prior art keywords
- database
- serialization
- journal entries
- processing
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Un procedimiento de réplica de una base de datos para replicar datos desde un sistema de origen (1) a unsistema objetivo (6) que comprende las etapas de:i) recepción (7) de las entradas del diario desde el sistema de origen (1) en el sistema objetivo (6) donde cadauna de las entradas del diario está asociada con un objeto de la base de datos que identifica una tabla de labase de datos que tiene una o más filas a actualizar, en donde el procedimiento está caracterizado por:ii) extracción de la información de procesamiento desde una base de datos de asignación donde la informaciónde procesamiento determina si los objetos de la base de datos necesitan agruparse con otros objetos de la basede datos,iii) procesamiento de las entradas del diario de acuerdo con la información de procesamiento extraída por a) laidentificación del grupo de serialización (8) asociado con el objeto de la base de datos y b) la asignación de lasentradas del diario al grupo de serialización identificado (8) en base a la información de procesamiento en labase de datos de asignación, en donde las entradas del diario del mismo tipo o relacionados con otras entradasdel diario se procesan en el mismo grupo de serialización (8) yiv) el procesamiento de los grupos de serialización (8) con las entradas del diario asignadas en paralelo parareplicar los datos desde el sistema de origen (1).
Description
Procedimiento y aparato para replicar una base de datos
Campo de la invención
La presente invención se refiere a un procedimiento y un aparato para el procesamiento de datos. Más particularmente, pero no exclusivamente, la invención se refiere a un procedimiento y un aparato para replicar una base de datos
Antecedentes de la invención
En un número de aplicaciones de procesamiento de datos se deben procesar fragmentos de datos enviados desde un sistema de origen dentro de un formato de datos requerido sobre un sistema objetivo.
En muchos casos se desea replicar una base de datos sobre un sistema de ordenador objetivo a partir de una base de datos sobre un sistema de origen. Este procedimiento puede involucrar el envío de entradas del diario desde la base de datos de origen para permitir la actualización de la base de datos objetivo. Las bases de datos pueden consistir de una o más librerías, cada una de las cuales contiene uno o más ficheros, teniendo cada uno de los ficheros uno o más elementos. Cada uno de los elementos consiste de una tabla que tiene una o más filas. Una entrada del diario puede contener un identificador de la librería; archivo; elemento del archivo y una fila de los datos cambiados para el elemento del fichero. Esta entrada del diario se puede usar por el sistema de ordenador objetivo para actualizar su base de datos.
Es importante que las entradas de la base de datos desde una tabla determinada se actualicen en la secuencia correcta y que se actualicen los elementos interrelacionados en la secuencia correcta. Para asegurar que las entradas del diario se procesan adecuadamente el procedimiento de recepción del sistema de ordenador objetivo puede comparar un nombre de objeto (librería / fichero / elemento) con una base de datos de objetos almacenados sobre el sistema de ordenador objetivo. Cuando se localiza un objeto coincidente se puede usar el procesamiento de la información asociada con ese objeto para procesar la entrada del diario.
El enfoque tradicional ha sido transferir entradas del diario, almacenarlas y replicar la base de datos utilizando un dispositivo único. Este enfoque es lento y complejo.
El documento de la técnica anterior EP 0 420 425 A (INTERNATIONAL BUSINESS MACHINES CORPORATION) del 3 de abril de 1991 desvela un sistema de procesamiento de transacciones que incluye una base de datos activa primaria y una base de datos de réplica de seguimiento. El procesamiento de cambios de la base de datos de réplica se realiza separando los registros de reproceso obtenidos del registro de transacciones de la base de datos primaria en una pluralidad de colas respectivas. Los registros de reproceso se separan de tal modo que todos los registros de transacciones para una unidad de transferencia (página) de la base de datos primaria se colocan sobre la misma cola en la secuencia de registros. Cada una de las colas se enlaza exclusivamente con uno de la pluralidad de servidores de colas en paralelo. Cada uno de los servidores de colas aplica a la base de datos de réplica los registros de reproceso en las colas que sirve exclusivamente. La base de datos de réplica se realiza por lo tanto de forma consistente con los datos primarios por un mecanismo de actualización libre de bloqueos que da servicio a las páginas de la base de datos de réplica en paralelo.
Sería deseable para el sistema de réplicas de bases de datos cumplir con los siguientes requisitos:
- 1.
- Asegurar que las entradas del diario se ponen en serie por el elemento de la base de datos (en un mínimo), y por cualesquiera agrupamientos de usuarios especificados.
- 2.
- Soportar un número extremadamente grande de procesos de aplicación de la base de datos de modo que las I/O (entrada / salida) de la base de datos se puedan gestionar fácilmente.
- 3.
- Procesar las entradas del diario de modo que se minimice la cantidad de I/O del sistema (por ejemplo el paginado) entre el instante en el que se obtienen las entradas desde el diario y el instante en que se aplican a la base de datos de réplica.
- 4.
- Las funciones soportan cualquier tipo de paquetes de datos, no solo las entradas del diario, para permitir futuras extensiones a otros tipos de réplicas (por ejemplo, objetos, ficheros de flujo, etc.).
- 5.
- El sistema oculta la complejidad de las funciones de gestión de la memoria desde otros componentes.
Es un objeto de la presente invención proporcionar un procedimiento y un aparato para la réplica de información que cumple estos requisitos o al menos proporciona al público con una elección útil.
Revelación de la invención
De acuerdo con un primer aspecto de la invención se proporciona un procedimiento para replicar la información a partir de un sistema de origen en un sistema objetivo como se define en la reivindicación independiente 1.
De acuerdo con un aspecto adicional de la invención se proporciona un procedimiento como se define en las reivindicaciones dependientes.
Preferiblemente, el sistema de ordenador objetivo es un sistema de ordenador multi-procesador.
Breve descripción de los dibujos
La invención se describirá ahora a modo de ejemplo con referencia a los dibujos adjuntos en los que:
Figura 1: muestra un diagrama esquemático de un sistema de ordenador de origen que proporciona entradas del diario a un sistema de ordenador objetivo.
Figura 2: es un diagrama funcional que ilustra los procedimientos involucrados en la base de datos de réplica en un sistema de ordenador objetivo.
Figura 3: muestra el mapeo del espacio de almacenamiento dentro del sistema de ordenador objetivo.
Figura 4: muestra un diagrama de flujo que ilustra el procedimiento para la asignación de las entradas del diario a grupos de serialización.
Descripción detallada de la realización preferida
La siguiente descripción describe un procedimiento de réplica de una base de datos donde los sistemas de ordenador de origen y objetivo son ordenadores IBM AS/400 que operan bajo el sistema operativo OS/400. Se apreciará que el procedimiento es aplicable a otros sistemas con la modificación apropiada.
Refiriéndonos a la figura 1, el sistema de origen A contiene una base de datos primaria 1. La base de datos primaria 1 puede contener uno o más librerías. Cada una de las librerías puede contener uno o más ficheros. Cada uno de los ficheros puede contener uno o más elementos. Cada uno de los elementos comprende una tabla que tiene una o más filas. Una combinación única de librería/fichero/elemento se denomina como un objeto.
Cuando se modifica una fila de cualquier elemento de la base de datos primaria 1 se envía una entrada del diario que incluye el nombre del objeto y la fila modificada al receptor del diario local 2. El receptor del diario local 2 envía la entrada del diario a través del enlace de comunicaciones 3 a un receptor del diario remoto 4 de un sistema de ordenador objetivo B. El procedimiento de réplica de la base de datos 5 recibe las entradas del diario y modifica los contenidos de la base de datos de réplica 6 para mantenerla de acuerdo con la base de datos primaria 1.
Con referencia ahora a la figura 2 se describirán el procedimiento y el aparato para la réplica de la base de datos objetivo 6 del sistema de ordenador objetivo. Para asegurar la réplica adecuada de la base de datos de réplica 6, se actualizan los elementos de la base de datos en la base de datos de réplica 6, en el mismo orden que se modificaron en la base de datos primaria 1. Para conseguir esto se definen varios grupos de serialización 8. Las entradas del diario que tienen el mismo nombre del objeto se agrupan en un grupo de serialización común de modo que se actualicen en el orden correcto. Ciertos elementos de la base de datos pueden tener relaciones con otros elementos de la base de datos (uniones, etc.) y de este modo se pueden asignar a un grupo de serialización común para asegurar que todos los elementos interrelacionados se actualizan en la secuencia correcta. Un grupo de serialización puede contener de este modo entradas del diario para varios objetos. El uso de tales grupos de serialización posibilita dirigir la réplica de la base de datos en la secuencia apropiada así como facilitar el procesamiento eficiente en paralelo.
El procedimiento de recepción 7 puede bien asignar una entrada del diario recibida a un grupo de serialización, asignar una entrada del diario a un grupo de serialización por defecto o rechazar la entrada del diario. La asignación del grupo de serialización se realiza en base a una base de datos de asignación (MXSGMBAS) y un objeto temporal del índice de usuario OS/400. Las funciones de asignación de la entrada del diario se proporcionan a través de un programa del servicio ILE - que permite modificar la implementación subyacente sin recompilar/enlazar las funciones de llamada.
La base de datos de asignación MXSGMBAS contiene todos los objetos, su relación con otros objetos (es decir se necesita agrupar con otros objetos durante el procesamiento) y su modo requerido de procesamiento. La asignación de una entrada del diario a un grupo de serialización 8 podría dirigirse simplemente comparando el nombre del objeto de cada una de las entradas del diario recibidas con la base de datos de asignación MXSGMBAS y la asignación de la entrada del diario a un grupo de serialización en base a la información asociada. Sin embargo, la base de datos de asignación MXSGMBAS contiene muchos objetos y se requiere un tiempo considerable de procesamiento para realizar la operación de localizar la base de datos y extraer la información del procesamiento relevante. De acuerdo con la invención se usa un objeto temporal del índice de asignación de elementos (MBIX)
para almacenar la información de procesamiento para un objeto. Éste es un índice de los objetos que dan su grupo de serialización asociado y la información de procesamiento relacionada (incluyendo un enlace a sus estructuras de control asociadas).
Con referencia ahora a las figuras 2 y 4 se describirá la asignación del grupo de serialización. Cuando se recibe una entrada del diario en el procedimiento de recepción 7 de la etapa 11 se dirige una comparación en la etapa 12 para ver si el objeto está presente en el índice MIBX. Si es así, la operación procede a la etapa 13 y se devuelve un número del grupo de serialización y el índice del archivo de la base de datos (DBFIDX) y el procesamiento continúa dentro del grupo de serialización asignado.
Si el nombre del objeto no está almacenado en el índice MBIX entonces se dirige una búsqueda del nombre del objeto completo en la base de datos MXSGMBAS 9 en la etapa 14. Si la búsqueda es satisfactoria entonces se devuelve un grupo de serialización, se asigna un Índice del Fichero de la Base de datos (DBFIDX) que apuntará a la información del procesamiento almacenada en una red dinámica mantenida por el grupo de serialización asociado yse añade una entrada al índice MBIX en la etapa 15. Cada uno de los Índices de Fichero de la Base de Datos (DBFIDX) se crea simplemente aumentando un índice que es único para el grupo de serialización.
Si no se consigue una coincidencia en la etapa 14 a continuación se dirige una búsqueda de un nombre genérico en la etapa 16. Esto involucra una búsqueda por una librería/fichero/*todos y a continuación por una librería/*todos/*todos. Si se consigue una coincidencia genérica el nombre completo se añade a la tabla MBIX en la etapa 17 y el procesamiento continúa en las etapas 15 y 13 como antes. Si no puede conseguirse ninguna coincidencia la entrada del diario se descarta en la etapa 18.
Por consiguiente, en el arranque, no habrá ninguna entrada en el índice MBIX 10. A medida que se procesan las entradas del diario, los grupos de serialización y la información de procesamiento para los objetos se añadirán al índice MBIX 10. El grupo de serialización y la información de procesamiento se pueden obtener mucho más rápidamente desde la tabla de MBIX 10 que desde la base de datos MXSGMBAS 9.
Este procedimiento da los siguientes beneficios significativos de funcionamiento:
- 1.
- Los grupos de serialización no necesitan buscar una información del procesamiento relacionada con un elemento. Simplemente mantienen la información de procesamiento en una red dinámica con el Índice del Fichero de la Base de Datos como el medio de acceso.
- 2.
- Todas las operaciones relacionadas con un nombre de elemento particular pueden referirse al grupo deserialización y al valor del Índice del Fichero de la Base de Datos para identificar de forma única el elemento (un "asidero").
Con referencia ahora a la figura 3 se describirá el procedimiento de gestión de memoria dentro del sistema de ordenador objetivo. El espacio de objetos de almacenamiento se divide en varias unidades de almacenamiento SU1
- -
- SUN. Cada una de las unidades de almacenamiento tiene una cabecera de la unidad de almacenamiento 20. La cabecera de la unidad de almacenamiento 20 da el número de grupos de serialización que tienen entradas del diario en la unidad de almacenamiento. Cada uno de los segmentos de datos consiste de una cabecera de entrada de almacenamiento 21 y una entrada de almacenamiento 22. Las entradas de almacenamiento están alineadas sobre fronteras de 16 bytes con bloques de relleno 23 que rellenan cualquier espacio entre una entrada y una frontera de 16 bytes.
Las entradas del diario se pasan desde el procedimiento de recepción 7 para su almacenamiento en el espacio de objetos de almacenamiento 24. Las entradas del diario desde el procedimiento de recepción 7 se almacenan en el espacio de objetos de almacenamiento 24 en bloques 22. Cada entrada del diario 22 tiene una cabecera de entrada de almacenamiento asociada 21 (o asidero) que contiene información para el desplazamiento para la siguienteentrada del diario en la unidad de almacenamiento para ese grupo de serialización y un Índice de Archivo de la Base de Datos asociado (DBFIDX) que contiene la información de procesamiento para el elemento asociado con laentrada del diario. La información de procesamiento se mantiene en una memoria dinámica con el Índice del Fichero de la Base de Datos como el medio de acceso.
Las entradas del diario de operación normal se escriben de forma consecutiva en una unidad de almacenamiento hasta que se rellenan y a continuación las entradas del diario se escriben en la siguiente unidad de almacenamiento disponible. Una vez que se ha completado la escritura en la unidad de almacenamiento se pueden leer las entradas del diario desde la unidad de almacenamiento poblada. Las unidades de almacenamiento rellenadas parcialmente se pueden leer cuando los recursos del sistema no se estén utilizando de otra forma (es decir no se necesita almacenar ninguna entrada del diario).
Este enfoque significa que no se requiere bloquear la memoria durante la lectura y la escritura. Durante el procedimiento de escritura el procedimiento de recepción 7 tiene acceso exclusivo para escribir en la unidad de almacenamiento. No se requiere ningún bloqueo durante las operaciones de lectura y de este modo las entradas del diario se pueden leer simultáneamente de su grupo de serialización asociado. El único bloqueo requerido es disminuir el valor mantenido en la cabecera de la unidad de almacenamiento 20 cuando se lee la última entrada del diario para un grupo de serialización.
Las cola de unidades de almacenamiento disponibles (ASUQ) 25 controla el orden en el que se utilizan las unidades libres de almacenamiento. La ASUQ 25 incluye una memoria intermedia de ultimo en entrar primero en salir (LIFO) que almacena las direcciones de las unidades libres de almacenamiento. Las entradas del diario de un grupo de serialización se leen de una unidad de almacenamiento hasta que se encuentra un valor nulo en una cabecera de entrada de almacenamiento. A medida que se lee la entrada de almacenamiento 22 se disminuye la cabecera de la unidad de almacenamiento 20. Cuando se han leído todas las entradas del diario completamente desde una unidad de almacenamiento la cabecera de la unidad de almacenamiento 20 se disminuirá hasta cero y se devolverá el número de la unidad de almacenamiento a la ASUQ y será la primera unidad de almacenamiento reasignada cuanto deban escribirse las nuevas entradas del diario en el espacio de almacenamiento. De este modo las unidades de almacenamiento usadas más recientemente se mantienen activas para reducir el conjunto en funcionamiento de las unidades de almacenamiento al mínimo.
Cuando se han leído todas las entradas del diario en una unidad de almacenamiento y se libera la unidad de almacenamiento se puede purgar todo el intervalo de direcciones de la unidad de almacenamiento sin que se requiera la escritura de datos al almacenamiento auxiliar.
Con referencia de nuevo a la Figura 2 se describirá adicionalmente el modo de procesamiento. El procedimiento de control 19 evalúa el procedimiento de réplica y controla el procesamiento en el procedimiento de recepción 7 y dentro de los grupos de serialización 8. De este modo el procesamiento se puede dirigir dentro de cada uno de los grupos de serialización sin tener en cuenta el procesamiento con otro grupo de serialización. Teniendo controlado todo el procedimiento por un procedimiento de control general 19 cada uno de los grupos de serialización puede dirigir su procesamiento aisladamente sin tener en cuenta la complejidad de la operación global.
A medida que cada uno de los grupos de serialización recibe entradas del diario para un elemento en secuencia, la actualización de ese elemento en la base de datos de réplica 6 también es secuencial. El procesamiento de elementos enlazados en un grupo de serialización particular se racionaliza.
Cuando se va a realizar una base de datos de réplica 6 se deben eliminar las transacciones parcialmente aplicadas en la base de datos primaria. En primero lugar, el procedimiento de control 19 suspende el procedimiento de recepción 7 y el procesamiento por los grupos de serialización 8. El procedimiento de control 19 identifica a continuación todos los grupos de transacciones "abiertas" (por ejemplo, ID de transacción que no han recibido aún una entrada de transacción o deshacer entrada del diario). Estas se procesan, de forma serie, desde la más reciente (es decir, el grupo de transacciones que tiene la entrada del diario más reciente) a la más antigua como sigue:
i) un procedimiento de recepción del procedimiento de recepción 7 recibe las entradas del diario del grupo de transacciones desde el receptor del diario 26;
ii) todas las entradas se asignan a un grupo de serialización por "defecto";
iii) las entradas se almacenan en la unidad de almacenamiento 24 en el modo usual pero se enlazan en el orden inverso (es decir, la cabeza de la lista es la última entrada en la unidad de almacenamiento, con los enlaces moviéndose hacia atrás hasta la primera entrada en la unidad de almacenamiento);
iv) si se rellena la unidad de almacenamiento antes de que se completen las entradas del grupo de transacciones, la unidad de almacenamiento se pone sobre la cola LIFO TLQ 27 (en lugar de liberarla para el grupo de serialización por defecto). A continuación, se asigna una nueva unidad de almacenamiento (como normal) y se continúa almacenando las entradas;
v) cuando las entradas del diario disponibles del grupo de transacciones se han recibido completamente y se almacenan en las unidades de almacenamiento, las unidades de almacenamiento se envían a los grupos de serialización por defecto en el orden LIFO. El resultado es que el grupo de serialización recibe las entradas del diario en el orden inverso (desde la más reciente a la más antigua);
vi) los procedimientos del grupo de serialización por defecto procesa las entradas como entradas "inversas" (las entradas incluyen un indicador para indicar que son entradas "inversas"). Esto da como resultado que se eliminan todas las inserciones que se están procesando como borrados, actualizaciones a su imagen anterior y borrados que se insertan, etc. Solo se procesan las entradas del diario que ya se han aplicado (por ejemplo, durante el procesamiento normal);
vii) el grupo de serialización por defecto no realiza una transacción sobre las entradas "inversas" hasta que recibe la entrada del diario "grupo de transacción de datos". Esto asegura que si se encuentra un fallo durante la "limpieza" de la base de datos, está en un estado conocido. Esto posibilita arrancar de nuevo la limpieza.
Una vez que se han "eliminado" todos los grupos de transacciones "abiertas", el procedimiento de control 19 suspende los otros procedimientos y la base de datos de réplica está lista para usarse como la base de datos primaria.
Este procedimiento permite una rápida "limpieza" de las transacciones parcialmente aplicadas que no requiere usar la capacidad de procesamiento del sistema a menos que una base de datos secundaria tenga que hacerse de hecho una base de datos primaria.
El procedimiento y el aparato de la invención proporcionan varias ventajas, a saber:
5 1. La asignación de bloques de la unidad de almacenamiento dentro de un espacio objeto de almacenamiento y el control de la lectura / escritura evita la necesidad de bloqueos y los problemas de lecturas / escrituras concurrentes.
2. El uso de los grupos de serialización posibilita la actualización de los elementos de forma serie y la actualización de los elementos interrelacionados en una cronología correcta. Los grupos de serialización
10 posibilitan que los flujos múltiples de las entradas del diario se procesen simultáneamente mientras que los elementos interrelacionados se procesan juntos.
3. El uso del índice MBIX reduce enormemente el tiempo de búsqueda para cada una de las entradas del diario. El uso de las cabeceras de la entrada de almacenamiento 21 (asideros) posibilita la rápida localización de siguiente entrada del diario de un grupo de serialización.
15 4. El uso de un procedimiento de control para evaluar la operación del procedimiento de recepción y el procesamiento dentro de los grupos de serialización posibilita a los subprocesos procesar la información de forma eficaz sin necesidad de interactuar con otros procedimientos.
5. Simple manejo de las transacciones donde las bases de datos secundarias se hacen bases de datos primarias.
20 Donde se hace referencia en la descripción anterior a números enteros o componentes que tienen equivalentes conocidos entonces tales equivalentes se incorporan a este documento como si se mostrasen individualmente.
Aunque esta invención se ha descrito a modo de ejemplo se apreciará que pueden realizarse mejoras y/o modificaciones a la misma sin alejarse del ámbito o el espíritu de la presente invención.
Claims (5)
- REIVINDICACIONES1. Un procedimiento de réplica de una base de datos para replicar datos desde un sistema de origen (1) a un sistema objetivo (6) que comprende las etapas de:i) recepción (7) de las entradas del diario desde el sistema de origen (1) en el sistema objetivo (6) donde cada5 una de las entradas del diario está asociada con un objeto de la base de datos que identifica una tabla de la base de datos que tiene una o más filas a actualizar, en donde el procedimiento está caracterizado por: ii) extracción de la información de procesamiento desde una base de datos de asignación donde la información de procesamiento determina si los objetos de la base de datos necesitan agruparse con otros objetos de la base de datos,10 iii) procesamiento de las entradas del diario de acuerdo con la información de procesamiento extraída por a) la identificación del grupo de serialización (8) asociado con el objeto de la base de datos y b) la asignación de las entradas del diario al grupo de serialización identificado (8) en base a la información de procesamiento en la base de datos de asignación, en donde las entradas del diario del mismo tipo o relacionados con otras entradas del diario se procesan en el mismo grupo de serialización (8) y15 iv) el procesamiento de los grupos de serialización (8) con las entradas del diario asignadas en paralelo para replicar los datos desde el sistema de origen (1).
- 2. El procedimiento de la reivindicación 1 en el que, cuando cada uno de los objetos de la base de datos se encuentra primero en una operación de procesamiento, se genera una entrada a un índice temporal de objetos que contiene el grupo de serialización y la información de procesamiento relacionada para ese objeto de la base de20 datos.
-
- 3.
- El procedimiento de la reivindicación 2 en el que, si ya existe una entrada al índice temporal de objetos, el grupo de serialización para un objeto de la base de datos se asigna en base a los datos en el índice temporal de objetos.
-
- 4.
- El procedimiento de la reivindicación 2 en el que, si una entrada al índice temporal de objetos no existe, se
conduce una búsqueda del nombre del objeto completo en la base de datos de asignación, el grupo de serialización 25 se obtiene a partir de la base de datos de asignación y se genera una entrada al índice temporal de objetos. - 5. El procedimiento de una cualquiera de las reivindicaciones anteriores en el que la información de procesamiento para un objeto de la base de datos se mantiene en una memoria dinámica.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NZ50738600 | 2000-10-09 | ||
NZ50738600 | 2000-10-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2395205T3 true ES2395205T3 (es) | 2013-02-11 |
Family
ID=19928162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10179745T Expired - Lifetime ES2395205T3 (es) | 2000-10-09 | 2001-10-01 | Procedimiento y aparato para replicar una base de datos |
Country Status (11)
Country | Link |
---|---|
US (2) | US7930271B2 (es) |
EP (3) | EP1332444A4 (es) |
JP (4) | JP2004511854A (es) |
CN (4) | CN1292370C (es) |
AU (2) | AU1284302A (es) |
CA (1) | CA2436517C (es) |
ES (1) | ES2395205T3 (es) |
HK (1) | HK1062061A1 (es) |
IL (2) | IL155217A0 (es) |
WO (1) | WO2002031696A1 (es) |
ZA (1) | ZA200303415B (es) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3966051B2 (ja) * | 2002-04-16 | 2007-08-29 | 株式会社日立製作所 | 通信データ削減方法およびシステム |
JP4186602B2 (ja) | 2002-12-04 | 2008-11-26 | 株式会社日立製作所 | ジャーナルログを利用した更新データ書込方法 |
JP2004213435A (ja) * | 2003-01-07 | 2004-07-29 | Hitachi Ltd | 記憶装置システム |
JP4124348B2 (ja) | 2003-06-27 | 2008-07-23 | 株式会社日立製作所 | 記憶システム |
JP4374953B2 (ja) * | 2003-09-09 | 2009-12-02 | 株式会社日立製作所 | データ処理システム |
US7130975B2 (en) * | 2003-06-27 | 2006-10-31 | Hitachi, Ltd. | Data processing system |
JP2005309550A (ja) * | 2004-04-19 | 2005-11-04 | Hitachi Ltd | リモートコピー方法及びリモートコピーシステム |
JP2005062928A (ja) * | 2003-08-11 | 2005-03-10 | Hitachi Ltd | 複数のサイトにリモートコピーを行うシステム |
WO2005020076A1 (ja) * | 2003-08-21 | 2005-03-03 | Matsushita Electric Industrial Co., Ltd. | データ送受信システム、データ送受信方法および記録再生装置 |
US7219201B2 (en) | 2003-09-17 | 2007-05-15 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
JP4412989B2 (ja) * | 2003-12-15 | 2010-02-10 | 株式会社日立製作所 | 複数の記憶システムを有するデータ処理システム |
US7756852B2 (en) * | 2004-01-21 | 2010-07-13 | Oracle International Corporation | Concurrent execution of groups of database statements |
JP4477370B2 (ja) * | 2004-01-30 | 2010-06-09 | 株式会社日立製作所 | データ処理システム |
JP4519563B2 (ja) | 2004-08-04 | 2010-08-04 | 株式会社日立製作所 | 記憶システム及びデータ処理システム |
JP2006127028A (ja) * | 2004-10-27 | 2006-05-18 | Hitachi Ltd | 記憶システム及び記憶制御装置 |
CN101364217B (zh) * | 2007-08-08 | 2011-06-22 | 华为技术有限公司 | 数据库中数据维护方法、设备及其系统 |
US7591019B1 (en) | 2009-04-01 | 2009-09-15 | Kaspersky Lab, Zao | Method and system for optimization of anti-virus scan |
EP2323047B1 (en) * | 2009-10-09 | 2020-02-19 | Software AG | Primary database system, replication database system and method for replicating data of a primary database system |
US8239390B2 (en) * | 2010-02-26 | 2012-08-07 | International Business Machines Corporation | Filtered remote journal |
US8930330B1 (en) | 2011-06-27 | 2015-01-06 | Amazon Technologies, Inc. | Validation of log formats |
US9330154B2 (en) * | 2011-08-22 | 2016-05-03 | Sybase, Inc. | Multicast database replication |
US9275086B2 (en) | 2012-07-20 | 2016-03-01 | Commvault Systems, Inc. | Systems and methods for database archiving |
US9495411B2 (en) * | 2012-09-24 | 2016-11-15 | Salesforce.Com, Inc. | Increased parallelism performance of batch requests |
US9766987B2 (en) | 2013-01-11 | 2017-09-19 | Commvault Systems, Inc. | Table level database restore in a data storage system |
US11030055B2 (en) | 2013-03-15 | 2021-06-08 | Amazon Technologies, Inc. | Fast crash recovery for distributed database systems |
US9514007B2 (en) | 2013-03-15 | 2016-12-06 | Amazon Technologies, Inc. | Database system with database engine and separate distributed storage service |
US9501501B2 (en) | 2013-03-15 | 2016-11-22 | Amazon Technologies, Inc. | Log record management |
US9672237B2 (en) | 2013-03-15 | 2017-06-06 | Amazon Technologies, Inc. | System-wide checkpoint avoidance for distributed database systems |
US10180951B2 (en) | 2013-03-15 | 2019-01-15 | Amazon Technologies, Inc. | Place snapshots |
US10747746B2 (en) | 2013-04-30 | 2020-08-18 | Amazon Technologies, Inc. | Efficient read replicas |
US9317213B1 (en) | 2013-05-10 | 2016-04-19 | Amazon Technologies, Inc. | Efficient storage of variably-sized data objects in a data store |
US9760596B2 (en) | 2013-05-13 | 2017-09-12 | Amazon Technologies, Inc. | Transaction ordering |
US9208032B1 (en) | 2013-05-15 | 2015-12-08 | Amazon Technologies, Inc. | Managing contingency capacity of pooled resources in multiple availability zones |
US10303564B1 (en) | 2013-05-23 | 2019-05-28 | Amazon Technologies, Inc. | Reduced transaction I/O for log-structured storage systems |
US9305056B1 (en) | 2013-05-24 | 2016-04-05 | Amazon Technologies, Inc. | Results cache invalidation |
US9047189B1 (en) | 2013-05-28 | 2015-06-02 | Amazon Technologies, Inc. | Self-describing data blocks of a minimum atomic write size for a data store |
US9460008B1 (en) | 2013-09-20 | 2016-10-04 | Amazon Technologies, Inc. | Efficient garbage collection for a log-structured data store |
US9519664B1 (en) | 2013-09-20 | 2016-12-13 | Amazon Technologies, Inc. | Index structure navigation using page versions for read-only nodes |
US10216949B1 (en) | 2013-09-20 | 2019-02-26 | Amazon Technologies, Inc. | Dynamic quorum membership changes |
US9507843B1 (en) | 2013-09-20 | 2016-11-29 | Amazon Technologies, Inc. | Efficient replication of distributed storage changes for read-only nodes of a distributed database |
US9280591B1 (en) | 2013-09-20 | 2016-03-08 | Amazon Technologies, Inc. | Efficient replication of system transactions for read-only nodes of a distributed database |
US9552242B1 (en) | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
US9699017B1 (en) | 2013-09-25 | 2017-07-04 | Amazon Technologies, Inc. | Dynamic utilization of bandwidth for a quorum-based distributed storage system |
US10223184B1 (en) | 2013-09-25 | 2019-03-05 | Amazon Technologies, Inc. | Individual write quorums for a log-structured distributed storage system |
CN103544292B (zh) * | 2013-10-29 | 2017-05-24 | 大唐移动通信设备有限公司 | 基于HASH表的Diameter消息处理方法和装置 |
US10387399B1 (en) | 2013-11-01 | 2019-08-20 | Amazon Technologies, Inc. | Efficient database journaling using non-volatile system memory |
US9760480B1 (en) | 2013-11-01 | 2017-09-12 | Amazon Technologies, Inc. | Enhanced logging using non-volatile system memory |
US9880933B1 (en) | 2013-11-20 | 2018-01-30 | Amazon Technologies, Inc. | Distributed in-memory buffer cache system using buffer cache nodes |
US9223843B1 (en) | 2013-12-02 | 2015-12-29 | Amazon Technologies, Inc. | Optimized log storage for asynchronous log updates |
US10303663B1 (en) | 2014-06-12 | 2019-05-28 | Amazon Technologies, Inc. | Remote durable logging for journaling file systems |
US20160210306A1 (en) | 2015-01-15 | 2016-07-21 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US10108687B2 (en) | 2015-01-21 | 2018-10-23 | Commvault Systems, Inc. | Database protection using block-level mapping |
US9904598B2 (en) | 2015-04-21 | 2018-02-27 | Commvault Systems, Inc. | Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology |
US10423642B2 (en) | 2015-06-12 | 2019-09-24 | International Business Machines Corporation | Aggregating modifications to a database for journal replay |
US10394844B2 (en) * | 2015-11-09 | 2019-08-27 | Sap Se | Integrating co-deployed databases for data analytics |
US11914571B1 (en) | 2017-11-22 | 2024-02-27 | Amazon Technologies, Inc. | Optimistic concurrency for a multi-writer database |
US11269732B2 (en) | 2019-03-12 | 2022-03-08 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US11341163B1 (en) | 2020-03-30 | 2022-05-24 | Amazon Technologies, Inc. | Multi-level replication filtering for a distributed database |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4280060A (en) * | 1980-06-09 | 1981-07-21 | General Electric Company | Dedicated microcomputer-based control system for steam turbine-generators |
US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
JPS62236050A (ja) | 1986-04-07 | 1987-10-16 | Mitsubishi Electric Corp | ジヨイン処理方式 |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5412801A (en) * | 1990-01-17 | 1995-05-02 | E-Net | Gap recovery for off-site data storage and recovery systems |
JP3020539B2 (ja) | 1990-03-07 | 2000-03-15 | 株式会社日立製作所 | 並列動作型データベース管理方式 |
JPH04168542A (ja) * | 1990-11-01 | 1992-06-16 | Okayama Nippon Denki Software Kk | ジャーナル採取管理方式 |
US5530855A (en) | 1992-10-13 | 1996-06-25 | International Business Machines Corporation | Replicating a database by the sequential application of hierarchically sorted log records |
GB2273183A (en) | 1992-12-04 | 1994-06-08 | Ibm | Replicated distributed databases. |
US5446871A (en) * | 1993-03-23 | 1995-08-29 | International Business Machines Corporation | Method and arrangement for multi-system remote data duplexing and recovery |
JPH06290124A (ja) | 1993-03-31 | 1994-10-18 | Hitachi Ltd | システム間障害認識同期方式 |
CN1094525A (zh) * | 1993-04-19 | 1994-11-02 | 电子科技大学 | 一种大容量高速数据采集缓存方法及设备 |
DE4497149B4 (de) | 1993-09-24 | 2005-02-10 | Oracle Corp., Redwood City | Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung |
US5553279A (en) * | 1993-10-08 | 1996-09-03 | International Business Machines Corporation | Lossless distribution of time series data in a relational data base network |
DE4423559A1 (de) * | 1993-11-09 | 1995-05-11 | Hewlett Packard Co | Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher |
KR0128271B1 (ko) | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
US5796999A (en) * | 1994-04-15 | 1998-08-18 | International Business Machines Corporation | Method and system for selectable consistency level maintenance in a resilent database system |
JPH08191463A (ja) * | 1994-11-11 | 1996-07-23 | Nintendo Co Ltd | 立体画像表示装置およびそれに用いられる記憶装置 |
EP0724223B1 (en) | 1995-01-24 | 2001-07-25 | Compaq Computer Corporation | Remote duplicate database facility with database replication support for online line DDL operations |
US5799322A (en) * | 1995-01-24 | 1998-08-25 | Tandem Computer, Inc. | System and method for stopping updates at a specified timestamp in a remote duplicate database facility |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US6049809A (en) * | 1996-10-30 | 2000-04-11 | Microsoft Corporation | Replication optimization system and method |
JPH10161916A (ja) | 1996-11-28 | 1998-06-19 | Hitachi Ltd | データベースの複製に伴う更新競合の検出方法 |
EP1015997A4 (en) * | 1997-02-28 | 2006-03-29 | Siebel Systems Inc | PARTLY REPLICATED DISTRIBUTED DATABASE WITH MULTIPLE LEVELS FROM REMOTE CLIENTS |
US5950198A (en) * | 1997-03-24 | 1999-09-07 | Novell, Inc. | Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers |
US5864851A (en) * | 1997-04-14 | 1999-01-26 | Lucent Technologies Inc. | Method and system for managing replicated data with enhanced consistency and concurrency |
GB2327781A (en) | 1997-07-26 | 1999-02-03 | Ibm | Data replication tracking method for a distributed data processing system |
US5956714A (en) * | 1997-08-13 | 1999-09-21 | Southwestern Bell Telephone Company | Queuing system using a relational database |
GB2330220B (en) * | 1997-10-07 | 2002-04-10 | Ibm | Access control for groups of related data items |
US5924096A (en) * | 1997-10-15 | 1999-07-13 | Novell, Inc. | Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand |
JP2957551B2 (ja) * | 1997-12-12 | 1999-10-04 | 株式会社リコー | 分散型データベースシステムの一貫性管理方法およびコンピュータ読み取り可能な記録媒体 |
JP2000047916A (ja) | 1998-07-29 | 2000-02-18 | Nec Corp | データベース管理システム |
US6289355B1 (en) * | 1998-09-16 | 2001-09-11 | International Business Machines Corp. | Fast log apply |
JP3578385B2 (ja) | 1998-10-22 | 2004-10-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ、及びレプリカ同一性保持方法 |
US6243715B1 (en) * | 1998-11-09 | 2001-06-05 | Lucent Technologies Inc. | Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated |
JP2000222268A (ja) * | 1999-01-29 | 2000-08-11 | Hitachi Ltd | 複数のコンピュータ間におけるファイルの同期方法 |
JP3763992B2 (ja) * | 1999-03-30 | 2006-04-05 | 富士通株式会社 | データ処理装置及び記録媒体 |
US6728713B1 (en) * | 1999-03-30 | 2004-04-27 | Tivo, Inc. | Distributed database management system |
US6480858B1 (en) * | 1999-06-30 | 2002-11-12 | Microsoft Corporation | Method and apparatus for finding nearest logical record in a hash table |
US6502095B2 (en) * | 1999-09-09 | 2002-12-31 | Lucent Technologies Inc. | Timestamp-based system and method for serializing lazy updates in a distributed database |
US6438558B1 (en) * | 1999-12-23 | 2002-08-20 | Ncr Corporation | Replicating updates in original temporal order in parallel processing database systems |
-
2001
- 2001-10-01 IL IL15521701A patent/IL155217A0/xx unknown
- 2001-10-01 AU AU1284302A patent/AU1284302A/xx active Pending
- 2001-10-01 AU AU2002212843A patent/AU2002212843B2/en not_active Ceased
- 2001-10-01 CN CNB018170706A patent/CN1292370C/zh not_active Expired - Lifetime
- 2001-10-01 ES ES10179745T patent/ES2395205T3/es not_active Expired - Lifetime
- 2001-10-01 EP EP01981184A patent/EP1332444A4/en not_active Ceased
- 2001-10-01 CN CNB2005100228413A patent/CN100533437C/zh not_active Expired - Fee Related
- 2001-10-01 EP EP10179745A patent/EP2264617B1/en not_active Expired - Lifetime
- 2001-10-01 CN CNB2004100958055A patent/CN100345143C/zh not_active Expired - Fee Related
- 2001-10-01 WO PCT/NZ2001/000206 patent/WO2002031696A1/en active Application Filing
- 2001-10-01 EP EP07075652A patent/EP1845460A3/en not_active Withdrawn
- 2001-10-01 CN CNB2004100958017A patent/CN100437569C/zh not_active Expired - Fee Related
- 2001-10-01 JP JP2002535009A patent/JP2004511854A/ja active Pending
- 2001-10-01 US US10/398,609 patent/US7930271B2/en not_active Expired - Fee Related
- 2001-10-01 CA CA2436517A patent/CA2436517C/en not_active Expired - Lifetime
-
2003
- 2003-04-03 IL IL155217A patent/IL155217A/en active IP Right Grant
- 2003-05-02 ZA ZA200303415A patent/ZA200303415B/en unknown
-
2004
- 2004-07-09 HK HK04104996A patent/HK1062061A1/xx not_active IP Right Cessation
-
2006
- 2006-04-10 JP JP2006107299A patent/JP2006202337A/ja active Pending
- 2006-04-10 JP JP2006107300A patent/JP2006202338A/ja active Pending
-
2008
- 2008-03-17 JP JP2008068183A patent/JP4427586B2/ja not_active Expired - Lifetime
-
2011
- 2011-03-24 US US13/070,937 patent/US8818939B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
ZA200303415B (en) | 2004-03-26 |
IL155217A0 (en) | 2003-11-23 |
AU1284302A (en) | 2002-04-22 |
HK1062061A1 (en) | 2004-10-15 |
CN100345143C (zh) | 2007-10-24 |
US7930271B2 (en) | 2011-04-19 |
CN1841368A (zh) | 2006-10-04 |
JP2004511854A (ja) | 2004-04-15 |
CA2436517A1 (en) | 2002-04-18 |
CN100533437C (zh) | 2009-08-26 |
CN1468404A (zh) | 2004-01-14 |
EP1845460A3 (en) | 2007-12-26 |
EP1845460A2 (en) | 2007-10-17 |
CN1619544A (zh) | 2005-05-25 |
JP2006202338A (ja) | 2006-08-03 |
AU2002212843B2 (en) | 2007-11-22 |
CA2436517C (en) | 2011-09-20 |
EP2264617B1 (en) | 2012-08-22 |
CN1292370C (zh) | 2006-12-27 |
EP1332444A4 (en) | 2005-10-12 |
IL155217A (en) | 2009-09-22 |
EP1332444A1 (en) | 2003-08-06 |
CN100437569C (zh) | 2008-11-26 |
JP4427586B2 (ja) | 2010-03-10 |
US20040059738A1 (en) | 2004-03-25 |
JP2008176813A (ja) | 2008-07-31 |
JP2006202337A (ja) | 2006-08-03 |
CN1619545A (zh) | 2005-05-25 |
US20110179091A1 (en) | 2011-07-21 |
EP2264617A1 (en) | 2010-12-22 |
US8818939B2 (en) | 2014-08-26 |
WO2002031696A1 (en) | 2002-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2395205T3 (es) | Procedimiento y aparato para replicar una base de datos | |
AU2002212843A1 (en) | Method and apparatus for data processing | |
CN101268439B (zh) | 数据库片段克隆和管理 | |
EP0533805A1 (en) | Method for efficient non-virtual main memory management | |
US7512621B2 (en) | Moving records between partitions | |
US10310904B2 (en) | Distributed technique for allocating long-lived jobs among worker processes | |
WO2001006413A1 (en) | System for accessing database tables mapped into memory for high performance data retrieval | |
JP2007122302A (ja) | 情報検索システムとインデクス管理方法およびプログラム | |
JPH03122729A (ja) | データベース更新システム及び方法 | |
JP4199888B2 (ja) | データベース管理方法 | |
US6895487B2 (en) | Methods for intra-partition parallelism for inserts | |
JPWO2005086003A1 (ja) | データベース・システム | |
CN108694230B (zh) | 数据库中的唯一标识符的管理 | |
EP1197876A2 (en) | Persistent data storage techniques | |
CN108027835B (zh) | 用于管理主数据库和副本数据库的存储的装置和方法 | |
US10942912B1 (en) | Chain logging using key-value data storage | |
AU2007231648B2 (en) | Method and apparatus for data processing | |
NZ546247A (en) | Method and apparatus for replicating a database | |
NZ537170A (en) | Method and apparatus for data processing | |
NZ546248A (en) | Method and apparatus for replicating a database | |
CN119557370A (zh) | 数据同步的方法、装置及存储介质 |