연계데이터 정합성 관리 방안 조사

2022-05-18

정합성

정합성이란 한자어로 가지런할 정, 합할 합, 성질 성으로, 어떤 사람의 언어 혹은 논변이 그것을 포함하는 전제들이 체계를 무너뜨리지 않고 잘 어울린다.

데이터가 서로 모순 없이 일관되게 일치함을 의미합니다.

정합성01

예시로 위의 그림과 같이 “술은 마셨지만, 음주운전은 하지 않았다“ 라는 말은 정합성이 훼손되었다고 볼 수 있습니다.

정합성02

그리고 박진영 본인의 도플갱어에게 “우리 회사 스타일의 외모는 아니에요!” 라고 말하는것도 정합성이 훼손되었다고 볼 수 있습니다.

만약 정합성을 지키려고 한다면, 박진영이 퇴사를 해야 합니다.

연계 데이터에서의 정합성

그렇다면 연계 데이터에서의 정합성을 알아보겠습니다.

정합성03

정합성을 요구하는 문서의 대상이 위와 같이 5개가 있다고 가정해 봅시다.

만약에 하나의 문서가 수정되면, 관계된 문서 모두가 수정되어야 합니다.

하지만 검사기준서에는 이미 반영되어 있는 값이 공정관리 계획서에는 반영 되지 않은 이전의 값이 적용되어 있는 경우도 허다합니다.

작업 라인공정, 생상 제품이 많은 경우에는 더 빈번하게 일어납니다.

데이터 무결성 저하 유형

기술계열에서는 정합성을 주로 데이터 무결성을 가르키게 되며, 해당 표는 데이터 무결성 저하 유형을 요약한 것입니다.

정합성04

인식불가 데이터는 검증을 하지 않아 유효하지 않은 데이터가 들어간 것으로 가령, 전화번호 입력필드에 영문이 기록되는 현상등이 될 수 있습니다. (사용자 실수 또는 고의, 검증을 하지 않음)

중복데이터는 동일한 데이터가 저장된 것을 말하고, 가령 ‘홍길동’ 이라는 유저를 두번 이상 등록된 경우를 말합니다. (데이터 설계 잘못)

중복데이터가 서로 동일하지 않은 것으로 ‘홍길동’ 이라는 유저가 두번이상 등록이 되었는데, 처음 등록할때는 주소지를 서울이라고 하였는데, 두번째 등록때는 부산이라고 등록한 경우를 말합니다. (데이터 설계 잘못)

데이터 이상은 한쪽에서 변형이 이루어졌는데, 다른 한쪽은 변형이 이루어지지 않는 현상입니다, 가령 홍길동이라는 유저가 이사를 하여 집 주소를 변경이 되었는데, 해당 집 주소를 조회하면 거주지가 홍길동으로 나오는 것을 말합니다. (데이터 설계 잘못) 데이터 읽기 비일관성은 마지막으로 커밋된 데이터가 아닌 그 전의 내용을 다른 사용자에게 보여지는 현상이며, 홍길동이라는 유저가 이사를 하여 집주소를 변경했는데, B라는 사람이 홍길동의 주소를 검색시 이사한 주소가 아니라 과거 주소가 표시된는 경우를 말합니다. 데이터 비동시성은 복수의 사용자가 하나의 데이터에 접근하는 경우를 말합니다. 둘다 읽는 경우는 상관없지만 둘다 같은데이터를 쓰는 경우 문제가 발생하게 됩니다. ()

DB차원에서 무결성 제약

이런 정합성을 해치는 일을 방지하기 위해서 db차원에서 무결설 제약을 걸수가 있습니다.

굉장히 복잡한 로직으로 인해서 데이터베이스에서 컨트롤이 불가능한 경우가 아니라고 한다면, 데이터베이스에서 데이터 무결성 제약을 잘 구성하는 것이 필요합니다.

이 무결성 제약에는 4가지가 있습니다.

