Consistencia de los datos

Ir a: navegación, búsqueda de

Contenido

  • 1 Consistencia Point-in-time
    • 1.1 Ejemplo contrario
    • 1.2 Sistemas de almacenamiento en caché de disco
  • 2 Consistencia de las transacciones
  • 3 Consistencia de las aplicaciones
  • 4 Referencias

Consistencia Point-in-time

Consistencia Point-in-time es una propiedad importante de copia de seguridad archivos y un objetivo crítico de software que crea copias de seguridad. También es relevante para el diseño de sistemas de memoria de disco, específicamente relacionadas con lo que sucede cuando inesperadamente son clausurados.

Como un ejemplo relevante de copia de seguridad, consideran un sitio web con una base de datos como la enciclopedia en línea Copro, que debe estar en funcionamiento todo el día, pero también debe ser respaldada con regularidad para protegerse contra desastres. Porciones de Copro constantemente se actualizan cada minuto de cada día, mientras tanto, la base de datos de Copro está almacenado en servidores en forma de uno o varios archivos de gran tamaño que requieren minutos u horas para respaldar.

Estos archivos de gran tamaño - como sucede con cualquier base de datos - contienen numerosas estructuras de datos que referencian a otro por su ubicación. Por ejemplo, algunas estructuras son índices que permiten el subsistema de base de datos para encontrar rápidamente los resultados de búsqueda. Si las estructuras de datos dejan de referencia mutuamente correctamente, entonces la base de datos se puede decir que ser corrompido.

Ejemplo contrario

La importancia de la coherencia del punto en el tiempo puede ser ilustrada con ¿qué pasaría si una copia de seguridad se hicieron sin él.

Asumir la base de datos de Copro es un archivo enorme, que tiene un índice importante localizado 20% a través de y ahorra artículo datos en la marca del 75%. Considere un escenario donde un editor viene y crea un nuevo artículo al mismo tiempo que se realiza una copia de seguridad, que se está realizando como un simple "copiar archivo" que copia desde el principio hasta el final de los archivos grandes y no considera la consistencia de los datos - y en el momento de la edición del artículo, es 50% completado. El nuevo artículo se agrega al espacio artículo (en la marca del 75%) y se agrega una entrada de índice correspondiente (en la marca de 20%).

Porque ya a mitad de camino se hace la copia de seguridad y el índice ya copiado, se escribirá la copia de seguridad con los datos del artículo presentes, pero con la falta de referencia de índice. Como resultado de la inconsistencia, este archivo se considera corrupta.

En la vida real, una base de datos real como la de Copro puede ser editados miles de veces por hora, y referencias casi siempre se extienden por todo el archivo y pueden número en los millones de personas, miles de millones o más. Una copia de seguridad secuencial "copiar" literalmente podría contener tantas pequeñas corrupciones que la copia de seguridad sería completamente inutilizable sin un proceso de reparación largos que no podría proporcionar ninguna garantía en cuanto a la exactitud de lo que se ha recuperado.

Un proceso de backup que representa adecuadamente para consistencia de datos garantiza que la copia de seguridad es una instantánea del aspecto de la base de datos completa en un solo momento. En el ejemplo Copro, aseguraría que fue escrita la copia de seguridad sin el valor añadido artículo en la marca del 75%, para que los datos del artículo sería coherentes con los datos de índice escritos previamente.

Sistemas de almacenamiento en caché de disco

Consistencia Point-in-time es también relevante para subsistemas de discos de computadora.

En concreto, sistemas operativos y sistemas de archivos están diseñados con la expectativa de que se están ejecutando en el sistema podría perder potencia, accidente, fallo o lo contrario cese de funcionamiento en cualquier momento. Cuando se diseñan adecuadamente, aseguran que datos serán no ser irrecuperablemente dañados si la energía se pierde. Sistemas operativos y sistemas de archivos hacerlo velando por que se escriben datos en un disco duro en un cierto orden y confían en con el fin de detectar y recuperarse de paradas inesperadas.

Por otro lado, rigurosamente escribir datos en el disco en el orden que maximiza la integridad de los datos también afecta el performance. Un proceso de escribir de memoria caché se utiliza para consolidar y volver a la secuencia de las operaciones de escritura tal que puede hacerse más rápido mediante la minimización de las cabezas de disco móvil de tiempo.

Las preocupaciones de consistencia de datos ocurren cuando la escritura en caché cambia la secuencia en la cual se realizan las escrituras, porque allí existe la posibilidad de un cierre inesperado que viole la expectativa del sistema operativo que todas las escrituras se estarán comprometiendo secuencialmente.

