ES2731886T3 - Un método y un sistema para replicar bases de datos - Google Patents

Un método y un sistema para replicar bases de datos Download PDF

Info

Publication number
ES2731886T3
ES2731886T3 ES09172168T ES09172168T ES2731886T3 ES 2731886 T3 ES2731886 T3 ES 2731886T3 ES 09172168 T ES09172168 T ES 09172168T ES 09172168 T ES09172168 T ES 09172168T ES 2731886 T3 ES2731886 T3 ES 2731886T3
Authority
ES
Spain
Prior art keywords
cyclic redundancy
data
node
databases
index
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.)
Active
Application number
ES09172168T
Other languages
English (en)
Inventor
Mika Luotojärvi
Riku Hyttinen
Tomi Vihtari
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.)
ABB Schweiz AG
Original Assignee
ABB Schweiz AG
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 ABB Schweiz AG filed Critical ABB Schweiz AG
Application granted granted Critical
Publication of ES2731886T3 publication Critical patent/ES2731886T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/23—Updating
    • G06F16/2365—Ensuring data consistency and integrity
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/22—Indexing; Data structures therefor; Storage structures
    • G06F16/2228—Indexing structures
    • G06F16/2246—Trees, e.g. B+trees
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90—Details of database functions independent of the retrieved data types
    • G06F16/901—Indexing; Data structures therefor; Storage structures
    • G06F16/9027—Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un método para replicar bases de datos, en dicho método se replican al menos dos bases de datos, comprendiendo cada base de datos una o varias tablas, y teniendo cada tabla datos y un índice de árbol único en forma de árbol B o árbol B+, comprendiendo el índice de árbol único, sobre cada nivel de índice de árbol, claves de índice y sumas jerárquicas de los valores de verificación de redundancia cíclica calculados a partir de los datos, siendo las claves de índice almacenadas en un orden no decreciente, donde el índice de árbol único comprende una pluralidad de nodos de hoja (24), una pluralidad de nodos internos (23), un nodo raíz (22) y una suma (21) de todos los valores de verificación de redundancia cíclica (c1...N) junto con un apuntador al nodo raíz (22), comprendiendo cada nodo de hoja (24) valores de verificación de redundancia cíclica (c1...n) de las filas de datos en la tabla junto con las claves de índice correspondientes (k1...n), comprendiendo cada nodo interno (23) una pluralidad de apuntadores a nodos secundarios y, para cada apuntador excepto el último, una suma de todos los valores de verificación de redundancia cíclica (c1...n) en el nodo secundario correspondiente y una clave de índice correspondiente (k1...n), estando los valores de verificación de redundancia cíclica del nodo secundario al que apunta el último apuntador incluidos en la suma de los valores de comprobación de redundancia cíclica (c1...n) de un nodo primario asociado en el siguiente nivel de índice de árbol superior; comprendiendo el nodo raíz (22) una pluralidad de apuntadores a nodos secundarios y, para cada apuntador excepto el último, una suma de todos los valores de verificación de redundancia cíclica (c1...n) en el nodo secundario correspondiente y una clave de índice correspondiente (k1...n), estando los valores de verificación de redundancia cíclica del nodo secundario al que apunta el último apuntador incluidos en la suma de todos los valores de comprobación de redundancia cíclica (c1...n); teniendo cada nodo interno (23) un número variable de nodos secundarios dentro de un rango predefinido de número de nodos secundarios, donde la consistencia lógica de los datos entre las tablas correspondientes en las bases de datos se mantiene mediante: la comparación de las sumas (21) de todos los valores de verificación de redundancia cíclica (c1...n) de las tablas de la base de datos; si la diferencia entre de las sumas (21) de todos los valores de verificación de redundancia cíclica (c1...n) se encuentra, cada índice de árbol se divide lógicamente en dos índices de subárbol, y las sumas de todos los valores de verificación de redundancia cíclica (c1...n) de los índices de subárboles se comparan entre sí; la comparación y la división continúan hasta que se encuentran los datos que causan la diferencia, y los datos inconsistentes se replican entre las bases de datos.

Description