1) 개체 무결성 (Entity integrity) 모든 테이블기본 키 (primary key)로 선택된 필드 (column)를 가져야 한다. 기본 키로 선택된 필드는 고유한 값을 가져야 하며, 빈 값은 허용하지 않는다. 2) 참조 무결성 (Referential integrity) 관계형 데이터베이스 모델에서 참조 무결성은 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것을 말한다. 정합성05 옆에 보이는 그림은 참조 무결성의 예시 입니다. 관계형 데이터베이스 모델에서 참조 무결성이 깨지는 경우를 나타낸다. 이 예시에서는 부서 테이블을 참조하는 학생 테이블을 보여주고 있다. 이러한 참조 관계에서 만약 부서 테이블에서 id 값이 310인 레코드가 삭제되면 학생 테이블의 3번째 레코드는 더 이상 존재하지 않는 데이터를 참조하게 된다. 참조 무결성에 대한 예시는 설명한 것 이외에도 더 많은 것들이 있다. 참조 무결성에 대한 더욱 자세한 사항은 이 글의 다음 부분에 있는 외래 키 (foreign key) 항목에서 더욱 자세하게 설명할 것이다. 3) 도메인 무결성 (Domain integrity) 도메인 무결성은 테이블에 존재하는 필드의 무결성을 보장하기 위한 것으로 필드의 타입, NULL값의 허용 등에 대한 사항을 정의하고, 올바른 데이터의 입력 되었는지를 확인하는 것이다. 예를 들어, 주민등록번호 필드알파벳이 입력되는 경우는 도메인 무결성이 깨지는 경우라고 볼 수 있다. DBMS의 기본값 설정, NOT NULL 옵션 등의 제약 사항으로 도메인 무결성을 보장할 수 있다. 4) 무결성 규칙 (Integrity rule) 데이터베이스에서 무결성 규칙은 데이터의 무결성을 지키기 위한 모든 제약 사항들을 말한다. 비즈니스 규칙 (business rule)은 데이터베이스를 이용하는 각각의 유저에 따라 서로 다르게 적용되지만, 무결성 규칙은 데이터베이스 전체에 공통적으로 적용되는 규칙이다.

영국 국가보건 서비스

실제로 연계 데이터가 구축되어 있는 서비스를 살펴보겠습니다.

정합성06

해당 그림은 영국 국가보건서비스(NHS)의 데이터 연계 현황입니다.

데이터 연계는 다음과 같은 절차에 의해서 이루어집니다.

① 매년 CPRD는 공공보건연구 목적으로 익명화된 연계 데이터를 제공하는 것에 대해 보건연구당국의 Section 251 규제 승인을 받아야 한다.

② 데이터 연계는, 환자식별정보를 합법적으로 수집할 권한을 가진 잉글랜드의 법정 기구NHS Digital에 의해 이루어진다. 즉, NHS Digital 이 ‘신뢰할 수 있는 제3자(TTP)’의 역할을 수행한다.

③ 연계를 위해, 일반의가 수집한 환자식별정보(NHS 번호, 생년월일, 우편번호, 성별)와 다른 데이터셋의 식별정보가 NHS Digital로 보내진다.

④ NHS Digital은 두 데이터셋에서 환자식별정보를 매칭하여, 환자식별정보를 포함하지 않은 암호화된 연계키(encrypted linker key)를 산출한다.

⑤ NHS Digital은 CPRD가 비식별 데이터셋을 연계할 수 있도록 암호화된 연계키를 CPRD에 보낸다.

⑥ CPRD는 일반의나 NHS Digital로부터 절대 환자식별정보를 받지 않는다.

⑦ 공공보건연구 목적으로 연계 데이터에 접근하고자 하는 연구자는 독립적 과학자문위원회(ISAC)의 승인을 받아야 한다.

⑧ ISAC의 승인에 따라 연구자에게 익명화된 데이터셋을 제공하기 이전에 추가로 암호화한다. 라이선스를 가진 연구자가 ISAC이 승인한 연구를 수행하는 경우에는 CPRD가 보유한 익명화된 1차 진료 데이터베이스에 온라인으로 접근할 수 있다.

마이데이터

해당 그림은 마이데이터 연계 현황입니다.

정합성07

마이데이터 종합포털이 NHS Digital의 역할을 하는 ‘신뢰할 수 있는 제3자’의 역할을 하며, 종합포털에 정보제공자 및 사업자를 등록하고 서비스를 이용하도록 되어 있습니다.

정보제공자 및 사업자등의 식별키를 관리 제공한다고 보시면 됩니다.

식별키 및 기타 정보나 api 정보등도 제공하게 됩니다.

스마트 팩토리에서 관리방안

정합성08

영국 보건 서비스나 마이데이터와 같이 NHS에 해당하는 “신뢰할수 있는 제3자” 가 있어야 합니다. 가칭으로 스마트 팩토리 포털이라고 지칭하겠습니다.

포털에서는 연계키로 사용될 수 있는 정보를 관리하도록 합니다.

등록시에는 무결성을 해치지 않는 선에서 등록이 되어야 하며, 제약조건 및 기타 체크를 잘 해야 합니다.

영국 보건 서비스에서 의사에 해당 하는 자를 공장 이하 “정보제공자” 라고 표현하겠습니다.

정보 제공자는 생산, 공정, 제품 기타 여러 정보를 제공해야 합니다.

해당 정보는 회사 내의 db등의 시스템에서 등에서 가져올 수 있으며, 제공 데이터는 표준화된 데이터를 제공해야 하며, 제공자는 API 는 직접 구축해야 합니다.

그리고 “스마트 팩토리 사업자”가 있을 텐데

사업자는 각 공장에 데이터를 요청, 수집할 수 있으며, 이를 바탕으로 서비스를 만드는 자입니다.

이 사업자에는 “정보 제공자” 역시도 “스마트 팩토리 사업자”가 될 수 있습니다.

results matching ""

    No results matching ""

    99 other / uml

    04 react / JSX