La integridad de los datos es el mantenimiento y la garantía de la precisión y consistencia de los datos a lo largo de todo su ciclo de vida [ 1 ] y es un aspecto crítico para el diseño, la implementación y el uso de cualquier sistema que almacene, procese o recupere datos. El término es amplio y puede tener significados muy diferentes según el contexto específico , incluso dentro del mismo ámbito general de la informática . A veces se utiliza como término indirecto para la calidad de los datos [ 2 ] , mientras que la validación de datos es un requisito previo para la integridad de los datos [ 3 ] . La integridad de los datos es lo opuesto a la corrupción de datos [ 4 ] . El objetivo general de cualquier técnica de integridad de datos es el mismo: asegurar que los datos se registren exactamente como se pretendía (como una base de datos que rechaza correctamente las posibilidades mutuamente excluyentes). Además, al recuperarlos posteriormente , asegurar que los datos sean los mismos que cuando se registraron originalmente. En resumen, la integridad de los datos tiene como objetivo prevenir cambios involuntarios en la información. La integridad de los datos no debe confundirse con la seguridad de los datos , la disciplina de proteger los datos de terceros no autorizados.
Cualquier cambio no intencionado en los datos como resultado de una operación de almacenamiento, recuperación o procesamiento, incluyendo intenciones maliciosas, fallas inesperadas de hardware y errores humanos , constituye una falla en la integridad de los datos. Si los cambios son resultado de un acceso no autorizado, también puede constituir una falla en la seguridad de los datos. Dependiendo de los datos involucrados, esto podría manifestarse desde algo tan inofensivo como un solo píxel en una imagen que aparece con un color diferente al registrado originalmente, hasta la pérdida de fotos de vacaciones o una base de datos crítica para el negocio, o incluso la pérdida catastrófica de vidas humanas en un sistema crítico para la vida .
Tipos de integridad
Integridad física
La integridad física aborda los desafíos relacionados con el correcto almacenamiento y recuperación de los datos. Estos desafíos pueden incluir fallas electromecánicas , defectos de diseño, fatiga de materiales , corrosión , cortes de energía , desastres naturales y otros riesgos ambientales especiales, como radiación ionizante , temperaturas extremas, presiones y fuerzas G. Para garantizar la integridad física se utilizan métodos como hardware redundante , un sistema de alimentación ininterrumpida ( UPS) , ciertos tipos de matrices RAID , chips resistentes a la radiación , memoria con corrección de errores , un sistema de archivos en clúster , sistemas de archivos que emplean sumas de verificación a nivel de bloque como ZFS , matrices de almacenamiento que realizan cálculos de paridad como OR exclusivo o utilizan una función hash criptográfica , e incluso un temporizador de vigilancia (watchdog) en subsistemas críticos.
La integridad física suele hacer un uso extensivo de algoritmos de detección de errores conocidos como códigos de corrección de errores . Los errores de integridad de datos provocados por humanos se detectan a menudo mediante comprobaciones y algoritmos más sencillos, como el algoritmo de Damm o el algoritmo de Luhn . Estos se utilizan para mantener la integridad de los datos tras la transcripción manual de un sistema informático a otro por un intermediario humano (por ejemplo, números de tarjeta de crédito o de ruta bancaria). Los errores de transcripción provocados por el ordenador pueden detectarse mediante funciones hash .
En los sistemas de producción, estas técnicas se utilizan conjuntamente para garantizar distintos grados de integridad de los datos. Por ejemplo, un sistema de archivos informático puede estar configurado en una matriz RAID tolerante a fallos, pero podría no proporcionar sumas de comprobación a nivel de bloque para detectar y prevenir la corrupción silenciosa de datos . Otro ejemplo: un sistema de gestión de bases de datos podría cumplir con las propiedades ACID , pero el controlador RAID o la caché de escritura interna del disco duro podrían no hacerlo.
Integridad lógica
Este tipo de integridad se centra en la corrección o racionalidad de un dato, dado un contexto específico. Esto incluye temas como la integridad referencial y la integridad de entidades en una base de datos relacional , o la correcta omisión de datos de sensores imposibles en sistemas robóticos. Estas preocupaciones implican asegurar que los datos tengan sentido en su entorno. Entre los desafíos se encuentran los errores de software , los fallos de diseño y los errores humanos. Los métodos comunes para garantizar la integridad lógica incluyen restricciones de verificación , restricciones de clave externa , aserciones de programa y otras comprobaciones de coherencia en tiempo de ejecución.
Tanto la integridad física como la lógica suelen compartir muchos desafíos comunes, como errores humanos y fallos de diseño, y ambas deben gestionar adecuadamente las solicitudes simultáneas para registrar y recuperar datos, siendo este último tema un asunto aparte.
Si un sector de datos solo presenta un error lógico, puede reutilizarse sobrescribiéndolo con datos nuevos. En caso de un error físico, el sector de datos afectado queda inutilizable de forma permanente.
Bases de datos
La integridad de los datos incluye directrices para la retención de datos , especificando o garantizando el tiempo máximo que los datos pueden conservarse en una base de datos determinada. Para lograr la integridad de los datos, estas reglas se aplican de forma consistente y rutinaria a todos los datos que ingresan al sistema, y cualquier relajación en su cumplimiento podría provocar errores. Implementar verificaciones de los datos lo más cerca posible de su origen (como la entrada manual de datos) reduce la cantidad de datos erróneos que ingresan al sistema. El cumplimiento estricto de las reglas de integridad de los datos se traduce en menores tasas de error y un ahorro de tiempo en la resolución de problemas y el seguimiento de datos erróneos y los errores que estos provocan en los algoritmos.
La integridad de los datos también incluye reglas que definen las relaciones que un dato puede tener con otros datos, como por ejemplo, que un registro de cliente pueda vincularse a productos comprados , pero no a datos no relacionados, como activos corporativos . La integridad de los datos suele incluir comprobaciones y correcciones de datos no válidos, basadas en un esquema fijo o un conjunto de reglas predefinidas. Un ejemplo son los datos textuales introducidos donde se requiere un valor de fecha y hora. También se aplican reglas para la derivación de datos, que especifican cómo se deriva un valor de datos en función de un algoritmo, los contribuyentes y las condiciones. Asimismo, especifica las condiciones sobre cómo se podría volver a derivar el valor de datos.
Tipos de restricciones de integridad
La integridad de los datos en un sistema de base de datos se garantiza normalmente mediante una serie de restricciones o reglas de integridad. Tres tipos de restricciones de integridad son inherentes al modelo de datos relacional: integridad de entidad, integridad referencial e integridad de dominio.
- La integridad de la entidad se refiere al concepto de clave primaria . La integridad de la entidad es una regla de integridad que establece que cada tabla debe tener una clave primaria y que la columna o columnas elegidas para ser la clave primaria deben ser únicas y no nulas.
- La integridad referencial se refiere al concepto de clave externa . La regla de integridad referencial establece que cualquier valor de clave externa solo puede estar en uno de dos estados. Lo habitual es que el valor de la clave externa haga referencia a un valor de clave primaria de alguna tabla en la base de datos. Ocasionalmente, y esto dependerá de las reglas del propietario de los datos, un valor de clave externa puede ser nulo . En este caso, estamos indicando explícitamente que no existe ninguna relación entre los objetos representados en la base de datos o que esta relación es desconocida.
- La integridad de dominio especifica que todas las columnas de una base de datos relacional deben declararse dentro de un dominio definido. La unidad básica de datos en el modelo relacional es el elemento de datos. Dichos elementos de datos se denominan atómicos o no descomponibles. Un dominio es un conjunto de valores del mismo tipo. Por lo tanto, los dominios son conjuntos de valores a partir de los cuales se extraen los valores que aparecen en las columnas de una tabla.
- La integridad definida por el usuario se refiere a un conjunto de reglas especificadas por un usuario, que no pertenecen a las categorías de integridad de entidad, dominio y referencial.
Si una base de datos admite estas características, es responsabilidad de la base de datos garantizar la integridad de los datos, así como el modelo de consistencia para el almacenamiento y la recuperación de los mismos. Si una base de datos no admite estas características, es responsabilidad de las aplicaciones garantizar la integridad de los datos, mientras que la base de datos admite el modelo de consistencia para el almacenamiento y la recuperación de los mismos.
Tener un sistema de integridad de datos único, bien controlado y bien definido aumenta
- estabilidad (un sistema centralizado realiza todas las operaciones de integridad de datos)
- rendimiento (todas las operaciones de integridad de datos se realizan en el mismo nivel que el modelo de consistencia)
- Reutilización (todas las aplicaciones se benefician de un único sistema centralizado de integridad de datos).
- mantenibilidad (un sistema centralizado para la administración de la integridad de todos los datos).
Las bases de datos modernas admiten estas características (véase Comparación de sistemas de gestión de bases de datos relacionales ), y garantizar la integridad de los datos se ha convertido en responsabilidad inherente de la base de datos. Las empresas, y de hecho muchos sistemas de bases de datos, ofrecen productos y servicios para migrar sistemas heredados a bases de datos modernas.
Ejemplos
An example of a data-integrity mechanism is the parent-and-child relationship of related records. If a parent record owns one or more related child records all of the referential integrity processes are handled by the database itself, which automatically ensures the accuracy and integrity of the data so that no child record can exist without a parent (also called being orphaned) and that no parent loses their child records. It also ensures that no parent record can be deleted while the parent record owns any child records. All of this is handled at the database level and does not require coding integrity checks into each application.
File systems
Various research results show that neither widespread filesystems (including UFS, Ext, XFS, JFS and NTFS) nor hardware RAID solutions provide sufficient protection against data integrity problems.[5][6][7][8][9]
Some filesystems (including Btrfs and ZFS) provide internal data and metadata checksumming that is used for detecting silent data corruption and improving data integrity. If a corruption is detected that way and internal RAID mechanisms provided by those filesystems are also used, such filesystems can additionally reconstruct corrupted data in a transparent way.[10] This approach allows improved data integrity protection covering the entire data paths, which is usually known as end-to-end data protection.[11]
Data integrity as applied to various industries
- The U.S. Food and Drug Administration has created draft guidance on data integrity for the pharmaceutical (2017).[12]
- Other sectors such as mining[13] and product manufacturing[14] are increasingly focusing on the importance of data integrity in associated automation and production monitoring assets.
- Cloud storage providers have long faced significant challenges ensuring the integrity or provenance of customer data and tracking violations.[15][16]
See also
References
- ↑Boritz, J. "IS Practitioners' Views on Core Concepts of Information Integrity". International Journal of Accounting Information Systems. Elsevier. Archived from the original on 5 October 2011. Retrieved 12 August 2011.
- ↑What is Data Integrity? Learn How to Ensure Database Data Integrity via Checks, Tests, & Best Practices
- ↑What is Data Integrity? Data Protection 101
- ↑From the book: Uberveillance and the Social Implications of Microchip Implants: Emerging Page 40
- ↑Vijayan Prabhakaran (2006). "IRON FILE SYSTEMS"(PDF). Doctor of Philosophy in Computer Sciences. University of Wisconsin-Madison. Archived(PDF) from the original on 2022-10-09. Retrieved 9 June 2012.
- ↑"Parity Lost and Parity Regained".
- ↑"An Analysis of Data Corruption in the Storage Stack"(PDF). Archived(PDF) from the original on 2022-10-09.
- ↑"Impact of Disk Corruption on Open-Source DBMS"(PDF). Archived(PDF) from the original on 2022-10-09.
- ↑"Baarf.com". Baarf.com. Retrieved November 4, 2011.
- ↑Bierman, Margaret; Grimmer, Lenz (August 2012). "How I Use the Advanced Capabilities of Btrfs". Retrieved 2014-01-02.
- ↑Yupu Zhang; Abhishek Rajimwale; Andrea Arpaci-Dusseau; Remzi H. Arpaci-Dusseau (2010). "End-to-end data integrity for file systems: a ZFS case study"(PDF). USENIX Conference on File and Storage Technologies. CiteSeerX 10.1.1.154.3979. S2CID 5722163. Wikidata Q111972797. Retrieved 2014-01-02.
- ↑Davidson, J. (18 July 2017). "Data Integrity Guidance Around the World". Contract Pharma. Rodman Media. Retrieved 20 January 2018.
- ↑"Data Integrity: Enabling Effective Decisions in Mining Operations"(PDF). Accenture. 2016. Archived(PDF) from the original on 2022-10-09. Retrieved 20 January 2018.
- ↑ "La Industria 4.0 y los sistemas ciberfísicos aumentan la importancia de la integridad de los datos" . Blog de Nymi . Nymi, Inc. 24 de octubre de 2017. Archivado del original el 20 de enero de 2018. Consultado el 20 de enero de 2018 .
- ↑ Priyadharshini, B.; Parvathi, P. (2012). "Integridad de los datos en el almacenamiento en la nube". Actas de la Conferencia Internacional de 2012 sobre Avances en Ingeniería, Ciencia y Gestión . ISBN 9788190904223.
- ↑ Zafar, F.; Khan, A.; Malik, SUR; et al. (2017). "Un estudio de los esquemas de integridad de datos en la computación en la nube: desafíos de diseño, taxonomía y tendencias futuras". Computers & Security . 65 : 29–49 . doi : 10.1016/j.cose.2016.10.006 .
Lecturas adicionales
Este artículo incorpora material de dominio público de la Norma Federal 1037C . Administración de Servicios Generales . Archivado del original el 22 de enero de 2022. (en apoyo de la norma MIL-STD-188 ).- Xiaoyun Wang; Hongbo Yu (2005). "Cómo romper MD5 y otras funciones hash" (PDF) . EUROCRYPT . ISBN 3-540-25910-4. Archivado del original (PDF) el 21-05-2009 . Consultado el 10-05-2009 .
- Calidad de los datos
- Procesamiento de transacciones