DESCRIPCIÓN
Un método y un sistema para replicar bases de datos
Alcance de la invención
La presente invención se refiere a un método y un sistema para replicar bases de datos de acuerdo con los preámbulos de las reivindicaciones 1 y 7.
Técnica anterior
Los datos a menudo se almacenan en bases de datos en sistemas informáticos. Cuando se replica una base de datos, los mismos datos se almacenan en múltiples dispositivos de almacenamiento. La replicación se realiza con frecuencia y proporciona múltiples copias consistentes de la misma base de datos.
Un sistema de gestión de la información recopila y gestiona información de varias fuentes y la distribuye a los sistemas definidos. La información puede ser recopilada de todos los campos de la tecnología, negocio o cuidado de la salud, por ejemplo.
La alta confiabilidad y la operación ininterrumpida del sistema de gestión de información de proceso (PIMS) se necesitan en sistemas de misión crítica tal como el control avanzado de procesos de una refinería de petróleo o el monitoreo de operaciones de una planta de energía nuclear. Cualquier punto único de falla en los sistemas informáticos no debe interrumpir el funcionamiento en tiempo real del sistema de gestión de información de proceso o las aplicaciones que se ejecutan en él.
Tradicionalmente, se ha utilizado la tecnología de agrupación de PC para crear sistemas de gestión de información de proceso redundante. Luego, el sistema y la base de datos se ejecutan en un nodo en ese momento y, en caso de falla de hardware o software, el sistema se inicia en el nodo en espera. Una falla siempre causa una interrupción no deseada en la operación del sistema. Los sistemas de base de datos relacionales proporcionan varios conceptos de creación de soluciones de alta disponibilidad y funcionalidad de replicación de bases de datos, pero el rendimiento de ellos no cumple con los requisitos generalmente establecidos para procesar sistemas de gestión de información. Algunos productos de historiadores de procesos pueden proporcionar redundancia para el historial de procesos, pero no son capaces de almacenar datos relacionales.
Coelho (Coelho F. "Remote Comparison of Database Tables", Informe técnico A/375/CRI, 6 de febrero de 2006, p.1-12) presenta un algoritmo basado en operaciones y funciones disponibles y todos los sistemas de base de datos relacionales para reconstruir las tablas remotas mediante la identificación insertada, tuplas actualizadas o eliminadas con una pequeña cantidad de comunicación. Un árbol de sumas de comprobación que cubre el contenido de la tabla se calcula en cada lado y se fusiona nivel por nivel para identificar las diferentes claves.
Descripción de la invención
El propósito de la presente invención es crear un método y un sistema para replicar bases de datos. Con el fin de lograr esto, la invención se caracteriza por las características especificadas en las secciones características de las reivindicaciones 1 y 7. Algunas otras realizaciones preferidas de la invención tienen las características especificadas en las reivindicaciones dependientes.
Un método para replicar bases de datos, en dicho método se replican al menos dos bases de datos, cada base de datos consta de una o varias tablas, y cada tabla tiene datos y un índice de árbol único que comprende claves de índice y sumas jerárquicas de valores de verificación de redundancia cíclica calculados a partir de los datos en cada nivel de índice de árbol. En la consistencia lógica de método de los datos entre las tablas correspondientes en las bases de datos se mantienen por la comparación de las sumas de los valores de verificación de redundancia cíclica de las tablas de la base de datos; y si la diferencia entre de las sumas de los valores de verificación de redundancia cíclica se encuentra, los índices de árbol se dividen lógicamente en dos índices de subárbol, y las sumas de los valores de verificación de redundancia cíclica de los índices de subárboles se comparan entre sí. La comparación y la división continúan hasta que se encuentran los datos que causan la diferencia, y los datos inconsistentes se replican entre las bases de datos.
Un medio legible por ordenador configurado con instrucciones que cuando son ejecutados por uno o varios procesadores causan la realización de un método para replicar bases de datos, en dicho método se replican al menos dos bases de datos, cada base de datos consta de una o varias tablas, y cada tabla tiene datos y un índice de árbol único que comprende claves de índice y sumas jerárquicas de valores de verificación de redundancia cíclica calculados a partir de los datos en cada nivel de índice de árbol, en dicha consistencia lógica de método de los datos entre las tablas correspondientes en las bases de datos se mantienen por la comparación de las sumas de los valores de verificación de redundancia cíclica de las tablas de la base de datos; y si la diferencia entre de las sumas de los valores de verificación de redundancia cíclica se encuentra, los índices de árbol se dividen lógicamente en dos índices de subárbol, y las sumas de los valores de verificación de redundancia cíclica de los índices de subárboles se comparan entre sí y la comparación y la división continúan hasta que se encuentran los datos que causan la diferencia, y los datos inconsistentes se replican entre las bases de datos.
Un sistema para replicar bases de datos que comprende al menos dos bases de datos que comprende tablas que tienen una o varias tablas, y cada tabla tiene datos y un índice de árbol único que comprende claves de índice y sumas jerárquicas de valores de verificación de redundancia cíclica calculados a partir de los datos en cada nivel de índice de árbol, y medios para mantener la consistencia lógica de los datos entre tablas correspondientes en las bases de datos por comparación de las sumas de los valores de comprobación de redundancia cíclica de las tablas de base de datos; y medios para encontrar una diferencia entre de las sumas de los valores de verificación de redundancia cíclica, medios para dividir lógicamente los índices de árbol en dos índices de subárbol, y medios para comparar las sumas de los valores de verificación de redundancia cíclica de los índices de subárboles entre sí y medios para continuar la comparación y la división continúan hasta que se encuentran los datos que causan la diferencia, y medios para replicar los datos inconsistentes entre las bases de datos.
En el método para replicar bases de datos, un índice es un conjunto ordenado de referencias, por ejemplo, apuntadores, a los registros o filas de datos en una tabla o archivo de base de datos. Un índice se basa en una o varias columnas de la tabla. Una estructura de índice en la base de datos es un árbol B o un árbol B+, por ejemplo. Un árbol B es una estructura de datos que mantiene un conjunto ordenado de datos y permite que las operaciones eficientes encuentren, eliminar, insertar, y navegar por los datos.
El método y el sistema para replicar bases de datos se utilizan para garantizar la consistencia de las bases de datos, por ejemplo, en un sistema de gestión de información de procesos. Cuando uno de los servidores que proporciona servicios de base de datos en el sistema de gestión de información de procesos está inactivo, por ejemplo, debido a un fallo de hardware o una actualización del sistema de disco, el otro servidor o servidores se están ejecutando. Los datos suministrados al sistema de gestión de información de procesos se almacenan en las bases de datos del servidor o servidores en ejecución. Los datos provienen de los sistemas de control y supervisión de una planta y comprenden valores operativos medidos o parámetros de dispositivos y valores de control calculados para los dispositivos de proceso. Después de la recuperación del servidor, faltan los datos suministrados a otros servidores durante el tiempo de inactividad. Luego, la consistencia de las bases de datos en los servidores se controla mediante el método y el sistema para replicar las bases de datos, es decir, los datos faltantes o modificados se transfieren al servidor que ha estado inactivo y también se verifica la consistencia de los servidores que se han estado ejecutando. Cuando la replicación de las bases de datos está lista, las bases de datos tienen el mismo contenido de información almacenada y cualquiera de las bases de datos puede estar en funcionamiento en el sistema de gestión de información de procesos.
El método para replicar bases de datos permite la operación ininterrumpida en caso de cualquier punto único de falla en los sistemas informáticos y la operación ininterrumpida cuando se reconstruye el sistema de nuevo a uno original después de la falla.
Otras ventajas son la alta disponibilidad y el mejor rendimiento de acceso a los datos en caso de compartir la carga. La base de datos de alta disponibilidad ofrece la posibilidad de compartir la carga entre los ordenadores redundantes que no se puede hacer con la tecnología de clúster de PC.
El sistema para replicar bases de datos no necesita un archivo de transacciones o similar que algunas de las bases de datos relacionales están usando en la replicación. El archivo de transacciones consume espacio de almacenamiento y disminuye el rendimiento. La copia y verificación de la información es un proceso a pedido por separado.
El método para replicar bases de datos otorga a las bases de datos una alta disponibilidad y brinda la posibilidad de ejecutar dos o más instancias del sistema de base de datos simultáneamente sin interrupciones en el funcionamiento del sistema en caso de falla de un solo ordenador. El sistema para replicar bases de datos brinda la opción de construir el sistema que contiene varias bases de datos replicadas en un sistema para proporcionar un nivel de disponibilidad más alto. La funcionalidad de compartir carga ofrece la posibilidad de escalar el sistema de base de datos a soluciones que contienen cálculos pesados y/o un número muy alto de usuarios concurrentes.
El sistema para replicar bases de datos puede realizarse con hardware de bajo coste. Permite la creación de sistemas de gestión de información de procesos en tiempo real altamente confiables con ordenadores PC de bajo coste.
En el sistema para replicar bases de datos el hardware puede ser descentralizado, por ejemplo, las bases de datos se pueden almacenar en diferentes ordenadores, sin ningún hardware especial. La descentralización es segura desde un punto de vista físico, por ejemplo, contra el riesgo de incendio.
Figuras
A continuación, la invención se describirá con más detalle con la ayuda de ciertas realizaciones haciendo referencia a los dibujos adjuntos, donde
- La figura 1 es una ilustración general de un sistema para la replicación de una base de datos;
- la figura 2 es una ilustración general de los valores de verificación de redundancia cíclica jerárquica almacenados en un árbol B+;
- La figura 3 es una ilustración general de un sistema para la replicación de una base de datos para un sistema de gestión de información de procesos.
Descripción detallada
La figura 1 ilustra un sistema de replicación de base de datos.
En el método para replicar bases de datos, dos o varias bases de datos se replican entre sí. En la figura 1 hay tres bases de datos 1A-1C. En la presente realización, las bases de datos 1A-1C son bases de datos relacionales que confirman el modelo relacional.
Cada base de datos 1A-1C consta de tablas 2a-2i que contienen datos. En el método de replicación, un árbol B o un árbol B+ se aplica como una estructura de índice en las tablas de datos. En la figura 2 se muestra un árbol B+. Mantiene los datos ordenados y permite búsquedas, inserciones, y supresiones en tiempo amortizado logarítmico. El fragmento de datos almacenado en un árbol B generalmente se llama clave. En un índice único, cada clave es lógicamente única y puede aparecer en el árbol B en una sola ubicación.
Cada tabla 2a-2i tiene datos y un índice de árbol único que comprende claves de índice y sumas jerárquicas de valores de verificación de redundancia cíclica calculados a partir de los datos en cada nivel de índice de árbol. Un índice de árbol es un conjunto ordenado de entradas. Cada entrada contiene un valor de clave de búsqueda y un apuntador a una fila específica en la tabla que contiene el valor. Una clave de índice es una cantidad de datos compuesta por uno o varios campos de una fila de datos.
La figura 2 representa una parte de un árbol simple de tres niveles B+ que implementa un índice para 48 filas de datos. Los valores de verificación de redundancia cíclica (c-i.n) de cada fila de datos se almacenan con las claves de índice correspondientes (ki. n) en los nodos de hoja 24. Un nodo interno 23 contiene varios apuntadores a nodos de hoja. Una clave de índice correspondiente y una suma de todos los valores de verificación de redundancia cíclica en el nodo de hoja correspondiente se almacenan con cada apuntador, excepto el último. Los valores de verificación de redundancia cíclica del nodo de hoja apuntado por el último apuntador se incluyen en la suma de verificación de redundancia cíclica en el nodo interno superior, que en este ejemplo es el nodo raíz 22. La suma de todos los valores de verificación de redundancia cíclica en todo el índice 21 se almacena con el apuntador al nodo raíz.
Un árbol B consta de estructuras de nodos que contienen claves de índice y apuntadores que enlazan los nodos del árbol B entre sí.
El método para replicar bases de datos se basa en calcular y almacenar sumas de valores de verificación de redundancia cíclica en los datos a todos los niveles del árbol B o B+ del índice lógicamente único seleccionado en una tabla de base de datos 2a-2i. Es almacenar estructuras y proporcionar un servicio de verificación de la consistencia de las copias redundantes de las tablas de base de datos 2a-2i y corregir las diferencias en caso de que se encuentren inconsistencias. El valor de verificación de redundancia cíclica se calcula en cada clave, es decir, la fila de datos en la tabla de la base de datos, y se almacena en la hoja. Los valores de comprobación de redundancia cíclica de las claves se suman a la suma de los valores de comprobación de redundancia cíclica en el nodo interno al que pertenecen las hojas y, además, las sumas de los valores de verificación de redundancia cíclica de los nodos internos se suman al nodo al que pertenecen. Finalmente, hay una suma de valores de verificación de redundancia cíclica que se calcula a partir de todos los datos en la tabla de la base de datos.
Al comparar la suma de los valores de verificación de redundancia cíclica de las copias redundantes de la tabla de la base de datos, se puede verificar si las copias son lógicamente consistentes entre sí. La consistencia lógica significa que las tablas contienen datos válidos. En caso de que la suma de los valores de verificación de redundancia cíclica de las copias redundantes difiera entre sí, el índice de árbol se dividen lógicamente en dos índices de subárbol, y las sumas de los valores de verificación de redundancia cíclica de los índices de subárboles se comparan entre sí y así sucesivamente hasta que la diferencia real en datos se encuentre. Los datos inconsistentes se replican entre las bases de datos. Si existen datos en varias
modificación de la fila) se utiliza para decidir qué copia de los datos es la más reciente. Las filas de datos eliminadas se detectan con el registro de eliminación que se guarda en cada base de datos.
La suma del proceso de comparación de valores de verificación de redundancia cíclica descrito permite encontrar las diferencias de dos tablas de tamaño arbitrario en tiempo O (log n). Por ejemplo, para dos tablas con 1.000.000.000 filas, se necesitarían 30 iteraciones para encontrar una diferencia entre las copias. No obstante, como a menudo hay muchas diferencias entre sí, el uso de bloques de, por ejemplo, 64 filas, reduce las iteraciones a 24.
En los árboles B, los nodos internos pueden tener un número variable de nodos secundarios dentro de un rango predefinido. Cuando se insertan o eliminan datos de un nodo, su número de nodos secundarios cambia. Con el fin de mantener el rango predefinido, los nodos internos pueden estar unidos o divididos. Debido a que un rango de nodos secundarios está permitido, los árboles B no necesitan un reequilibrio tan frecuente como otros árboles de búsqueda auto-equilibrados, pero puede perder algo de espacio, ya que los nodos no están completamente llenos. Los límites inferior y superior en el número de nodos secundarios se fijan normalmente para una implementación en particular. Por ejemplo, en un árbol B 2-3, cada nodo interno puede tener solo 2 o 3 nodos secundarios.
Los árboles B tienen ventajas sustanciales sobre implementaciones alternativas cuando los tiempos de acceso a los nodos superan con creces los tiempos de acceso dentro de los nodos. Esto suele ocurrir cuando la mayoría de los nodos se encuentran en almacenamiento secundario, tal como discos duros. Al maximizar el número de nodos secundarios dentro de cada nodo interno, la altura del árbol disminuye, el balanceo ocurre con menos frecuencia, y la eficiencia aumenta. Por lo general, este valor se establece de tal manera que cada nodo ocupa un bloque de disco completo o un tamaño análogo en el almacenamiento secundario. Mientras que los 2-3 árboles B pueden ser útiles en la memoria principal, y ciertamente son más fáciles de explicar, si los tamaños de los nodos se ajustan al tamaño de un bloque de disco, el resultado podría ser un árbol B 257-513.
Cada árbol B es de algún "orden n", lo que significa que los nodos contienen de n a 2n claves, y los nodos están, por lo tanto, siempre al menos medio llenos de claves. Las claves se mantienen ordenadas dentro de cada nodo. Una lista correspondiente de apuntadores está efectivamente intercalada entre claves para indicar dónde buscar una clave si no está en el nodo actual. Un nodo que contiene k claves también contiene k+1 apuntadores.
Cada nodo de un árbol B puede tener un número variable de claves e nodos secundarios. Las claves se almacenan en orden no decreciente. Cada clave tiene un nodo secundario asociado que es la raíz de un subárbol que contiene todos los nodos con claves menores o iguales a la clave, pero mayores que la clave anterior. Un nodo también tiene un elemento secundario más a la derecha que es la raíz de un subárbol que contiene todas las claves mayores que cualquier otra clave en el nodo.
Un árbol B tiene un número mínimo de nodos secundarios permitidos para cada nodo conocido como factor de minimización. Si t es este factor de minimización, cada nodo debe tener al menos t-1 claves. Bajo ciertas circunstancias, el nodo raíz puede violar esta propiedad al tener menos de t - 1 claves. Cada nodo puede tener como máximo 2t - 1 claves o, o equivalentemente, 2t nodos secundarios.
Como cada nodo tiende a tener un gran factor de ramificación (un gran número de nodos secundarios), normalmente es necesario atravesar relativamente pocos nodos antes de ubicar la clave deseada. Si el acceso a cada nodo requiere un acceso al disco, luego, un árbol B minimizará la cantidad de accesos de disco requeridos. El factor de minimización generalmente se elige de modo que el tamaño total de cada nodo corresponda a un múltiplo del tamaño de bloque del dispositivo de almacenamiento subyacente. Esta opción simplifica y optimiza el acceso al disco. Por consiguiente, un árbol bes una estructura de datos ideal para situaciones donde todos los datos no pueden residir en el almacenamiento primario y los accesos al almacenamiento secundario son comparativamente costosos o requieren mucho tiempo.
La figura 3 ilustra un sistema de replicación de base de datos para un sistema de gestión de información de proceso. El sistema de información de procesos es un ejemplo de sistema de gestión de información. Los sistemas de gestión de información de procesos (PIMS) 30 interactúan con los diversos sistemas de control u otros para recopilar datos de procesos, con tiempos de muestreo de un segundo o menos o más. El sistema de gestión de información de proceso proporciona el intercambio de datos entre los programas de aplicación 31, sistemas de control distribuido (DCS) 32, controladores lógicos programables (PLC) 33, sistemas de gestión de información de laboratorio (LIMS) 34, sistemas de ejecución de fabricación (MES) 35, sistemas de gestión de producción colaborativos (CPM) 36, sistemas de gestión computarizados de mantenimiento (CMMS) 37, Aplicaciones avanzadas de control de procesos (APC) 38, y otros sistemas de tecnología de la información en todo. Los sistemas de gestión de la información de procesos proporcionan servicios de procesamiento de datos, adquisición de datos e interfaces de acceso, visualización de datos y herramientas de análisis, herramientas de cálculo y desarrollo de aplicaciones, e integra todos los valores e información importantes y los almacena en grandes cantidades, base de datos relacional eficiente en tiempo real.
El sistema de gestión de información de procesos generalmente tiene dos o varios servidores independientes que proporcionan servicios de base de datos a otros programas u ordenadores. En este ejemplo hay dos servidores 1d , 1E y ambos contienen trabajo independiente, pero entre cada otra base de datos replicada, producción de datos e historial de grabación y aplicaciones. En esta realización las bases de datos se almacenan en diferentes ordenadores.
La gestión de información de proceso en tiempo real tiene las siguientes características, por ejemplo: el flujo de datos de entrada desde el equipo de proceso que oscila de 10 a 100000 filas de datos por segundo de forma continua para el registro histórico en la base de datos; procesamiento continuo de datos, agregación y almacenamiento del flujo de datos de entrada a valores históricos agregados; almacenamiento de otros datos de aplicaciones relacionales en la misma base de datos; tiempo de respuesta de 1 segundo con alto rendimiento de acceso a datos para aplicaciones y usuarios.
Cuando uno de los servidores 1D del sistema de gestión de información de procesos está inactivo, por ejemplo, debido a un fallo de hardware o una actualización del sistema de disco el otro servidor IE está en ejecución. Los datos en tiempo real que comprenden, por ejemplo, mediciones y/o parámetros operativos de dispositivos de proceso se suministran solo a las tablas de base de datos 2j-2l del IE del servidor en ejecución que se actualizan. Después de la recuperación del servidor 1D y continuamente en el tiempo de ejecución, se verifica y controla la consistencia de las bases de datos en los servidores. El sistema de replicación de bases de datos tiene un control de consistencia automático y recuperación. Una base de datos es una serie de tablas, y el control de consistencia y la recuperación se basan en sellos de tiempo y sumas de comprobación en cada fila y sumas de valores de verificación de redundancia cíclica en un índice lógicamente único. Se supone que la fila con una marca de tiempo más nueva es la correcta, y se busca una fila que falta en una lista de filas eliminadas.
En caso de falla de hardware en uno de los servidores, no hay interrupción en la operación del sistema de gestión de información de proceso. Ni una falla de disco causa una ruptura en el flujo de información. Existe la posibilidad de reconstruir el sistema sin interrupción después de la falla y el sistema puede soportar varias fallas consecutivas de los ordenadores sin interrupciones en el funcionamiento del sistema de gestión de información de procesos o pérdida de datos.
El sistema para replicar bases de datos también permite una actualización del sistema de disco sin una interrupción en el sistema de gestión de información de proceso.
El método para replicar bases de datos se realiza ventajosamente usando un ordenador. Los programas que se utilizarán se almacenan en la memoria del ordenador o en medios legibles por ordenador, que se puede cargar en un dispositivo informático, por ejemplo, un DVD. Estos medios legibles por ordenador tienen instrucciones para permitir que el ordenador ejecute un método.
La invención se ha descrito anteriormente con la ayuda de ciertas realizaciones. No obstante, la descripción no debe considerarse como limitante del alcance de la protección de la patente; las realizaciones de la invención pueden variar dentro del alcance de las siguientes reivindicaciones.

