#title 메타데이터의 중대한 역할 [[TableOfContents]] ==== 장의 목표 ==== * 메타데이터의 중요성을 이해 * 누가 메타데이터를 필요로 하고 그들이 무슨 유형들을 필요로 하는지 이해 * 세 가지 기능적인 영역들에 의한 메타데이터 유형들을 검토 * 업무 메타데이터와 기술 메타데이터를 상세히 논의 * 메타데이터가 만족해야만 하는 모든 요구사항들을 조사 * 메타데이터 관리에 대한 난제를 이해 * 메타데이터를 제공하기 위한 옵션들을 이해 ==== 왜 메타데이터가 중요한가 ==== DW에 질의하기 전에 떠오를 수 있는 질문들 * 내가 찾을 수 있는 미리 정의된 질의들이 있는가? * DW에 있는 데이터의 다양한 요소들은 무엇인가? * 제품별로 단위 매출과 단위 비용들에 대한 정보는 있는가? * 나는 이용 가능한 것을 어떻게 가져오고 볼 수 있는가? * DW에 대한 데이터를 어디로부터 가져왔는가? 어떤 소스 시스템들로부터 가져왔는가? * 그들은 전화 주문 시스템과 우편 주문 시스템으로부터 온 데이터를 어떻게 합병했는가? * DW에 있는 데이터는 얼마나 오래되었는가? * 새로운 데이터가 들어온 마지막 시간은 언제인가? * 월별과 제품별로 어떤 요약들이 있는가? 메타데이터의 다양한 정의들 * 데이터에 대한 데이터 * 데이터에 대한 목차 * 데이터를 위한 카탈로그 * DW 지도책(atlas) * DW 로드맵 * DW 디렉토리 * DW 내용을 같이 묶어주는 아교 * 데이터를 처리하는 집계 * 신경센터 DW에 결정적인 필요성 * DW 사용을 위해 * 사용자가 DW로부터 정보를 검색하기 위해 DW에 속한 데이터를 알 필요가 있음. * DW에 대한 내용을 쉽고 유연하게 알기 위한 방법이 필요함. * 사용자는 데이터 항목에 대한 의미를 알아야 함. * 사용자의 DW에 대한 내용을 알지 못해 발생할 수 있는 잘못된 의사결정을 막기 위해서 메타데이터는 필요하다. * DW 구축을 위해 * 소스 시스템의 구조를 알아야 한다 * DW와 소스의 맵핑룰을 알아야 한다 * DW에 데이터를 적재하기 위해 논리/물리 구조를 알아야 한다 * DW 관리를 위해 누가 메타데이터를 필요로 하는가? || ||IT전문가||파워유저||캐쥬얼유저|| ||정보발견||데이터베이스, 테이블, 컬럼, 서버플랫폼||데이터베이스, 테이블, 컬럼||미리정의된질의와 리포트, 비즈니스 뷰|| ||데이터의 의미||데이터 구조/정의/맵핑, 클린징함수, 변환룰||용어, 데이터 정의/맵핑, 클린징함수, 변환룰||용어, 데이터정의, 필터, 전환, 데이터소스, 데이터소유자|| ||정보액세스||SQL, 3GL, 4GL, Front-End App, 보안||Query Toolset, Database Access for Complex Analysis||인증요청, 스프레드시트 다운로드 등)|| ==== 최종 사용자를 위한 필수 메타데이터 ==== 예를 들어, 사용자는 다음의 질문들을 알아야 전략정보를 취득할 수 있다. * 지점별 날짜별 제품별로 판매량과 매출액이 저장되어 있는가? * 날짜별로 비교 분석이 가능한가? * 매출이 목표와 비교될 수 있는가? * 영업 이익은 어떻게 계산되는가? 업무 규칙들은 무엇인가? * 판매 지역의 정의는 무엇인가? * 매출 데이터는 어떤 소스 시스템으로부터? * 데이터는 얼마만에 갱신되는가? 분석가는 데이터의 성질을 확신하지 못하면, 분석 결과를 부정확하게 해석할 가능성이 있다. 메타데이터는 고객이 주문을 하기 위해 제품 카탈로그를 필요로 하는 것처럼 DW에 질의를 수행하기 위해 메타데이터를 필요로 한다. 다음은 최종 사용자를 위한 필수 메타데이터들이다. * Data Contents * Summary Data * Business Dimentions * Business Metrics * Navigation Paths * Source Systems * External Data * Data Transformation Rules * Last Update Dates * Data Load/Update Cycles * Query Templates * Report Templates * Predefined Queries/Reports * OLAP Data ==== IT 전문가를 위한 필수 메타데이터 ==== * Soruce Data Structures * Source Plaforms * Data Extraction Methods * External Data * Data Transformation Rules * Data Cleansing Rules * Staging Area Structures * Dimensional Medels * Initial Loads * Incremental Loads * Data Summarization * OLAP System * Web-Enabling * Query/Report Design ==== DW 작업의 자동화 ==== DW도구들 * IT 전문가들을 위한 개발 도구 -> 메타데이터 생성 * 최종 사용자를 위한 데이터 접근 도구 -> 생성된 메타데이터 이용 Back-End 처리순서와 관련 메타데이터 ||'''프로세스'''||'''관련 메타데이터'''|| ||소스 데이터 구조 정의||소스 시스템, 데이터 구조|| ||데이터 추출||추출기술, 초기파일과 구조|| ||초기 재포멧팅/합병||정렬/합병 룰, 머지파일과 구조|| ||초기 데이터 클린징||데이터 클린징 룰|| ||데이터 변환과 통합||데이터 변환룰, 집계|| ||데이터의 유효성 및 품질 검사||데이터 품질 검증 룰|| ||DW구조 정의||논리 데이터 모델/물리 데이터 모델|| ||적재 이미지 생성||키 구조를 정의하는 룰, DBMS 고려|| 정보의 문맥을 확립하기 * 동음이의어, 이음동의어등 표준용어 * 날짜 포맷, 통화 단위등 * 여러 시스템에서 사용되는 코드들 ==== 기능적인 영역들에 의한 메타데이터 유형 ==== 메타데이터의 분류 * 관리/최종사용자/최적화 * 개발/사용법 * 데이터마트에서 사용하는 메타데이터/워크스테이션에서 사용하는 메타데이터 * 구축/유지/관리/사용 * 기술/업무 * Frontend/Backend * 내부/외부 메타데이터 유형 분류(데이터를 처리는 이 세 영역에서 일어나기 때문이다) ||메타데이터 분류||프로세스||메타데이터 유형들|| ||데이터 획득||데이터 추출/변환/클린징/통합/스테이징||소스시스템의 플랫폼, 논리모델, 물리모델, 구조정의, 데이터 추출 방법, 데이터 변환 룰, 데이터 클린징룰, 요약 룰, 타겟 논리모델, 타겟 물리모델, 데이터 스테이징 영역의 데이터 구조, 소스와 타겟의 관계, 외부데이터구조, 외부 데이터 정의|| ||데이터 저장||데이터 적재/아카이빙/관리||소스 시스템, 소스 데이터 정의, 소스 구조 정의, 데이터 추출룰, 데이터 클린징룰, 소스-타겟 맵핑, 요약 데이터, 타겟 물리 모델, 비즈니스 용어에서 타겟 데이터 정의, 데이터 내용, 데이터 네비게이션 방법들, 쿼리 템플릿, 미리포멧된 리포트, 미리정의된 쿼리/리포트, OLAP내용|| ||정보 전달||보고서 생성/질의처리/복잡한 분석||소스 시스템, 소스 데이터 정의, 소스 구조 정의, 데이터 추출룰, 데이터 클린징룰, 소스-타겟 맵핑, 요약 데이터, 타겟 물리 모델, 비즈니스 용어에서 타겟 데이터 정의, 데이터 내용, 데이터 네비게이션 방법들, 쿼리 템플릿, 미리포멧된 리포트, 미리정의된 쿼리/리포트, OLAP내용|| ==== 업무 메타데이터 ==== 업무 메타데이터는 최종 사용자들이 DW에서 이용가능한 것이 무엇인지 알려준다. 이는 DW로드맵 또는 디렉토리와 같다. 내용개관 * 명확하고 친밀한 업무 용어로 메타데이터를 제공해야 한다. * 기술 메타데이터보다는 덜 기술(Technical)적이다. * 업무 메타데이터는 비공식 소스(스프레드쉬트, 텍스 문서들..)로부터 나오지만, 데이터 사전 같은 공식소스들로부터 온 공식 소스만큼 중요하다. * 사용자는 기술적인 전문지식을 많이 가지지 않았기 때문에 미리 정의된 질의, 보고서가 어떤 것들이 있는지 알 필요가 있다. 업무 메타데이터 예제 * 업무 메타데이터의 실질적인 수요자는 최정사용자다. * 최종사용자가 DW에서 어떤 데이터를 이용할 수 있는지, 어떻게 사용할 수 있는지 이해하기 쉽게 만들어야 한다. * 사용자들이 쉽게 이해할 수 있는 단순한 업무용어들로 설계되고 구성된 DW의 외부 뷰와 같다 * 예제들 * 연결 절차 * 보안과 접근권한 * 업무 용어들로 데이터의 전반적인 구조 * 소스 시스템 * 소스-타겟 맵핑 * 데이터 변환 업무 규칙 * 요약과 유도(계산된) * 테이블 이름들과 업무 정의 * 속성 이름들과 업무 정의 * 데이터 소유권 * 질의와 보고용 도구 * 미리 정의된 질의 * 미리 정의된 보고서 * 보고서 배포 정보 * 공통 정보 접근 통로 * OLAP을 사용한 분석을 위한 규칙 * OLAP 데이터 유통 기간 * 데이터 웨어하우스 재생 시간표 업무 메타데이터가 최종사용자들을 위해 답할 수 있는 질문들의 목록을 이끌어 내도록 하자. * 나는 어떻게 DW에 이름을 등록하고 연결할 수 있는가? * 나는 DW의 어느 부분들을 접근할 수 있는가? * 나는 특정한 테이블부터 모든 속성들을 볼 수 있는가? * 나의 질의에서 필요로 하는 속들의 정의들은 무엇인가? * 내가 필요로 하는 결과들을 넘겨주도록 미리 정의된 어떤 질의들과 보고서들이 있는가? * 어떤 디폴트 값들이 나의 질의에 의해 검색되는 데이터 항목들에 대해 사용되는가? * 어떤 유협들의 집계들이 요구되는 측정치들을 위해 이용할 수 있는가? * 내가 다른 데이터 항목들로부터 유도할 필요가 있는 데이터 항목에서의 값은 어떤가? * 나의 질의에 속한 데이터 항목에 대한 마지막 경신이 언제인가? * 어떤 데이터 항목에 대하여 내가 드릴 다운 분석을 수행할 수 있는가? * OLAP 데이터는 얼마나 오래 되었는가? 나는 다음 갱신을 기다려야 되는가? 누가 이익을 얻는가? * 관리자 * 업무 분석가 * 파워 유저 * 정규 사용자 * 임시 사용자 * 고위 관리자/하위 임원 ==== 기술(Technical) 메타데이터 ==== Technical Metadata는 * DW개발과 책임이 있는 IT 직원들을 위한 용도 * DW의 기술적인 구조와 내용을 포함(DW 구축, 유지, 관리를 위해 필요) * 내용 * 초기 개발을 위한 메타데이터 * DW의 계속적인 성장/유지에 필요한 메타데이터 * ETL 작업 모니터링, 백업, 아카이빙 등에 대한 내용 메타데이터 예제 * 소스 시스템들에 대한 데이터 모델 * 외부 소스들의 레코드 레이아웃 * 소스에서 스테이징 영역 맵핑 * 스테이빙에서 DW 맵핑 * 데이터 추출 규칙과 시간표 * 데이터 변환 규칙과 버전 관련 데이터 * 데이터 집계 규칙 * 데이터 정제 규칙 * 요약과 유도 * 데이터 적재와 재생 시간표와 제어 * 작업 의존성 * 프로그램 이름과 서술 * DW 데이터 모델 * 데이터베이스명 * 테이블/뷰 명 * 컬럼명과 서술 * 키 속성 * 개체와 관계를 위한 업무 규칙 * 논리 모델과 물리 모델의 맵핑 * 네트워크/서버 정보 * 상호 연결 데이터 * 데이터 이동 감사 제어 * 데이터 제거와 아카이브 규칙 * 권한/접근 * 데이터 사용법/시간측정 * 질의와 보고서 접근 패턴 * 절의와 보고용 도구 내용강조 * 어떤 데이터베이스와 테이블들이 존재하는가? * 각 테이블에 대한 컬럼들은 무엇인가? * 키들과 인덱스들은 무엇인가? * 물리적인 파일들은 무엇인가? * 업무 서술들이 기술 서술들에 대응하는가? * 마지막 성공적인 갱신은 언제인가? * 소스 시스템들과 그것들의 자료 구조들은 무엇인가? * DW에서 각 데이터 항목에 대한 소스-타겟 맵핑이 무엇인가? * 데이터 변환 규칙들은 무엇인가? * 분실된 데이터를 정제하는 동안 데이터 항목들을 위하여 어떤 디폴트 값들이 사용되는가? * 어떤 종류들의 집계들을 이용할 수 있는가? * 유도된 필드들과 유도에 사용한 그것들의 규칙들은 무엇인가? * 나의 질의에 속한 데이터 항목들에 대한 마지막 갱신은 언제인가? * 적재와 재생 일정은 무엇인가? * 얼마나 자주 데이터가 제거되거나 아카이브되는가? 어떤 데이터 항목들인가? * OLAP를 위한 데이터를 생성하는 일정은 무엇인가? * 어떤 질의와 보고서 도구들이 이용 가능한가? 누가 이익을 얻는가? * 프로젝트 관리자 * DW 관리자 * DBA * 메타데이터 관리자 * DW 아키텍트 * ETL 개발자 * 데이터 품질 분석가 * 시스템 관리자 * 인프라스트럭처 전문가 * 데이터 모델러 * 보인 아키텍트 ==== 메타데이터를 공급하는 방법 ==== 난제 * 메타데이터를 관리하는 것은 큰 난제 * 다양한 도구 자체에서 생성되고 유지되는 데이터의 통합 메타데이터 요구사항 * 데이터 획득과 저장 * OLTP환경에서는 데이터 사전 목록(Code성 데이터)의 이력 유지가 필요치 않음 * DW 환경에서는 데이터의 수명이 5 ~10년, 업무규칙에 대한 이력을 유지할 필요 있음 * 메타데이터 소스들의 다양성 * 메타데이터는 단일 소스에서 나오지 않음 * 여러 도구에서 메타데이터를 수집/통합해야 함 * 그러므로 메타데이터는 개방성이 중요 * 메타데이터 통합 * 최종 사용자를 위해 통일된 방법 필요 * 메타데이터 표준화 * 개정을 통한 파급 * 업무규칙은 계속적으로 변경됨 * 변경은 다른 영향받는 구성요소에 파급되어야 함 * 동기화된 메타데이터 유지 * 메타데이터 교환 * 최종사용자를 위한 지원 메타데이터 소스 * 소스 시스템 * 운영 시스템의 데이터 모델 * 데이터 요소의 정의 * 프로그램 명세서(순서도, UML등) * 물리적 파일 레이아웃 및 필드 정의 * 외부 소스에 대한 명세서 * 스프레드 시트나 설명서 목록들 * 데이터 추출 * 소스 플랫폼과의 인터페이스 * 데이터 소스의 레이아웃과 정의 * 초기 추출 합병 정의 * 표준화 규칙 * 데이터 추출 시간표 * 증진적인 변화들에 대한 추출방법 * 데이터 추출 작업 흐름 * 데이터 변환과 정제 * 데이터 스테이징 파일들에 대하여 매핑되는 추출된 파일들을 위한 명세서 * 개개의 파일들을 위한 전환 규칙 * 분실된 값들을 가진 필드들에 대한 디폴트 값 * 유효성 검사를 위한 업무 규칙 * 정렬과 재순서 배열 * 데이터 추출에서부터 데이터 스테이징까지 이동에 대한 감사 추적 * 데이터 적제 * 이미지들을 적재하기 위한 데이터 스테이징 파일들에 대한 명세 * 각 파일들을 위해 키들을 배정하는 규칙 * 데이터 스테이징에서부터 이미지 적재까지 이동에 대한 감사추적 * 완전 재생들을 위한 예정표 * 증진적인 적재들을 위한 예정표 * 데이터 적재 작업 흐름 * 데이터 저장장치 * 중장 집중화된 DW와 종속적인 DM들에 대한 데이터 모델 * 테이블들의 주제영역 분류 * 일치시킨 DM들을 위한 데이터 모델 * 물리적 파일 * 테이블과 열의 정의 * 유효성 검사를 위한 업무 규칙 * 정보전달 * 질의와 보고서 도구들의 목록 * 미리 정의된 질의들과 보고서들의 목록 * OLAP를 위한 특별한 데이터베이스들에 대한 데이터 모델 * OLAP를 위한 데이터를 검색하기 위한 예정표 메타데이터 관리를 위한 난제 메타데이터의 통합은 난제다. 산업 표준도 사실상 존재하지 않는다. 각각의 도구에서 생성된 메타데이터는 복잡한 처리를 거치지 않고서는 최종사용자의 도구에서 볼 수 없다. 다음은 주요 난제다. * 각 도구들의 상이한 포멧의 메타데이터의 통합 * 산업 표준의 부재 * 단편적인 메타데이터 vs 중앙집중화된 메타데이터 (장/단이 존재) * 소스 -> 스테이징 -> 타겟으로 데이터가 이동할 때에 메타데이터를 넘겨주는 쉽고 인정된 방법이 없다 * DW 전체에 걸쳐서 일정하게 메타데이터의 버전 제어를 유지하는 것은 지루하고 어렵다. * 표준, 포맷, 이름규칙, 데이터 정의, 속성, 값, 업무규칙, 측정단위에 대한 통합과 유효성 검사 메타데이터 저장소 * Information Navigator * Business Metadata * Technical Metadata 메타데이터의 통합과 표준 * 국제표준 * 메타데이터 연합(Metadata Coalition) - Open Information Model(OIM) * 객체관리그룹(Object Management Group) - Common Warehouse Metamodel ==== 참고자료 ==== * [http://blog.daum.net/dbdb/592 메타데이터의 상호 운용성을 통한 콘텐츠 파라다이스를 꿈꾸며] * [http://mdr.archives.go.kr/owlviewer.jsp OWL Viewer] * [http://www.dublincore.go.kr/ 더블린코어] * [http://xmdr.lbl.gov/software/index.html eXtended MetaData Registry] * attachment:메타데이터의중대한역할/데이터웹하우스_시스템에서_메타데이터_스키마의_설계_및_활용.pdf --> 표준화와 메타데이터 주제영역에 대한 힌트를 얻을 수 있음. * [http://sourceforge.net/projects/metarep/ Data Warehouse Metadata Repository] attachment:메타데이터의중대한역할/metarep_1.0.zip * [attachment:메타데이터의중대한역할/tata.pdf Information Integration: Metadata Management Landscape] * attachment:메타데이터의중대한역할/메타_데이터_관리시스템_구축_전략.pdf * [Microsoft SQL Server MetaData] * http://www.ipcdesigns.com/etl_metadata/ attachment:메타데이터의중대한역할/Metadata.zip * http://mdr.yeskisti.net/mdr/ * http://www.kdb.or.kr/workshop/2nd/program.php * attachment:메타데이터의중대한역할/메타데이터_기반_통합_데이터품질관리.pdf * attachment:메타데이터의중대한역할/메타데이터_스키마_구현사례.pdf * http://forge.bpm-conseil.com/ * [http://www.tc.gc.ca/eng/corporate-services/imit-metadata-standards-634.htm Transport Canada Data Administration Metadata Standards] attachment:메타데이터의중대한역할/TC_Metadata_Standards.docx * http://www.executionmih.com/data-warehouse/metadata.php * http://sourceforge.net/projects/metadataportal/ * http://infogoal.com/datawarehousing/metadata.htm ---- 안녕하세요. 메타데이터 관련 글을 찾아보다가 좋은 글인 것 같아서.. 제 개인 블로그에 좀 가져가고 싶어서 글 남깁니다 출처는 남겨놓겠습니다! -- 최선호 2023-06-08 14:29:31