맨위로가기

데이터 무결성

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

데이터 무결성은 데이터가 정확하고 완전하며, 의도하지 않은 변경이 없는 상태를 의미한다. 이는 데이터 손상의 반대 개념으로, 데이터의 정확한 기록과 검색을 보장하는 것을 목표로 한다. 데이터 무결성은 물리적, 논리적 무결성으로 분류되며, 개체, 참조, 범위 무결성과 같은 유형이 존재한다. 관계형 데이터베이스에서는 데이터베이스 시스템이 무결성을 강제하며, 파일 시스템, 정보 보안, 다양한 산업 분야에서 데이터 무결성의 중요성이 강조된다.

더 읽어볼만한 페이지

  • 데이터 품질 - 데이터 정제
    데이터 정제는 데이터의 유효성, 정확성, 완전성, 일관성, 균일성 확보를 목표로 데이터 감사, 워크플로 사양, 워크플로 실행, 사후 처리 및 제어 단계를 거쳐 데이터의 부정확성과 불일치 문제를 해결하고 신뢰성을 높이는 과정이다.
  • 데이터 품질 - 데이터 손상
    데이터 손상은 시스템 오류로 인해 발생하며, 탐지되지 않을 경우 심각한 문제를 야기할 수 있어 체크섬, 오류 정정 코드 등의 기술을 통해 데이터 무결성을 유지하는 것이 중요하다.
  • 트랜잭션 처리 - 2단계 커밋 프로토콜
    2단계 커밋 프로토콜은 분산 컴퓨팅 환경에서 트랜잭션의 원자성을 보장하는 분산 알고리즘으로, 조정자와 참가자로 구성되어 모든 참가자가 트랜잭션을 완료하거나 아무도 완료하지 못하도록 하며, 커밋 요청 및 커밋 단계를 거쳐 모든 참가자의 동의를 얻어야 커밋된다.
  • 트랜잭션 처리 - 온라인 트랜잭션 처리
    온라인 트랜잭션 처리(OLTP)는 실시간 데이터베이스 트랜잭션 처리 방식으로, 가용성, 속도, 동시성, 내구성을 목표로 은행, 항공사, 전자 상거래 등에서 활용된다.
데이터 무결성
일반 정보
이름데이터 무결성
다른 이름정보 무결성
영어 이름Data integrity
개요
정의데이터의 전체 수명 주기 동안 정확성, 완전성 및 일관성을 유지하고 보장하는 것
중요성데이터베이스 시스템의 정확성과 완전성을 보장하는 데 중요
필요성기업이 최상의 정보에 의존하여 중요한 결정을 내릴 수 있도록 함
데이터 무결성 유형
물리적 무결성자연 재해나 정전과 같은 사건으로 인한 데이터 손상으로부터 데이터를 보호
논리적 무결성데이터베이스의 구조와 규칙을 손상시킬 수 있는 소프트웨어 버그 또는 인간의 실수로부터 데이터를 보호
엔티티 무결성
참조 무결성
도메인 무결성
사용자 정의 무결성
물리적 무결성 손실의 원인
데이터 무결성을 손상시키는 요인
데이터 무결성을 유지하는 방법
접근 통제데이터에 접근할 수 있는 사람을 제한
감사 추적데이터 변경 사항을 추적
백업 및 복구데이터 손실 시 복구 계획 수립
유효성 검사데이터가 정확하고 완전한지 확인

2. 데이터 무결성의 정의

데이터 무결성은 일반적으로 일련의 무결성 제한이나 규칙에 의해 데이터베이스 시스템이 강제한다. 이러한 종류의 무결성 제한들은 관계형 데이터 모델의 기본 기능의 일부로 볼 수 있다.

데이터 무결성은 데이터 손상의 반대 개념이다.[4] 모든 데이터 무결성 기술의 전반적인 목적은 데이터를 의도한 대로 정확하게 기록하고, 이후 데이터 검색 시 원래 기록했을 때와 동일한 데이터인지 확인하는 것이다. 즉, 데이터 무결성은 정보의 의도하지 않은 변경을 방지하는 것을 목표로 한다. 데이터 무결성은 무단 접근으로부터 데이터를 보호하는 데이터 보안과는 혼동해서는 안 된다.