Claims (7)

REIVINDICACIONES
1. Un método para replicar bases de datos, en dicho método
se replican al menos dos bases de datos,
comprendiendo cada base de datos una o varias tablas, y
teniendo cada tabla datos y un índice de árbol único en forma de árbol B o árbol B+, comprendiendo el índice de árbol único, sobre cada nivel de índice de árbol, claves de índice y sumas jerárquicas de los valores de verificación de redundancia cíclica calculados a partir de los datos, siendo las claves de índice almacenadas en un orden no decreciente,
donde el índice de árbol único comprende una pluralidad de nodos de hoja (24), una pluralidad de nodos internos (23), un nodo raíz (22) y una suma (21) de todos los valores de verificación de redundancia cíclica (c-i ...n) junto con un apuntador al nodo raíz (22), comprendiendo cada nodo de hoja (24) valores de verificación de redundancia cíclica (c-i.n) de las filas de datos en la tabla junto con las claves de índice correspondientes (ki.n), comprendiendo cada nodo interno (23) una pluralidad de apuntadores a nodos secundarios y, para cada apuntador excepto el último, una suma de todos los valores de verificación de redundancia cíclica (c-i.n) en el nodo secundario correspondiente y una clave de índice correspondiente (ki.n), estando los valores de verificación de redundancia cíclica del nodo secundario al que apunta el último apuntador incluidos en la suma de los valores de comprobación de redundancia cíclica (c-i.n) de un nodo primario asociado en el siguiente nivel de índice de árbol superior;
comprendiendo el nodo raíz (22) una pluralidad de apuntadores a nodos secundarios y, para cada apuntador excepto el último, una suma de todos los valores de verificación de redundancia cíclica (c-i.n) en el nodo secundario correspondiente y una clave de índice correspondiente (ki.n), estando los valores de verificación de redundancia cíclica del nodo secundario al que apunta el último apuntador incluidos en la suma de todos los valores de comprobación de redundancia cíclica (c-i.n);
teniendo cada nodo interno (23) un número variable de nodos secundarios dentro de un rango predefinido de número de nodos secundarios,
donde la consistencia lógica de los datos entre las tablas correspondientes en las bases de datos se mantiene mediante:
la comparación de las sumas (21) de todos los valores de verificación de redundancia cíclica (c-i.n) de las tablas de la base de datos;
si la diferencia entre de las sumas (21) de todos los valores de verificación de redundancia cíclica (c-i.n) se encuentra, cada índice de árbol se divide lógicamente en dos índices de subárbol, y las sumas de todos los valores de verificación de redundancia cíclica (c-i.n) de los índices de subárboles se comparan entre sí; la comparación y la división continúan hasta que se encuentran los datos que causan la diferencia, y los datos inconsistentes se replican entre las bases de datos.
2. El método de acuerdo con la reivindicación 1, caracterizado por que las bases de datos se almacenan en diferentes ordenadores.
3. El método de acuerdo con la reivindicación 1 o 2, caracterizado por que las bases de datos se encuentran en un sistema de gestión de la información, y las bases de datos se replican para garantizar la coherencia de las bases de datos, y las bases de datos replicadas se utilizan para servir al sistema de gestión de la información.
4. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, caracterizado por que al menos dos servidores están almacenando las bases de datos, y el método se realiza después de una falla de hardware en un servidor o una actualización del sistema de disco en un servidor.
5. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, caracterizado por que el sistema de gestión de la información es un sistema de gestión de la información del proceso y se suministran datos en tiempo real que comprenden mediciones y/o parámetros operativos de los dispositivos del proceso a al menos una de las tablas de la base de datos.
6. Un medio de grabación de datos de productos de software en el que se almacena el código del programa, dicho código de programa, cuando se ejecuta en el ordenador, hará que el ordenador realice un método de acuerdo con la reivindicación 1.
7. Un sistema para replicar bases de datos que comprende:
al menos dos bases de datos, comprendiendo cada base de datos una o varias tablas,
teniendo cada tabla datos y un índice de árbol único en forma de árbol B o árbol B+, comprendiendo el índice de árbol único, sobre cada nivel de índice de árbol, claves de índice y sumas jerárquicas de los valores de verificación de redundancia cíclica calculados a partir de los datos, siendo las claves de índice almacenadas en un orden no decreciente,
donde el índice de árbol único comprende una pluralidad de nodos de hoja (24), una pluralidad de nodos internos (23), un nodo raíz (22) y una suma (21) de todos los valores de verificación de redundancia cíclica (ci...n) junto con un apuntador al nodo raíz (22),
comprendiendo cada nodo de hoja (24) valores de verificación de redundancia cíclica (c1...n) de las filas de datos en la tabla junto con las claves de índice correspondientes (ki.n),
comprendiendo cada nodo interno (23) una pluralidad de apuntadores a nodos secundarios y, para cada apuntador excepto el último, una suma de todos los valores de verificación de redundancia cíclica (c1...n) en el nodo secundario correspondiente y una clave de índice correspondiente (ki.n), estando los valores de verificación de redundancia cíclica del nodo secundario al que apunta el último apuntador incluidos en la suma de los valores de comprobación de redundancia cíclica (c1...n) de un nodo primario asociado en el siguiente nivel de índice de árbol superior;
comprendiendo el nodo raíz (22) una pluralidad de apuntadores a nodos secundarios y, para cada apuntador excepto el último, una suma de todos los valores de verificación de redundancia cíclica (c1...n) en el nodo secundario correspondiente y una clave de índice correspondiente (ki.n), estando los valores de verificación de redundancia cíclica del nodo secundario al que apunta el último apuntador incluidos en la suma de todos los valores de comprobación de redundancia cíclica (c1...n);
teniendo cada nodo interno (23) un número variable de nodos secundarios dentro de un rango predefinido de número de nodos secundarios,
donde el sistema comprende, además:
medios para mantener la consistencia lógica de los datos entre las tablas correspondientes en las bases de datos por la comparación de las sumas (21) de todos los valores de verificación de redundancia cíclica (c1...n) de las tablas de la base de datos;
medios para encontrar la diferencia entre de las sumas (21) de todos los valores de verificación de redundancia cíclica (c1...n);
medios para dividir lógicamente los índices de árbol en dos índices de subárbol;
medios para comparar las sumas de todos los valores de verificación de redundancia cíclica (c1...n) de los índices de subárboles entre sí;
medios para continuar la comparación y la división hasta que se encuentran los datos que causan la diferencia; y
medios para replicar los datos inconsistentes entre las bases de datos.
ES09172168T 2008-10-10 2009-10-05 Un método y un sistema para replicar bases de datos Active ES2731886T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/249,378 US9740727B2 (en) 2008-10-10 2008-10-10 Method and a system for replicating databases

