ES2395205T3 - Procedimiento y aparato para replicar una base de datos - Google Patents

Procedimiento y aparato para replicar una base de datos Download PDF

Info

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
Application number
ES10179745T
Other languages
English (en)
Inventor
James Scott Tarbell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maximum Availability Ltd
Original Assignee
Maximum Availability Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Maximum Availability Ltd filed Critical Maximum Availability Ltd
Application granted granted Critical
Publication of ES2395205T3 publication Critical patent/ES2395205T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2064Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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)

  1. REIVINDICACIONES
    1. 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 cada
    5 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) y
    15 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. 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 de
    20 datos.
  3. 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. 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. 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.
ES10179745T 2000-10-09 2001-10-01 Procedimiento y aparato para replicar una base de datos Expired - Lifetime ES2395205T3 (es)

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) EP2264617B1 (es)
JP (4) JP2004511854A (es)
CN (4) CN1292370C (es)
AU (2) AU2002212843B2 (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 (57)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 データ処理システム
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7130975B2 (en) * 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP2005062928A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム
US20060271599A1 (en) * 2003-08-21 2006-11-30 Akihiro Yamamoto Data transmission/reception system, data transmission/reception method, and recording/reproduction device
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US7788255B2 (en) * 2004-01-21 2010-08-31 Oracle International Corporation Specifying parallel or sequential execution of database operations by bundling 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
US9720787B2 (en) 2013-01-11 2017-08-01 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
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US9501501B2 (en) 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
US9514007B2 (en) 2013-03-15 2016-12-06 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service
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
US9519664B1 (en) 2013-09-20 2016-12-13 Amazon Technologies, Inc. Index structure navigation using page versions for read-only nodes
US9460008B1 (en) 2013-09-20 2016-10-04 Amazon Technologies, Inc. Efficient garbage collection for a log-structured data store
US10216949B1 (en) 2013-09-20 2019-02-26 Amazon Technologies, Inc. Dynamic quorum membership changes
US9280591B1 (en) 2013-09-20 2016-03-08 Amazon Technologies, Inc. Efficient replication of system transactions for read-only nodes of a distributed database
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
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
US9552242B1 (en) 2013-09-25 2017-01-24 Amazon Technologies, Inc. Log-structured distributed storage using a single log sequence number space
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)

* Cited by examiner, † Cited by third party
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 立体画像表示装置およびそれに用いられる記憶装置
CA2167902A1 (en) * 1995-01-24 1996-07-25 Richard W. Carr Remote duplicate database facility with database replication support for online 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 データベースの複製に伴う更新競合の検出方法
AU6669198A (en) * 1997-02-28 1998-09-18 Siebel Systems, Inc. Partially replicated distributed database with multiple levels of 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 複数のコンピュータ間におけるファイルの同期方法
US6728713B1 (en) * 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
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

Also Published As

Publication number Publication date
CN100533437C (zh) 2009-08-26
EP1332444A4 (en) 2005-10-12
AU1284302A (en) 2002-04-22
IL155217A (en) 2009-09-22
CN100437569C (zh) 2008-11-26
US8818939B2 (en) 2014-08-26
JP2008176813A (ja) 2008-07-31
EP1332444A1 (en) 2003-08-06
CN100345143C (zh) 2007-10-24
EP1845460A3 (en) 2007-12-26
EP2264617B1 (en) 2012-08-22
CA2436517C (en) 2011-09-20
CN1619544A (zh) 2005-05-25
JP2006202337A (ja) 2006-08-03
JP4427586B2 (ja) 2010-03-10
US20110179091A1 (en) 2011-07-21
US20040059738A1 (en) 2004-03-25
JP2006202338A (ja) 2006-08-03
JP2004511854A (ja) 2004-04-15
ZA200303415B (en) 2004-03-26
WO2002031696A1 (en) 2002-04-18
US7930271B2 (en) 2011-04-19
AU2002212843B2 (en) 2007-11-22
CA2436517A1 (en) 2002-04-18
EP1845460A2 (en) 2007-10-17
CN1841368A (zh) 2006-10-04
CN1619545A (zh) 2005-05-25
EP2264617A1 (en) 2010-12-22
CN1292370C (zh) 2006-12-27
CN1468404A (zh) 2004-01-14
IL155217A0 (en) 2003-11-23
HK1062061A1 (en) 2004-10-15

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) 数据库片段克隆和管理
US7966349B2 (en) Moving records between partitions
EP0533805A1 (en) Method for efficient non-virtual main memory management
JP2007122302A (ja) 情報検索システムとインデクス管理方法およびプログラム
WO2001006413A1 (en) System for accessing database tables mapped into memory for high performance data retrieval
CN108139882B (zh) 针对网络装置实施阶层分布式链接列表的***及方法
JPWO2005086003A1 (ja) データベース・システム
JP4199888B2 (ja) データベース管理方法
US6895487B2 (en) Methods for intra-partition parallelism for inserts
ES2764761T3 (es) Gestión de identificadores únicos en una base de datos
EP1197876A2 (en) Persistent data storage techniques
AU2020200649B2 (en) Apparatus and method for managing storage of primary database and replica database
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
US20230385271A1 (en) Throughput-optimized schema-flexible storage with transactional properties
Cha et al. Design and implementation of a consistent update method for multiple file replicas in a distributed file system
WO2016120988A1 (ja) データベースシステム及びデータベース管理方法