저장, 검색 또는 처리 작업의 결과로 발생하는 의도하지 않은 데이터 변경은 악의적인 의도, 예상치 못한 하드웨어 고장, 인적 오류를 포함하여 데이터 무결성의 실패를 의미한다. 이러한 변경이 무단 접근의 결과인 경우 데이터 보안의 실패일 수도 있다. 관련된 데이터에 따라, 이미지의 단일 픽셀이 원래 기록된 색상과 다르게 나타나는 것과 같이 사소한 문제부터 휴가 사진 손실, 업무상 중요한 데이터베이스 손실, 심지어 생명 유지 시스템에서 인명 피해와 같은 치명적인 손실까지 다양한 형태로 나타날 수 있다.

관계형 데이터베이스에서의 데이터 무결성이란, 데이터베이스 내 데이터의 정확성 및 유효성을 의미한다. 많은 관계형 데이터베이스 관리 시스템(RDBMS)에서는 데이터베이스 내의 '''데이터 무결성'''을 보장하기 위해 고유 제약 조건이나 CHECK 제약 조건, 또는 엔티티참조 무결성을 유지하기 위한 제약 등을 설정하는 기능이 있다.

데이터 무결성의 유형은 다음과 같다.


  • 개체 무결성(Entity integrity)은 고유 키(유일 키)의 개념과 관련된다. 개체 무결성은 모든 테이블이 기본 키(primary key)를 가져야 하며 기본 키로 선택된 열은 고유하여야 하며 빈 값은 허용치 않음을 규정한다.
  • 참조 무결성(Referential integrity)은 외래 키(외부 키)의 개념과 관련된다. 참조 무결성 규칙은 모든 외래 키 값은 두 가지 상태 가운데 하나에만 속함을 규정한다. 일반적인 상태는 외래 키 값이 데이터베이스의 특정 테이블의 기본 키 값을 참조하는 것이다. 이따금 이는 비즈니스의 규칙에 따라 달라질 수 있으며 외래 키 값은 빈 값을 허용한다.
  • 범위 무결성(Domain integrity)은 정의된 범위에서 관계형 데이터베이스의 모든 열이 선언되도록 규정한다.


참조 무결성이란, 예를 들어 여성 A와 남성 B가 부부라면 여성 A의 배우자의 배우자가 여성 A라는 것을 말한다. 여성 A의 배우자의 배우자가 여성 C라면 해당 데이터의 정확성 및 유효성에 문제가 있는 것이다. 즉, 데이터 무결성에 문제가 있는 것이다. 이 배우자의 예는 상호 참조라고 불리는 관계의 정규화가 불충분한 상태이며, 관계의 정규화가 불충분하면 데이터 무결성을 유지하기 어려워진다.

참조 무결성을 유지하기 위한 제약은 일반적으로 부모-자식 관계에 있는 엔티티끼리, 부모 데이터[23]를 갖지 않는 자식 데이터[24]가 존재하지 않도록, 예를 들어 자식 데이터가 있는 부모 데이터의 삭제 등의 위반하는 데이터 조작을 거부하는 메커니즘이다.

3. 무결성 유형

데이터 무결성은 일반적으로 일련의 무결성 제한이나 규칙에 의해 데이터베이스 시스템이 강제한다. 이러한 종류의 무결성 제한들은 관계형 데이터 모델의 기본 기능의 일부로 볼 수 있다.

데이터 무결성의 유형은 다음과 같다.

유형설명
개체 무결성고유 키(유일 키) 개념과 관련되며, 모든 테이블이 기본 키(primary key)를 가져야 하고 기본 키로 선택된 열은 고유해야 하며 빈 값은 허용되지 않음을 규정한다.
참조 무결성외래 키(외부 키) 개념과 관련되며, 모든 외래 키 값은 두 가지 상태 가운데 하나에만 속함을 규정한다. 일반적인 상태는 외래 키 값이 데이터베이스의 특정 테이블의 기본 키 값을 참조하는 것이다. 때로는 비즈니스 규칙에 따라 외래 키 값이 빈 값을 허용하기도 한다.
범위 무결성정의된 범위에서 관계형 데이터베이스의 모든 열이 선언되도록 규정한다.