Publications (1)

Publication Number Publication Date
ES2731886T3 true ES2731886T3 (es) 2019-11-19

Family

ID=41314498

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09172168T Active ES2731886T3 (es) 2008-10-10 2009-10-05 Un método y un sistema para replicar bases de datos

Country Status (6)

Country Link
US (1) US9740727B2 (es)
EP (1) EP2175384B1 (es)
CN (1) CN101727480A (es)
DK (1) DK2175384T3 (es)
ES (1) ES2731886T3 (es)
PL (1) PL2175384T3 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600513B2 (en) 2011-06-09 2017-03-21 International Business Machines Corporation Database table comparison
CN103577407B (zh) * 2012-07-19 2016-10-12 国际商业机器公司 用于分布式数据库的查询方法及查询装置
US11176111B2 (en) * 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
WO2014168913A1 (en) 2013-04-08 2014-10-16 Nuodb, Inc. Database management system with database hibernation and bursting
GB2527828A (en) 2014-07-03 2016-01-06 Ibm Copy-on-read process in disaster recovery
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
CN107040582B (zh) * 2017-02-17 2020-08-14 创新先进技术有限公司 一种数据处理方法及装置
US10585756B2 (en) 2017-08-07 2020-03-10 International Business Machines Corporation Point-in-time copy on a remote system
EP3669286B1 (en) 2017-08-15 2026-04-15 NUODB Inc. Index splitting in distributed databases
US10795776B2 (en) 2017-11-06 2020-10-06 International Business Machines Corporation Multiple point-in-time copies on a remote system
CN109492051B (zh) * 2018-10-19 2021-10-22 武汉众智鸿图科技有限公司 一种管网数据同步方法和装置
KR102871983B1 (ko) * 2019-12-30 2025-10-16 삼성전자주식회사 안전 민감 데이터의 무결성 점검 장치 및 이를 포함하는 전자 기기
CN112231403B (zh) * 2020-10-15 2024-01-30 北京人大金仓信息技术股份有限公司 数据同步的一致性校验方法、装置、设备和存储介质
CN112579531A (zh) * 2020-12-15 2021-03-30 东方电气风电有限公司 一种下载和存储风电场数据的方法
CN114676126B (zh) * 2022-05-30 2022-08-09 深圳钛铂数据有限公司 基于数据库的数据校验方法、装置、设备及存储介质
CN115757433B (zh) * 2022-12-08 2025-12-23 贵州易鲸捷信息技术有限公司 满足acid特性的ao表在mpp数据库上唯一约束的实现方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US242682A (en) * 1881-06-07 Running-gear for wagons
JP3268456B2 (ja) 1992-09-04 2002-03-25 フォールト トレラント システムズ エフテーエス−コンピュータ テクニク ゲセムベーハー 通信制御装置及び情報伝達方法
KR0153938B1 (ko) 1995-12-21 1998-11-16 양승택 에이티엠 계층 수신 운용 및 유지 보수 셀 처리 장치
US6748381B1 (en) 1999-03-31 2004-06-08 International Business Machines Corporation Apparatus and method for maintaining consistency of shared data resources in a cluster environment
US6529917B1 (en) 2000-08-14 2003-03-04 Divine Technology Ventures System and method of synchronizing replicated data
US6847393B2 (en) * 2002-04-19 2005-01-25 Wren Technology Group Method and system for monitoring point of sale exceptions
US7631251B2 (en) * 2005-02-16 2009-12-08 Hewlett-Packard Development Company, L.P. Method and apparatus for calculating checksums
JP2007208632A (ja) 2006-02-01 2007-08-16 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体