Por ejemplo, para guardar un documento típico o archivo de imagen, un sistema operativo puede escribir los siguientes registros en un disco en el siguiente orden:

  1. Entrada de diario diciendo archivo XYZ está a punto de ser salvado en sector 123.
  2. El contenido real del archivo XYZ se escriben en sector 123.
  3. Sector 123 ahora está marcado como ocupados en el registro del espacio libre/usado.
  4. Entrada de diario observando el archivo completamente salvado, y su nombre es XYZ y se ubica en sector 123.

El sistema operativo se basa en la suposición de eso si ve artículo #1 está presente (diciendo que el archivo está a punto de ser salvado), pero ese artículo #4 falta (confirmando el éxito), que el guardar la operación fracasó y entonces deben deshacer incompletas medidas ya tomadas para guardarlo (por ejemplo marca sector 123 gratis ya que no estaba debidamente llenoy la eliminación de cualquier registro de XYZ desde el directorio de archivos). Se basa en estos elementos están comprometidos al disco en orden secuencial.

Supongamos que un algoritmo de caché determina que sería más rápido para escribir estos artículos en el disco en el orden de 4-3-1-2 y comienza a hacerlo, pero el poder consigue cerrar después 4 ponerlo por escrito, antes de 3, 1 y 2 y así los escribe nunca ocurren. Cuando se vuelva a encender el ordenador, el sistema de archivos luego mostraría que contiene un archivo llamado XYZ que se encuentra en sector 123, pero este sector realmente no contiene el archivo. (En cambio, el sector contendrá basura, o ceros o una porción de algún archivo antiguo - y eso es lo que mostrará si el archivo se abre al azar).

Además, mapa del espacio libre del sistema de archivos no contendrá ninguna entrada mostrando que ese sector 123 está ocupado, así que más adelante, es probable que asignará ese sector al siguiente archivo para salvarse, creyendo que está disponible. El sistema de archivos entonces tendrá dos archivos ambos reclamando inesperadamente el mismo sector (conocido como un archivo reticulado). Como resultado, una escritura a uno de los archivos sobreponen a parte del otro archivo, invisiblemente dañarlo.

Un subsistema que asegura la consistencia del punto en el tiempo de almacenamiento en caché de disco garantiza que en caso de un cierre inesperado, los cuatro elementos se escribiría uno de sólo cinco formas posibles: completamente (1-2-3-4), parcialmente (1, 1-2, 1-2-3), o en absoluto.

Controladores de disco de hardware de gama alta del tipo encontrado en servidores incluyen un pequeño unidad de batería back-up en su memoria caché para que pueden ofrecer los aumentos del rendimiento de escribir memoria caché mientras mitiga el riesgo de paradas imprevistas. La unidad de respaldo de batería mantiene la memoria alimentada incluso durante una parada para que cuando el ordenador está encendido detrás, rápidamente puede terminar cualquier escritura que se ha comprometido previamente. Con tal un controlador, el sistema operativo puede solicitar cuatro escribe (1-2-3-4) en ese orden, pero el controlador puede decidir la forma más rápida de escribirlas es 4-3-1-2. El controlador esencialmente mentiras el sistema operativo y los informes que se han completado las escrituras en orden (una mentira que mejora el rendimiento a expensas de la corrupción de datos si se pierde la energía), y los setos respaldo batería contra el riesgo de corrupción de datos dando el controlador de una forma de arreglar en silencio todo dañan pueden ocurrir como resultado.

Si el poder se obtiene apagará después elemento 4 se ha escrito, la memoria con respaldo de batería contiene el Acta de compromiso para los otros tres artículos y asegura que están escritos ("lavado") en el disco en la siguiente oportunidad disponible.

Consistencia de las transacciones

Transacción consistencia también con frecuencia se conoce como atomicidad.

Un buen ejemplo de la importancia de la consistencia de las transacciones es una base de datos que maneja a la transferencia de dinero. Supongamos que una transferencia de dinero requiere dos operaciones: un débito de la escritura en un lugar y un crédito en otro. Si el sistema se bloquea o se apaga cuando una operación ha terminado pero el otro no tiene y no hay nada en el lugar para corregir esto, el sistema puede decirse que carecen de consistencia de las transacciones. Con una transferencia de dinero, es deseable que la transacción completa, o ninguna de ellas se completa. Dos de estos escenarios controlar el equilibrio.

Consistencia de las transacciones asegura que - que un sistema está programado para ser capaz de detectar transacciones incompletas cuando enciende y deshacer (o "retrotraer") la porción de transacciones incompletas que se encuentran.

Consistencia de las aplicaciones

Referencias

  • Consistencia de datos explicado, de recuperación de las especialidades

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Data_consistency&oldid=633372652"