많은 관계형 데이터베이스 관리 시스템(RDBMS)에서는 데이터베이스 내의 '''데이터 무결성'''을 보장하기 위해 고유 제약 조건이나 CHECK 제약 조건, 또는 엔티티참조 무결성을 유지하기 위한 제약 등을 설정하는 기능이 있다.

참조 무결성은 예를 들어 여성 A와 남성 B가 부부라면 여성 A의 배우자의 배우자가 여성 A라는 것을 말한다. 여성 A의 배우자의 배우자가 여성 C라면 해당 데이터는 정확성과 유효성에 문제가 있는 것이다. 즉, 데이터 무결성에 문제가 있다. 이 배우자의 예는 상호 참조라고 불리는 관계의 정규화가 불충분한 상태이며, 관계의 정규화가 불충분하면 데이터 무결성을 유지하기 어려워진다.[23]

암호 이론과 컴퓨터 보안에서 완전성은 데이터의 유효성을 의미하며, 다음과 같은 사항으로 인해 손상될 수 있다.


  • 악의적인 변경: 공격자가 은행 거래 금액 등의 값을 변조하거나, 인증 서류를 위조하는 것.
  • 사고로 인한 변경: 데이터 전송 시 오류나 하드 디스크의 헤드 크래시 등.


일본정보처리개발협회의 「ISMS 인증 기준 Ver.2.0」에서는 "정보 및 처리 방법이 정확하고 완전하게 보호되는 것"으로 정의한다.

3. 1. 물리적 무결성

물리적 무결성은 데이터를 올바르게 저장하고 가져오는 것과 관련된 문제들을 다룬다. 물리적 무결성 문제는 전기 기계적 결함, 설계 결함, 재료 피로, 부식, 정전, 자연 재해, 그리고 이온화 방사선, 극한 온도, 압력 및 중력 가속도와 같은 기타 특수한 환경 위험을 포함할 수 있다. 물리적 무결성을 보장하기 위해서는 중복 하드웨어, 무정전 전원 공급 장치, 특정 유형의 RAID, 방사선 내성 칩, 오류 정정 메모리, 클러스터 파일 시스템 사용, ZFS와 같이 블록 수준의 체크섬을 사용하는 파일 시스템, 배타적 OR 또는 암호화 해시 함수를 사용하여 패리티 계산을 수행하는 스토리지 어레이, 그리고 중요한 하위 시스템에 대한 워치독 타이머와 같은 방법들이 사용된다.[1]

물리적 무결성은 종종 오류 정정 코드로 알려진 오류 감지 알고리즘을 광범위하게 사용한다. 사람이 유발하는 데이터 무결성 오류는 Damm 알고리즘 또는 Luhn 알고리즘과 같은 더 간단한 검사 및 알고리즘을 사용하여 감지되는 경우가 많다. 이는 인간 중개자(예: 신용 카드 또는 은행 라우팅 번호)를 통해 한 컴퓨터 시스템에서 다른 컴퓨터 시스템으로 수동으로 데이터를 옮긴 후 데이터 무결성을 유지하는 데 사용된다. 컴퓨터가 유발하는 전사 오류는 해시 함수를 통해 감지할 수 있다.[1]

프로덕션 시스템에서는 이러한 기술을 함께 사용하여 다양한 수준의 데이터 무결성을 보장한다. 예를 들어, 컴퓨터 파일 시스템은 내결함성 RAID 어레이에서 구성될 수 있지만 침묵하는 데이터 손상을 감지하고 방지하기 위해 블록 수준의 체크섬을 제공하지 않을 수 있다. 또 다른 예로, 데이터베이스 관리 시스템은 ACID 속성을 준수할 수 있지만 RAID 컨트롤러 또는 하드 디스크 드라이브의 내부 쓰기 캐시는 그렇지 않을 수 있다.[1]

3. 2. 논리적 무결성