Also Published As

Publication number Publication date
EP2175384B1 (en) 2019-06-12
EP2175384A1 (en) 2010-04-14
US9740727B2 (en) 2017-08-22
PL2175384T3 (pl) 2020-01-31
DK2175384T3 (da) 2019-08-26
CN101727480A (zh) 2010-06-09
US20100094802A1 (en) 2010-04-15

Similar Documents

Publication Publication Date Title
EP2175384B1 (en) A method and a system for replicating databases
US9176963B2 (en) Managing counters in a distributed file system
Muralidhar et al. f4: Facebook's warm {BLOB} storage system
US10896156B2 (en) Flexible synchronous file system replication
Aiyer et al. Storage infrastructure behind Facebook messages: Using HBase at scale.
Ahn et al. ForestDB: A fast key-value storage system for variable-length string keys
US7551572B2 (en) Systems and methods for providing variable protection
US10509780B2 (en) Maintaining I/O transaction metadata in log-with-index structure
US20140279927A1 (en) Scalable graph modeling of metadata for deduplicated storage systems
US20140032496A1 (en) Information storage system and data replication method thereof
US10756757B2 (en) Maintaining data deduplication reference information
WO2010050944A1 (en) Online checking of data structures of a file system
CN109271361B (zh) 海量小文件的分布式存储方法和系统
Wahid et al. Cassandra—A distributed database system: An overview
WO2010050943A1 (en) Creating snapshots of a file system
Huang et al. R-HBase: A multi-dimensional indexing framework for cloud computing environment
CN107818106B (zh) 一种大数据离线计算数据质量校验方法和装置
CN114385399B (zh) 一种基于存储设备模型的故障根因发现方法
CN110134690B (zh) Oracle数据库超大数据快速存储方法及系统
CN106445943B (zh) 一种日志的展示方法及装置
CN118761734B (zh) 结合erp系统的在线自定义报表管理方法及系统
Asaad et al. NoSQL databases: yearning for disambiguation
CN118312230A (zh) 主备配置信息同步方法、装置、计算机设备及存储介质
Chodorow 50 Tips and Tricks for MongoDB Developers: Get the Most Out of Your Database
Rosenfeld et al. Raidp: replication with intra-disk parity