이 유형의 무결성은 특정 맥락에서 데이터 조각의 정확성 또는 합리성과 관련이 있다. 여기에는 참조 무결성 및 개체 무결성이나 로봇 시스템에서 불가능한 센서 데이터를 올바르게 무시하는 것과 같은 주제가 포함된다. 이러한 문제는 데이터가 환경에 비추어 "합리적인지" 확인하는 것과 관련이 있다. 문제점으로는 소프트웨어 버그, 설계 결함 및 사람의 실수가 있다. 논리적 무결성을 보장하는 일반적인 방법으로는 확인 제약, 외래 키 제약, 프로그램 단언 및 기타 런타임 유효성 검사가 있다.[23]

물리적 무결성과 논리적 무결성은 종종 사람의 실수와 설계 결함과 같은 많은 문제를 공유하며, 둘 다 데이터를 기록하고 검색하기 위한 동시 요청을 적절하게 처리해야 한다.[23]

데이터 섹터에 논리적 오류만 있는 경우 새 데이터로 덮어쓰는 방식으로 재사용할 수 있다. 물리적 오류가 발생한 경우, 영향을 받은 데이터 섹터는 영구적으로 사용할 수 없게 된다.[23]

4. 관계형 데이터베이스에서의 무결성

관계형 데이터베이스에서 데이터 무결성은 데이터베이스 내 데이터의 정확성과 유효성을 의미한다.[23] 많은 관계형 데이터베이스 관리 시스템(RDBMS)에서는 데이터베이스 내의 데이터 무결성을 보장하기 위해 고유 제약 조건, CHECK 제약 조건, 엔티티참조 무결성을 유지하기 위한 제약 등을 설정하는 기능을 제공한다.[24]

예를 들어, 여성 A와 남성 B가 부부라면 여성 A의 배우자는 남성 B이고, 남성 B의 배우자는 여성 A여야 한다. 만약 여성 A의 배우자가 남성 B인데, 남성 B의 배우자가 여성 C라면 데이터 무결성에 문제가 있는 것이다. 이처럼 상호 참조 관계에서 관계의 정규화가 불충분하면 데이터 무결성을 유지하기 어려워진다.

4. 1. 무결성 제약 조건

데이터 무결성은 일반적으로 일련의 무결성 제약 조건이나 규칙에 의해 데이터베이스 시스템이 강제한다. 이러한 종류의 무결성 제약 조건들은 관계형 데이터 모델의 기본 기능의 일부로 볼 수 있다.

데이터 무결성의 유형은 다음과 같다.

  • 개체 무결성(Entity integrity)은 고유 키(유일 키)의 개념과 관련된다. 개체 무결성은 모든 테이블이 기본 키(primary key)를 가져야 하며, 기본 키로 선택된 열은 고유해야 하고 빈 값은 허용하지 않음을 규정한다.
  • 참조 무결성(Referential integrity)은 외래 키(외부 키)의 개념과 관련된다. 참조 무결성 규칙은 모든 외래 키 값은 두 가지 상태 가운데 하나에만 속함을 규정한다. 일반적인 상태는 외래 키 값이 데이터베이스의 특정 테이블의 기본 키 값을 참조하는 것이다. 때때로 이는 비즈니스의 규칙에 따라 달라질 수 있으며, 외래 키 값은 빈 값을 허용한다.
  • 범위 무결성(Domain integrity)은 정의된 범위에서 관계형 데이터베이스의 모든 열이 선언되도록 규정한다.
  • 사용자 정의 무결성은 개체, 도메인 및 참조 무결성 범주에 속하지 않는 사용자가 지정한 규칙 집합을 나타낸다.


데이터베이스가 이러한 기능을 지원하는 경우, 데이터 저장 및 검색에 대한 일관성 모델뿐만 아니라 데이터 무결성을 보장하는 것은 데이터베이스의 책임이다. 데이터베이스가 이러한 기능을 지원하지 않는 경우, 데이터베이스가 데이터 저장 및 검색에 대한 일관성 모델을 지원하는 동안 데이터 무결성을 보장하는 것은 응용 프로그램의 책임이다.

4. 2. 참조 무결성 유지 메커니즘

관계형 데이터베이스에서 참조 무결성을 유지하는 일반적인 메커니즘은 부모-자식 관계에 있는 엔티티 간에 작동한다. 이 메커니즘은 부모 데이터[23]를 가지지 않는 자식 데이터[24]가 존재하지 않도록 보장한다. 예를 들어, 자식 데이터가 있는 상태에서 부모 데이터를 삭제하려고 하면 시스템이 이러한 데이터 조작을 거부하는 방식으로 작동한다.

데이터 무결성 메커니즘의 한 예는 관련 레코드의 부모-자식 관계이다. 부모 레코드가 하나 이상의 관련된 자식 레코드를 소유하는 경우, 모든 참조 무결성 프로세스는 데이터베이스 자체에서 처리된다. 데이터베이스는 자동으로 데이터의 정확성과 무결성을 보장하여, 부모 없이 자식 레코드가 존재할 수 없고(고아라고도 함) 부모가 자식 레코드를 잃는 일이 없도록 한다. 또한 부모 레코드가 자식 레코드를 소유하는 동안에는 부모 레코드를 삭제할 수 없다. 이 모든 것은 데이터베이스 수준에서 처리되며, 각 애플리케이션에 무결성 검사를 코딩할 필요가 없다.

5. 파일 시스템에서의 무결성

다양한 연구 결과에 따르면, 널리 사용되는 파일 시스템(UFS, Ext, XFS, JFS, NTFS)과 하드웨어 RAID 솔루션 모두 데이터 무결성 문제에 대한 충분한 보호를 제공하지 못하는 것으로 나타났다.[5][6][7][8][9]

일부 파일 시스템(BtrfsZFS)은 무결성 검사(checksumming)를 위한 내부 데이터 및 메타데이터를 제공하여 무음 데이터 손상을 감지하고 데이터 무결성을 향상시킨다. 이러한 방식으로 손상이 감지되고 해당 파일 시스템에서 제공하는 내부 RAID 메커니즘이 사용되는 경우, 이러한 파일 시스템은 손상된 데이터를 투명하게 재구성할 수도 있다.[10] 이 접근 방식은 일반적으로 엔드 투 엔드 데이터 보호라고 알려진 전체 데이터 경로를 포괄하는 향상된 데이터 무결성 보호를 가능하게 한다.[11]

6. 정보 보안에서의 무결성

데이터 무결성은 데이터 손상의 반대 개념이다.[4] 정보의 의도하지 않은 변경을 방지하는 것을 목표로 한다. 데이터 무결성은 무단 접근으로부터 데이터를 보호하는 데이터 보안과는 혼동해서는 안 된다.

암호 이론과 컴퓨터 보안에서, 완전성은 데이터의 유효성을 의미한다. 완전성은 다음과 같은 사항으로 인해 손상될 수 있다.


  • 악의적인 변경: 공격자가 은행 거래 금액 등의 값을 변조하거나, 인증 서류를 위조하는 것.
  • 사고로 인한 변경: 데이터 전송 시 오류나 하드 디스크의 헤드 크래시 등.


일본정보처리개발협회의 「ISMS 인증 기준 Ver.2.0」에 따르면, 정보 및 처리 방법이 정확하고 완전하게 보호되는 것을 데이터 무결성으로 정의한다. 고의 또는 과실을 불문하고, 시스템에 의도된 내용과 다른 데이터 입출력 및 데이터 처리가 이루어지는 상황은 데이터 완전성을 상실한 것으로 간주할 수 있다.

이러한 완전성을 보장하기 위해, 메시지 인증 코드(MAC)가 자주 사용된다.

7. 다양한 산업 분야에서의 데이터 무결성

의약품 제조 분야에서는 GMP를 통해 데이터 무결성을 관리한다. 미국 식품의약국(FDA)은 제약 제조업체가 준수해야 할 데이터 무결성 지침(미국 연방 규정 21 CFR Part 210–212)을 마련했다.[12] 영국(2015년), 스위스(2016년), 호주(2017년)도 유사한 지침을 발표했다.[13] 의료 기기 제조 분야에서는 ISO 13485, ISO 14155, ISO 5840 등의 표준이 데이터 무결성을 다룬다.[14]

금융산업규제국(FINRA)은 2017년 초 자동 거래 및 자금 이동 감시 시스템의 데이터 무결성 문제를 지적하며 데이터 무결성 프로그램 개발을 우선시하겠다고 밝혔다.[15] 2018년 초에는 데이터 무결성에 대한 접근 방식을 기업의 기술 변경 관리 정책 및 절차, 재무부 증권 검토로 확대한다고 발표했다.[16]

광업[17] 및 제품 제조[18] 분야에서도 자동화 및 생산 모니터링 자산의 데이터 무결성이 중요해지고 있다. 클라우드 스토리지 제공업체는 고객 데이터의 무결성과 출처를 보장하고 위반 사항을 추적하는 데 어려움을 겪고 있다.[19][20][21]

참조

[1] 웹사이트 IS Practitioners' Views on Core Concepts of Information Integrity http://www.fdewb.uni[...] Elsevier 2011-08-12
[2] 웹사이트 What is Data Integrity? Learn How to Ensure Database Data Integrity via Checks, Tests, & Best Practices https://www.veracode[...]
[3] 웹사이트 What is Data Integrity? Data Protection 101 https://digitalguard[...]
[4] 서적 From the book: Uberveillance and the Social Implications of Microchip Implants: Emerging Page 40 https://books.google[...]
[5] 웹사이트 IRON FILE SYSTEMS http://pages.cs.wisc[...] University of Wisconsin-Madison 2012-06-09
[6] 웹사이트 Parity Lost and Parity Regained http://www.cs.wisc.e[...]
[7] 웹사이트 An Analysis of Data Corruption in the Storage Stack http://www.cs.wisc.e[...]
[8] 웹사이트 Impact of Disk Corruption on Open-Source DBMS http://www.cs.wisc.e[...]
[9] 웹사이트 Baarf.com http://www.baarf.com[...] Baarf.com 2011-11-04
[10] 웹사이트 How I Use the Advanced Capabilities of Btrfs http://www.oracle.co[...] 2012-08
[11] 웹사이트 Q111972797 2014-01-02
[12] 웹사이트 Data Integrity and Compliance with CGMP: Guidance for Industry https://www.fda.gov/[...] U.S. Food and Drug Administration 2016-04
[13] 웹사이트 Data Integrity Guidance Around the World https://www.contract[...] Rodman Media 2017-07-18
[14] 웹사이트 Data Integrity: A perspective from the medical device regulatory and standards framework https://www.pda.org/[...] Parenteral Drug Association 2015-05-12
[15] 웹사이트 2017 Regulatory and Examination Priorities Letter http://www.finra.org[...] Financial Industry Regulatory Authority 2017-01-04
[16] 웹사이트 2018 Regulatory and Examination Priorities Letter http://www.finra.org[...] Financial Industry Regulatory Authority 2018-01-08
[17] 웹사이트 Data Integrity: Enabling Effective Decisions in Mining Operations https://www.accentur[...] Accenture 2016
[18] 웹사이트 Industry 4.0 and Cyber-Physical Systems Raise the Data Integrity Imperative https://nymi.com/blo[...] Nymi, Inc 2017-10-24
[19] 간행물 Data integrity in cloud storage
[20] 간행물 A survey of cloud computing data integrity schemes: Design challenges, taxonomy and future trends
[21] 간행물 Provenance based data integrity checking and verification in cloud environments
[22] 문서 但し一夫多妻制の場合は、Aliceの夫Bobの妻がCatherineである可能性があるので、その場合には[[데이터베이스 설계]]に問題がある
[23] 문서 一般に、該当情報に関する[[주 키]]をもつ表(テーブル)
[24] 문서 一般に、該当情報に関する[[외부 키]]をもつ表(テーブル)
[25] 웹인용 IS Practitioners' Views on Core Concepts of Information Integrity http://www.fdewb.uni[...] Elsevier 2011-08-12



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com