KR101513110B1 - 자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템 - Google Patents

자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템 Download PDF

Info

Publication number
KR101513110B1
KR101513110B1 KR1020107028563A KR20107028563A KR101513110B1 KR 101513110 B1 KR101513110 B1 KR 101513110B1 KR 1020107028563 A KR1020107028563 A KR 1020107028563A KR 20107028563 A KR20107028563 A KR 20107028563A KR 101513110 B1 KR101513110 B1 KR 101513110B1
Authority
KR
South Korea
Prior art keywords
metric value
child nodes
parent node
data
metric
Prior art date
Application number
KR1020107028563A
Other languages
English (en)
Other versions
KR20110031921A (ko
Inventor
데이비드 왈드
팀 웨이클링
무하메드 아샤드 칸
Original Assignee
아브 이니티오 테크놀로지 엘엘시
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아브 이니티오 테크놀로지 엘엘시 filed Critical 아브 이니티오 테크놀로지 엘엘시
Publication of KR20110031921A publication Critical patent/KR20110031921A/ko
Application granted granted Critical
Publication of KR101513110B1 publication Critical patent/KR101513110B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

일반적으로, 본 발명의 방법은 하나 이상의 자식 노드에 대한 데이터 품질과 연관된 메트릭 값을 판정하는 단계(502)를 포함한다. 부모 노드에 대한 메트릭 값은 자식 노드 중의 적어도 몇몇의 메트릭 값에 기초해서 판정(504)하며, 하나 이상의 자식 노드와 하나 이상의 부모 노드 간의 관계에 의해 계층이 규정된다. 부모 노드에 대한 메트릭 값의 판정은 여러 경우에 대해 반복(506)된다.

Description

자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템{DATA QUALITY TRACKING BY DETERMINING METRIC VALUES FOR CHILD NODES AND A PARENT NODE}
본 발명은 데이터 품질의 트래킹에 관한 것이다.
기억된 데이터 세트의 데이터 중에는 그 다양한 특징이 미리 알려져 있지 않은 경우가 많다. 예를 들어, 데이터 세트에 대한 값 또는 전형적인 값의 범위, 데이터 세트 내의 여러 필드 간의 관계, 또는 여러 필드에서의 값들 간의 함수 종속성을 알지 못할 수 있다. 데이터 프로파일링(data profiling)에는 상기 특징들을 판정하기 위해 데이터 세트의 소스를 조사(examine)하는 것이 포함될 수 있다. 데이터 프로파일링 시스템의 한가지 용도는, 데이터 프로파일링의 결과에 기초해서 단일의 데이터 객체 또는 전체 데이터 세트에 대해 데이터 품질의 기준을 판정하는 것이다.
하나의 관점으로서, 일반적으로, 본 발명의 방법은 하나 이상의 자식 노드에 대한 데이터 품질과 연관된 메트릭 값을 판정하는 단계를 포함한다. 부모 노드에 대한 메트릭 값은 자식 노드 중의 적어도 몇몇의 메트릭 값에 기초해서 판정하며, 하나 이상의 자식 노드와 하나 이상의 부모 노드 간의 관계에 의해 계층이 규정된다. 부모 노드에 대한 메트릭 값의 판정은 여러 경우에 대해 반복된다.
본 발명의 관점에는 다음과 같은 하나 이상의 특징이 포함될 수 있다. 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 하나 이상의 자식 노드는 자식 노드를 갖지 않아도 된다. 자식 노드와 부모 노드에 의해 표현되는 데이터의 특징을 나타내는 프로파일링 정보(profiling information)가 생성된다. 자식 노드에 대한 메트릭 값은 프로파일링 정보에 기초한다. 계층의 배치는 사용자에 의해 명시된다. 프로파일링 정보 내의 어느 데이터 필드가 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시할 수 있다. 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택할 수 있다. 하나 또는 둘 이상의 메트릭 값은 0 내지 100 사이의 수치(number)로서 표현될 수 있다. 하나 이상의 자식 노드에 대한 메트릭 값이나 부모 노드에 대한 메트릭 값 중 하나 또는 이들 모두의 값은 다수의 경우의 각각에 대해 연속 라인 차트(continuous line chart) 상에서 시간의 함수로서 표시될 수 있다. 연속 라인 차트는 프로파일링 정보에 기초해서 자동으로 생성될 수 있다. 차트는 메트릭 값의 판정을 좌우하는 규칙에서의 변경(change)을 나타낼 수 있다. 차트는 부모 노드에 대한 메트릭 값의 판정에 사용되는 메트릭 값에서의 변경을 나타낼 수 있다.
다른 관점으로서, 일반적으로, 컴퓨터로 판독가능한 매체는 장치 신호로부터 값을 취득하는 데에 사용하기 위한 실행가능한 명령어를 기억한다. 이러한 명령어에 의해 컴퓨터가 하나 이상의 자식 노드(child node)에 대한 메트릭 값(metric value)을 판정하도록 할 수 있다. 자식 노드 중의 적어도 몇몇의 메트릭 값에 기초해서 부모 노드(parent node)에 대한 메트릭 값이 판정된다. 하나 이상의 자식 노드와 하나 이상의 상기 부모 노드 간의 관계에 의해 계층(hierarchy)이 규정된다. 부모 노드에 대한 메트릭 값의 판정은 여러 경우에 대해 반복된다.
본 발명의 관점에는 다음과 같은 하나 이상의 특징이 포함될 수 있다. 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 하나 이상의 자식 노드는 자식 노드를 갖지 않아도 된다. 자식 노드와 부모 노드에 의해 표현되는 데이터의 특징을 나타내는 프로파일링 정보가 생성된다. 자식 노드에 대한 메트릭 값은 프로파일링 정보에 기초한다. 계층의 배치는 사용자에 의해 명시된다. 프로파일링 정보 내의 어느 데이터 필드가 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시할 수 있다. 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택할 수 있다. 하나 또는 둘 이상의 메트릭 값은 0 내지 100 사이의 수치로서 표현될 수 있다. 하나 이상의 자식 노드에 대한 메트릭 값이나 부모 노드에 대한 메트릭 값 중 하나 또는 이들 모두의 값은 다수의 경우의 각각에 대해 연속 라인 차트상에서 시간의 함수로서 표시될 수 있다. 연속 라인 차트는 프로파일링 정보에 기초해서 자동으로 생성될 수 있다. 차트는 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타낼 수 있다. 차트는 부모 노드에 대한 메트릭 값의 판정에 사용되는 메트릭 값에서의 변경을 나타낼 수 있다.
다른 관점으로서, 일반적으로 시스템은 하나 이상의 자식 노드에 대한 메트릭 값을 판정하는 수단을 포함한다. 시스템은 또한 자식 노드 중의 적어도 몇몇의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하는 수단을 포함하며, 하나 이상의 자식 노드와 하나 이상의 상기 부모 노드 간의 관계에 의해 계층이 규정된다. 시스템은 또한 부모 노드에 대한 메트릭 값을 판정하는 단계를 여러 경우에 대해 반복하는 수단을 포함한다.
다른 특징이나 장점에 대해서는 이하의 상세한 설명과 청구범위로부터 명백하다.
도 1은 프로파일러 엔진 및 데이터 품질 엔진을 포함하는 시스템의 블록도이다.
도 2는 데이터 세트에 대한 데이터 품질 메트릭을 생성하기 위한 과정을 나타내는 플로차트이다.
도 3은 그래픽 사용자 인터페이스의 예를 나타낸다.
도 4는 계층의 예를 나타낸다.
도 5는 프로파일링 정보를 나타내는 값을 생성하기 위한 과정을 나타내는 플로차트이다.
도 6a는 메트릭 값과 시간에 기초한 차트이다.
도 6b는 요약 리포트에 기초한 차트이다.
도 1을 참조하면, 데이터 처리 시스템(100)은 객체 데이터 기억부(object data store)(102)로부터의 데이터를 처리하는 데에 사용되는 프로파일러 엔진(profiler engine)(104)을 포함한다. 객체 데이터 기억부(102) 내의 데이터 객체에는, 예를 들어 레코드 포맷(record format)에 의해 정의되는 바와 같이 레코드의 필드와 연관된 객체가 있을 수 있다. 사용자(110)는, 사용자 인터페이스(106)를 사용해서, 데이터 품질 엔진(data quality engine)(108)으로 하여금, 객체 데이터 기억부(102) 내의 객체와 연관된 프로파일링 정보["필드 프로파일"(field profile)이라고도 함]를 액세스하도록 할 수 있다. 데이터 품질 엔진은 객체 데이터 기억부(102)에 기억된 객체에 대한 데이터 품질["메트릭 값"(metric value) 또는 "데이터 품질 메트릭"(data quality metrics)이라고도 함]과 관련된 정보를 생성하고, 생성한 정보를 사용자 인터페이스(106)를 통해 사용자에게 표시할 수 있다.
데이터 소스(112)는 일반적으로 개별의 기억 포맷 및 인터페이스(예를 들어, 데이터베이스, 테이블, 스프레드시트 파일, 플랫 텍스트 파일, 또는 메인프레임에 의해 사용되는 네이티브 포맷)를 각각 가질 수 있는 다양한 개별 데이터 소스를 포함한다. 개별의 데이터 소스는 호스트가 되는 컴퓨터 시스템에만 국한되는 로컬로 사용되거나, 근거리 또는 원거리 데이터 네트워크를 통해 액세스 가능한 호스트가 되는 원격 컴퓨터에 대해 원격으로 사용될 수 있다.
객체 데이터 기억부(102)는 데이터 소스(112) 내의 데이터와 관련된 정보를 포함한다. 이러한 정보는 레코드 포맷뿐만 아니라 이들 레코드 내의 필드 값의 유효성을 판정하기 위한 명세(specification)를 포함할 수 있다. 데이터 소스(112) 내에 보이는 여러 레코드 필드 간의 관계[예를 들어, 기본-외래 키(primary-foreign key) 관계]는 다양한 방식으로 표현될 수 있다. 예를 들어, 객체 데이터 기억부(102) 내의 데이터 객체 중에 존재하는 계층적 관계(hierarchical relationship)는 계층(hierarchy)으로 표현될 수 있다.
객체 데이터 기억부(102)는 프로파일링할 데이터 소스(112) 내의 데이터 세트에 관한 초기 정보(initial information)를 기억할 뿐만 아니라, 이러한 데이터 세트에 관해 취득한 정보도 기억하는 데에 사용될 수 있다. 프로파일링 과정에 의해 해당 데이터 세트로부터 취득한 필드 프로파일(field profile)이 객체 데이터 기억부(102)에 기억될 수도 있다.
시스템(100)은 객체 데이터 기억부(102)로부터 데이터를 판독하는 프로파일러 엔진(profiler engine)(104)을 포함한다. 데이터 소스(112)로부터 데이터가 판독되면, 프로파일러 엔진(104)은 해당 데이터 소스 내의 레코드에 관한 일부 초기 포맷 정보에 의해 개시되는 것이 전형적이다(일부의 경우, 데이터 소스의 레코드 구조를 알지 못할 수 있다). 레코드에 관한 초기 정보는 고유의 값(distinct value)을 나타내는 비트의 수[예를 들어, 16 비트(= 2 바이트)] 및 레코드 필드와 연관된 값과 태그(tag)나 구분 문자(delimiter)와 연관된 값 등의 값의 차수(order), 및 비트에 의해 표현되는 값의 타입(예를 들어, 문자열, 부호화 정수/부호 없는 정수)을 포함할 수 있다. 이러한 데이터 소스의 레코드에 관한 정보는 객체 데이터 기억부(102)에 기억되는 데이터 조작 언어(data manipulation language: DML) 파일로 특정된다. 프로파일러 엔진(104)은 다양한 공통 데이터 시스템 포맷(예를 들어, SQL 테이블, XML 파일, CSV 파일)으로부터 데이터를 자동으로 번역하기 위해 미리 정해진 DML 파일을 사용하거나, 커스터마이즈드 데이터 시스템 포맷(customized data system format)을 기술하는 객체 데이터 기억부(102)로부터 취득한 DML 파일을 사용할 수 있다. 프로파일러 엔진(104)은 사용자가 제공한 SQL 문(statement) 및 XML 스키마(schema)를 위한 DML 파일을 생성할 수 있다.
부분적으로, 부정확할 수도 있지만, 데이터 소스의 레코드에 관한 초기 정보는 데이터를 처음에 판독하는 프로파일러 엔진(104)에 앞서 시스템(100)에서 사용될 수 있다. 예를 들어, 데이터 소스와 연관된 COBOL 카피북을, 기억된 데이터 또는 사용자 인터페이스(106)를 통해 사용자(110)에 의해 입력된 데이터로서 사용할 수 있다. 일반적으로, 필드 프로파일은 해당 데이터 객체를 포함하는 데이터 세트를 프로파일링 함으로써 생성되는 데이터 객체에 관한 통계의 집합을 의미한다. 필드 프로파일은 전형적으로 해당 프로파일이 계산된 데이터에 관한 정보를 포함한다.
프로파일러 엔진(104)이 데이터 소스로부터 레코드를 판독함에 따라, 프로파일러 엔진은 데이터 세트의 내용을 반영하는 통계 및 그외 기술 정보를 계산한다. 이어서, 프로파일러 엔진(104)은 이들 통계 및 기술 정보를 객체 데이터 기억부(102) 내에 "프로파일"의 형태로 기입하는데, 이러한 객체 데이터 기억부는 객체 데이터 기억부(102)에 대한 액세스에 의해 사용자 인터페이스(106) 또는 임의의 다른 모듈을 통해 조사될 수 있다. 일부의 경우, 프로파일 내의 통계는 각 필드에서의 값, 최대값, 최소값, 평균값, 및 최소 공통 값(least common value) 및 최대 공통 값(most common value)의 샘플이 있는 히스토그램을 포함한다.
데이터 소스로부터의 판독에 의해 취득한 통계는 다양한 용도로 사용할 수 있다. 이러한 용도에는, 잘 모르는 데이터 세트를 찾는 과정, 데이터 세트와 연관된 메타데이터(metadata)의 수집을 구축하는 과정, 구입 또는 사용하기 전에 제3자 데이터를 조사하는 과정, 및 수집한 데이터에 대한 품질 관리 방식을 구현하는 과정을 포함할 수 있다.
객체 데이터 기억부(102)는, 각각의 프로파일링된 필드와 연관된 검증(validation) 정보를, 예를 들어 검증 정보를 부호화하는 검증 명세(validation specification)로서 기억할 수 있다. 이와 달리, 검증 정보는 외부 기억 위치에 기억되었다가 프로파일러 엔진(104)에 의해 검색(retrieve)될 수 있다. 데이터 세트가 프로파일링되기 전에, 검증 정보는 각각의 필드에 대해 유효 데이터 타입을 특정할 수 있다. 예를 들어, 필드가 개인의 "칭호"(title)이면, 디폴트의 유효 값은 "문자열"(string) 데이터 타입인 임의의 값이 될 수 있다. 사용자는 데이터 소스를 프로파일링하기 전에 "미스터"(Mr.), "미세스"(Mrs.), "닥터"(Dr.) 등의 유효 값을 제공할 수 있으며, 프로파일러 엔진(104)에 의해 판독된 임의의 다른 값은 무효인 것으로 식별될 것이다. 프로파일링 동작에 의해 얻은 정보는 특정 필드에 대한 유효 값을 특정하기 위해 사용자에 의해서도 사용될 수 있다. 예를 들어, 사용자는 데이터 세트를 프로파일링한 후에 "Ms." 및 "Msr."의 값이 공통 값으로 보이는 것을 발견할 수 있다. 사용자는 "Ms."를 유효 값으로 추가할 수 있으며, "Msr." 값을 데이터 클리닝 옵션으로서 "Mrs." 값에 매핑할 수 있다. 따라서, 검증 정보는 이들을 유효 값에 매핑함으로써 유효 값의 클리닝을 허용하기 위해 유효 값 및 매핑 정보를 포함할 수 있다. 데이터 소스의 프로파일링은 연속적인 프로파일링 실행을 통해 데이터 소스에 관한 더 많은 정보가 발견되는 반복적인 방식으로 행해질 수 있다.
프로파일러 엔진(104)은 프로파일링된 데이터 시스템에 액세스할 수 있는 다른 모듈을 구현하기 위해 실행가능한 코드를 생성할 수 있다. 이러한 코드의 예는 데이터 소스에 대한 액세스 과정의 일부로서의 값 "Msr."을 "Mrs."로 매핑할 수 있다.
프로파일러 엔진(104)은 객체 데이터 기억부(102)를 사용해서 다양한 메타데이터 및 프로파일링 선호도(profiling preferences)를 구성(organize)하고 그 결과를 데이터 객체에 기억시킨다. 객체 데이터 기억부(102)는 프로파일 설정 객체(profile setup objects)의 그룹, 데이터 세트 객체의 그룹, 및 DML 파일의 그룹을 기억할 수 있는데, 프로파일 설정 객체는 프로파일링 잡(profiling job)에 관련된 정보에 관한 것이며, 데이터 세트 객체는 데이터 세트에 관련된 정보에 관한 것이고, DML 파일은 특정의 데이터 포맷을 기술하는 것이다. 프로파일 설정 객체는 프로파일러 엔진(104)에 의해 실행되는 프로파일링 동작에 대한 선호도(preference)를 포함한다. 사용자(110)는 새로운 프로파일 설정 객체를 생성하거나 미리 기억된 프로파일 설정 객체를 선택하는 데에 사용되는 정보를 입력할 수 있다.
프로파일 설정 객체는 데이터 세트 객체에 대한 참조(reference)를 포함한다. 데이터 세트 설정 객체는 프로파일러 엔진(104)으로 하여금 프로파일링할 데이터를 런타임 환경 내에서 액세스 가능한 하나 이상의 데이터 시스템에 위치를 지정할 수 있도록 하는 데이터 세트 로케이터(data set locator)를 포함한다. 데이터 세트 로케이터는 통상적으로 경로/파일명, URL, 테이블 이름, SQL 선택 문(select statement), 또는 다수의 위치에 분포한 데이터 세트에 대한 경로/파일명 및/또는 URL의 리스트이다. 데이터 세트 객체는 하나 이상의 DML 파일에 대한 참조를 선택적으로 포함할 수 있다.
데이터 세트 객체는 필드 객체의 세트에 대한 참조를 포함한다. 프로파일링할 데이터 세트의 레코드 내의 각각의 필드에 대해 하나의 필드 객체(field object)가 존재한다. 프로파일러 엔진(104)에 의해 수행되는 프로파일링 동작이 완료되면, 프로파일링된 데이터 세트에 대응하는 데이터 세트 객체가 데이터 세트 프로파일과 연관된다. 데이터 세트 프로파일은 데이터 세트와 관련된 통계, 예를 들어 레코드의 총 수 및 유효/무효 레코드의 총 수뿐만 아니라, 데이터 세트가 프로파일링된 시간 및 데이터와 프로파일링에 사용된 유효 데이터의 버전을 포함한다.
필드 객체는 대응하는 필드에 대한 유효 값을 판정하고 무효 값을 클리닝하기 위한 규칙(예를 들어, 무효 값을 유효 값에 매핑)을 명시하기 위해 프로파일러 엔진(104)에 의해 사용될 수 있는 검증 정보를 선택적으로 포함할 수 있다. 필드 객체는 필드 프로파일과 연관되며, 필드 프로파일은 프로파일링 동작을 완료했을 때에 프로파일러 엔진에 의해 기억되고, 유일 값의 수, 널 값(null values), 및 유효/무효 값 등과 같이, 대응하는 필드에 관련된 통계를 포함한다. 필드 프로파일은 또한 최대값, 최소값, 최대 공통 값, 최소 공통 값과 같은 샘플 값을 포함할 수 있다. 완료된 "프로파일"은 프로파일링된 모든 필드에 대해 데이터 세트 프로파일 및 필드 프로파일을 포함한다.
프로파일러 실행에 대한 다른 사용자 선호도가 수집되어 프로파일 설정 객체 또는 데이터 세트 객체에 기억될 수 있다. 예를 들어, 사용자는 값의 랜덤한 샘플의 프로파일링을 포함해서, 프로파일링된 값의 수 또는 필드를 제한(예를 들어, 1%)하기 위해 사용될 수 있는 필터 식(filter expression)을 선택할 수 있다.
도 2는 임의의 다양한 목적을 위해 데이터 세트를 프로파일링하여 데이터 세트의 품질을 검사하는 과정(200)의 예를 나타내는 플로차트로서, 이러한 과정에는 데이터 세트를 변환해서 데이터 기억부에 로딩하기 전의 과정이 포함된다. 이 과정(200)은 자동 또는 수동으로 수행될 수 있다. 데이터 세트의 품질을 검사(test)하기 위한 규칙은 데이터 세트를 미리 인지하는 것부터 및/또는 유사한 데이터 세트(예를 들어, 검사할 데이터 세트와 동일한 소스로부터의 데이터 세트)에 대해 수행되는 과정(200)과 같은 프로파일링 과정의 결과로 이루어질 수 있다. 이들 규칙은 사용자에 의해 커스터마이즈될 수 있다(이하 상세하게 설명함). 본 과정(200)은 상업적으로, 예를 들어 데이터를 가져오거나 처리하기 전에 사업 파트너가 보내온 주기적(예를 들어, 1개월 단위) 데이터를 프로파일링 함으로써 사용될 수 있다. 이에 의해, 사업자는 "불량" 데이터(bad data)를 검출해서, 원상 복구가 어려울 수 있는 동작에 의해 기존의 데이터 기억부가 "오염"(pollute)되는 것을 방지할 수 있다.
본 과정(200)은 먼저 런타임 환경에서 액세스할 수 있는 하나 이상의 데이터 시스템에 대해 검사할 데이터 세트를 식별한다(202). 이어서, 본 과정(200)은 프로파일을 데이터 세트(또는 데이터 세트의 서브세트)에서 실행(204)하고, 필드 프로파일을 객체 데이터 기억부(102)와 같은 위치에 기억시킨다(206). 본 과정은 프로파일의 결과에 기초해서 품질 검사를 수행한다(208). 예를 들어, 데이터 세트에서의 특정의 공통 값의 출현 비율을, 종래의 데이터 세트(종래의 프로파일링 동작에 기초한)에서의 공통 값의 출현 비율과 비교하고, 비율의 차가 10% 이상 나면, 품질 검사는 실패한 것이다. 이러한 품질 검사는 일관되게(10% 이내) 나타나는 것으로 알고 있는 일련의 데이터 세트 내의 값에 적용할 수 있다. 본 과정(200)은 품질 검사의 결과를 판정하고(210), 데이터 품질 메트릭("데이터 품질 측정"이라고도 함)을 사용해서, 검사한 데이터의 품질을 나타내는 데이터 품질 메트릭 값을 생성한다. 다음으로 본 과정은 다른 데이터 세트 또는 다른 시간에서의 동일 데이터 세트에 대해 식별하는 과정(202)을 반복할 수 있다.
일부 예에서, 본 과정(200)은 메트릭 값이 계층에 따라 관련된 데이터 객체에 적용할 수 있는데, 이에 대해서는 나중에 상세하게 설명한다. 데이터 객체(또는 데이터 객체의 그룹)에 대해 데이터 품질 메트릭을 판정하는 데에 있어서, 시스템은 데이터 품질의 일부 측정을 나타내는 단일 값(예를 들어, 0-100 범위 내)을 계산한다. 데이터 품질 메트릭의 계산은 데이터 객체에 대한 필드 프로파일에 적용되는 함수에 기초한다.
도 3은 개별의 데이터 품질 메트릭을 정의하기 위한 그래픽 사용자 인터페이스(300)의 예를 나타낸다. 그래픽 사용자 인터페이스(300)는 데이터 객체의 이름(304)["물리적 요소 이름"(Physical Element Name)]과, 데이터 객체가 일부분인 데이터 세트의 이름(302)을 포함한다. 드롭다운 메뉴(drop-down menu)(306)에 의해, 사용자는 간단하며 이전에 구성된 측정["데이터 품질 측정"(Data Quality Measure)]을 사용해서 데이터 품질 메트릭 값, 예를 들어 유효한 필드 프로파일에서 발견한 값들의 비율을 생성하기 위해 사용될 데이터 품질 메트릭을 정의 또는 부분적으로 정의할 수 있는 선택이 가능하다. 사용자는 편집(edit) 버튼(308)을 사용해서 필드 프로파일 내에 포함된 모든 데이터 필드를 포함하는 입력 레코드를 나타내는 식 편집기(expression editor)를 통해 사용자지정 식(custom expression)을 정의할 수 있다. 이에 의하면, 사용자는 데이터 품질 메트릭 값을 계산하기 위한 함수를 커스터마이즈할 수 있다.
필드 프로파일은 2개의 데이터 객체 사이의 관계에 관한 정보를 포함할 수 있기 때문에, 이러한 교차 필드(cross-field) 정보에 의해 데이터 품질 메트릭을 정의할 수 있다. 예를 들어, 다른 데이터 객체와 겹치는 비율에 의해 데이터 객체의 품질을 정의할 수 있다. 또한, 요소의 유효성을 기술할 다수의 기준이 존재하는 경우에는, 단일의 데이터 객체에 의해 다수의 데이터 품질 메트릭이 정의될 수 있다.
도 4는 메트릭 값의 배치를 나타낸다. 이러한 배치에서, 메트릭 값은 부모 노드[예를 들어, 고객 개인 정보(customer personal) 노드(402)]와 자식 노드[예를 들어, 퍼스트 네임(first name) 노드(404)]를 포함하는 계층(400) 내에 구성된다. 부모 노드는 부모 노드와 자식 노드 모두 될 수 있다. 예를 들어, "고객 개인 정보" 노드(402)는 "퍼스트 네임" 노드(404)에 관한 부모 노드이지만, "고객 정보" 노드(406)의 자식 노드이기도 하다. 이러한 배치에서, "퍼스트 네임" 노드(404)는 자식 노드가 없으므로 단말 노드(leaf node)이기도 하다. 메트릭 값을 나타내는 노드들 간의 계층적 관계는 품질이 메트릭 값에 의해 측정되는 데이터 객체 중에 존재할 수 있는 임의의 계층적 관계와는 독립된 것일 수 있다.
계층 내의 다양한 노드에 대하여, 데이터 품질 메트릭은 사용자(110)(도 1)가 사용자 인터페이스(106)(도 1)를 사용해서 볼 수 있고 배치할 수 있다. 도 4의 예와 같은 예에서, 특별한 인터페이스를 통해 계층 내의 하나의 위치에서 다른 위치로 "드래그 앤 드롭"에 의해 데이터 요소가 추가되거나 삭제될 수 있다. 계층의 배치는 조직 체계 내의 책임 분담(responsibility)의 계층과 같은 임의의 계층적 구조에 대응할 수 있다. 이하에 더 상세하게 설명하는 바와 같이, 시간에 따라 데이터 품질 메트릭 값을 추적(track)하는 데이터 품질 이력을, 소정의 데이터 객체에 대한 기억된 이력 데이터 품질 메트릭 값에 기초해서(또는 데이터 품질 메트릭 값을 산출할 수 있는 기억된 이력 프로파일링 정보에 기초해서) 산출할 수 있다. 데이터 품질 이력의 계산에 의해, 노드의 계층 및 이들과 연관된 메트릭을 수행해서 요청에 따라 표시하고 보고할 수 있다.
다른 예로서, 계층은 데이터 품질 메트릭의 계산에 사용될 수 있다. 예를 들어, 부모 노드에 대한 데이터 품질 메트릭 값(또는 "메트릭 값")을 계산하기 위해, 과정(500)에서는 하나 이상의 자식 노드에 대한 메트릭 값을 판정한다(502). 계층은 하나 이상의 자식 노드와 하나 이상의 부모 노드를 포함한다. 본 과정(500)은 자식 노드 중 적어도 몇몇의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정한다(504). 부모 노드와 자식 노드 간의 관계에 의해 계층을 정의한다. 이러한 계층은 도 4의 예와 유사하며, 사용자에 의해 커스터마이즈될 수 있다. 다른 예로서, 계층은 데이터 품질 메트릭을 계산하기 전에 판정할 수 있다. 즉, 어떤 예에서는 단계 504를 단계 502보다 먼저 수행한다. 과정(500)은 다수의 경우에 대해 부모 노드에 대한 메트릭 값을 판정하는 과정을 반복한다(506).
개별의 데이터 품질 메트릭 및 대응하는 물리적 요소에 대한 필드 프로파일의 수집의 경우(또는 데이터 품질 메트릭 값을 계산하는 일부 다른 방식), 시계열의 메트릭 값이 생성될 수 있다. 이러한 결과로서의 시계열은 해당 메트릭 값의 이력을 나타내며, 필요에 따라 계산하거나 객체 데이터 기억부에 나중에 사용하기 위해 기억시키고 메트릭 명세의 표현과 연계시킬 수 있다. 어느 경우에서나, 데이터 프로파일러 사용자 인터페이스에서 차트화할 수 있다.
데이터 품질 메트릭 값과 시간의 관계를 나타낸 차트의 예를 도 6a에 나타낸다. 차트(600A)는 메트릭 "고객 행복"에 대해 계산된 메트릭 값의 시계열을 나타낸다. 사용자가 차트(600A)에서 커서를 지점 602A로 이동시키면, 날짜와 계산된 품질 값이 그 지점에 표시된다. 검증 명세가 이전 값으로부터 변경된 지점이 차트상에 검은 점으로 표시되며, 커서를 이들 위로 이동시키는 것은 검증 명세에서의 변화를 나타낼 것이다. 차트상의 지점은 계산에 사용된 자식 노드에 대한 메트릭 값이 변경된 경우, 즉 판정에 여러 상이한 자식 노드가 사용된 경우를 나타내며, 차트에 의해 변경이 발생한 지점을 식별할 수 있다. 차트는 또한 값을 계산하기 위해 사용된 메트릭의 정의와 같이, 메트릭 값 계산의 다른 요소가 변경된 지점을 식별할 수 있다. 차트상의 왼쪽 위에는 최신의 데이터 품질을 "양호", "주의 필요" 또는 "불량"으로 요약한 착색 점(604A)(각각 녹색, 노란색 또는 빨간색)이 있다.
다수의 데이터 품질 메트릭을 "요약 리포트"로 그룹화할 수 있으며, 이것의 예를 도 6b에 나타낸다. 요약 리포트는 다수의 데이터 품질 메트릭 값을 단일의 값으로 요약하기 위한, 계층과 관련해서 앞서 설명한 방법과 같은 규칙을 포함한다. 규칙의 예에는, "최대", "최소", 및 "평균"을 포함한다. 따라서, 요약 리포트는 리포트 내에 포함된 데이터 품질 메트릭의 모든 것들에 대한 평균에 해당하는 값을 가진 데이터 품질 이력을 생성할 수 있다.
요약 리포트는 개별 데이터 품질 메트릭에 추가로 다른 요약 리포트, 즉 요소를 요약하는 리포트의 계층을 포함할 수 있다. 달리 말하면, 제3 부모 노드에 종속되는 2개의 부모 노드의 메트릭 값을 제3 부모 노드의 메트릭 값을 계산하는 데에 사용할 수 있다.
요약 리포트의 각각의 요소에 대한 메트릭 값의 시계열을 고려해서, 요약 리포트에 대한 메트릭 값의 시계열을 계산할 수 있다. 시계열은 차트화하고 그 구성 성분에 대한 시계열과 비교할 수 있다. 요약 리포트 "고객 정보"(Customer Information)를 도 6b에 나타낸다. 이 요약 리포트에 포함된 메트릭은 차트 위의 표에 리스트화되어 있다. 각각 최신의 품질 값, 상기 기술한 것과 같은 값을 요약하는 착색 점, 및 이력에 대응하는 세밀한 차트를 나타낸다. 이들 세밀한 차트 중의 하나의 선택은 "고객 정보"(Customer Information)에 대한 차트상에 해당 차트의 풀 사이즈의 버전을 중첩하는 것이다. 도면에서, "고객 인터렉션"(Customer Interactions)이 선택되었으며, 차트에 청색으로 표시되어 있다.
사용자는 많은 이유로 시계열이 계산가능한 메트릭 값의 서브세트만을 포함하기를 원할 수 있다(예를 들어, 계산된 모든 필드 프로파일이 관련된 것이 아닐 수 있다). 일부 필드 프로파일은 부분 데이터에 기초해서 계산될 수 있으며, 몇몇은 최종의 프로파일 결과를 얻기까지 실험을 할 수 있으며, 또 몇몇은 잘못 계산되어 있을 수 있다. 따라서 시계열의 계산은 포함할 필드 프로파일을 선택하기 위한 일부 기준을 갖는다. 이러한 기준의 한가지 예는 역일(calendar day)에 대한 최신의 이용가능한 필드 프로파일(예를 들어, 가장 최근의 필드 프로파일)을 항상 선택하는 것이다. 역일이 시작되는 것으로 고려되는 날짜는 사용자에 의해 정의될 수 있다. 즉, 역일의 정의는 날짜 사이의 임의의 시간 경계를 포함하도록 연장될 수 있다.
필드 프로파일 결과는 시간에 따라 변경될 수 있는 검증 명세에 부분적으로 의존한다. 따라서 각각의 메트릭 값은 대응하는 필드 프로파일에 적용되는 검증 명세의 버전이 주석으로 달린다.
각각의 매트릭 값은 시간에 따라 변경될 수 있는 메트릭 명세에 좌우된다. 따라서 각각의 메트릭 값은 값이 계산된 시간에 적용되는 메트릭의 버전이 주석으로 달린다.
상기 설명한 해결 방안은 컴퓨터상에서 실행되는 소프트웨어를 사용해서 구현될 수 있다. 예를 들어, 소프트웨어는 하나 이상의 프로세서, 하나 이상의 데이터 기억 시스템(예를 들어, 휘발성 및 비휘발성 메모리 및/또는 기억 요소), 하나 이상의 입력 장치 또는 포트, 및 하나 이상의 출력 장치 또는 포트를 각각 포함하는 하나 이상의 프로그램된 또는 프로그램 가능한 컴퓨터 시스템(분산형, 클라이언트/서브, 또는 그리드 등의 다양한 구조를 가질 수 있음)에서 실행되는 하나 이상의 컴퓨터 프로그램에서의 과정을 형성한다. 소프트웨어는, 예를 들어 그래프의 설계 및 배치와 관련된 다른 서비스를 제공하는 더 큰 프로그램의 하나 이상의 모듈을 형성할 수 있다.
소프트웨어는 범용 또는 전용의 프로그램 가능한 컴퓨터에 의해 판독가능한 매체 또는 장치에 제공되거나, 네트워크를 통해 실행될 컴퓨터까지 전달(전파 신호로 부호화됨)된다. 모든 기능은 전용 컴퓨터에서 실행될 수 있거나, 코프로세서와 같은 전용의 하드웨어를 사용해서 실행될 수 있다. 소프트웨어는 소프트웨어에 의해 특정된 계산의 여러 부분이 여러 컴퓨터에서 수행되는 분산 방식으로 구현될 수 있다. 이러한 각각의 컴퓨터 프로그램은 기억 매체 또는 장치가 본 명세서에 개시한 과정을 수행하기 위해 컴퓨터 시스템에 의해 판독될 때에 컴퓨터를 구성 및 동작시키기 위한, 범용 또는 전용의 프로그램 가능한 컴퓨터에 의해 판독가능한 기억 매체 또는 장치(예를 들어, 고체 메모리 또는 매체, 또는 자기 또는 광학 매체)에 기억되거나 다운로드되는 것이 바람직하다. 본 발명의 시스템은 컴퓨터 프로그램이 컴퓨터로 판독가능한 기억 매체로서 구현되며, 기억 매체에 의해 컴퓨터 시스템은 본 명세서에 설명한 기능을 특정의 그리고 미리 정해진 방식으로 수행하도록 동작시킬 수 있다.
이상의 설명은 본 발명의 범위를 제한하기 위한 것이 아니며, 청구범위에 의해서 제한된다. 다른 실시예는 청구범위의 기술적 범위 내에 포함된다.

Claims (48)

  1. 자식 노드(child node)에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보(profiling information)에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질(data quality)과 연관된 메트릭 값(metric value)을 판정하는 단계;
    상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드(parent node)에 대한 메트릭 값을 판정하는 단계; 및
    상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하는 단계
    를 포함하며,
    상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층(hierarchy)이 규정되고,
    (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 판정되고 그 메트릭 값의 이력을 나타내는 시계열(time series)로서 저장되는, 방법.
  2. 제1항에 있어서,
    상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 방법.
  3. 제1항에 있어서,
    상기 프로파일링 정보를 생성하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서,
    상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 방법.
  5. 제1항에 있어서,
    상기 계층의 배치는 사용자에 의해 명시되는, 방법.
  6. 제3항에 있어서,
    상기 프로파일링 정보 내의 어느 데이터 필드(data field)가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 방법.
  7. 제1항에 있어서,
    상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자(factor)를 사용자가 선택하는, 방법.
  8. 제1항에 있어서,
    상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치(number)로서 표현되는, 방법.
  9. 제1항에 있어서,
    (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두는 각각의 상기 다수 경우에 대해 연속 라인 차트(continuous line chart) 상에서 시간의 함수로서 표시되는, 방법.
  10. 제9항에 있어서,
    상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 방법.
  11. 제9항에 있어서,
    상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경(change)을 나타내는, 방법.
  12. 제9항에 있어서,
    상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 방법.
  13. 자식 노드에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질과 연관된 메트릭 값을 판정하기 위한 수단;
    상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하기 위한 수단; 및
    상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하기 위한 수단
    을 포함하며,
    상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층이 규정되고,
    (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 판정되고 그 메트릭 값의 이력을 나타내는 시계열로서 저장되는, 시스템.
  14. 제13항에 있어서,
    상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 시스템.
  15. 제13항에 있어서,
    상기 프로파일링 정보를 생성하기 위한 수단을 더 포함하는, 시스템.
  16. 제15항에 있어서,
    상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 시스템.
  17. 제13항에 있어서,
    상기 계층의 배치는 사용자에 의해 명시되는, 시스템.
  18. 제15항에 있어서,
    상기 프로파일링 정보 내의 어느 데이터 필드가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 시스템.
  19. 제13항에 있어서,
    상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택하는, 시스템.
  20. 제13항에 있어서,
    상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치로서 표현되는, 시스템.
  21. 제13항에 있어서,
    (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두는 각각의 상기 다수 경우에 대해 연속 라인 차트 상에서 시간의 함수로서 표시되는, 시스템.
  22. 제21항에 있어서,
    상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 시스템.
  23. 제21항에 있어서,
    상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타내는, 시스템.
  24. 제21항에 있어서,
    상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 시스템.
  25. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 연결된 데이터 저장 시스템을 포함하고,
    상기 하나 이상의 프로세서는,
    자식 노드에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질과 연관된 메트릭 값을 판정하고;
    상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하며;
    상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하고;
    (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두를 각각의 상기 다수 경우에 대해 판정하도록 구성되며,
    상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층이 규정되고,
    상기 데이터 저장 시스템은, 각각의 상기 다수 경우에 대해 판정된 메트릭 값 중 하나 또는 양자 모두를 그 메트릭 값의 이력을 나타내는 시계열로서 저장하는, 컴퓨팅 시스템.
  26. 제25항에 있어서,
    상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 컴퓨팅 시스템.
  27. 제25항에 있어서,
    상기 하나 이상의 프로세서는 또한, 프로파일링 정보를 생성하도록 구성된, 컴퓨팅 시스템.
  28. 제27항에 있어서,
    상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 컴퓨팅 시스템.
  29. 제25항에 있어서,
    상기 계층의 배치는 사용자에 의해 명시되는, 컴퓨팅 시스템.
  30. 제27항에 있어서,
    상기 프로파일링 정보 내의 어느 데이터 필드가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 컴퓨팅 시스템.
  31. 제25항에 있어서,
    상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택하는, 컴퓨팅 시스템.
  32. 제25항에 있어서,
    상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치로서 표현되는, 컴퓨팅 시스템.
  33. 제25항에 있어서,
    상기 하나 이상의 프로세서는 또한, (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두로 하여금 각각의 상기 다수 경우에 대해 연속 라인 차트 상에서 시간의 함수로서 표시되게 하도록 구성되는, 컴퓨팅 시스템.
  34. 제33항에 있어서,
    상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 컴퓨팅 시스템.
  35. 제33항에 있어서,
    상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타내는, 컴퓨팅 시스템.
  36. 제33항에 있어서,
    상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 컴퓨팅 시스템.
  37. 장치 신호로부터 값을 취득하는 데에 사용하기 위한 실행가능한 명령어를 기억하는, 컴퓨터로 판독가능한 매체로서,
    상기 명령어는 상기 컴퓨터로 하여금,
    자식 노드에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질과 연관된 메트릭 값을 판정하고;
    상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하며;
    상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하도록 하고,
    상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층이 규정되며,
    (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 판정되고 그 메트릭 값의 이력을 나타내는 시계열로서 저장되는, 컴퓨터로 판독가능한 매체.
  38. 제37항에 있어서,
    상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 컴퓨터로 판독가능한 매체.
  39. 제37항에 있어서,
    상기 명령어는 또한 상기 컴퓨터로 하여금 프로파일링 정보를 생성하도록 하는, 컴퓨터로 판독가능한 매체.
  40. 제39항에 있어서,
    상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 컴퓨터로 판독가능한 매체.
  41. 제37항에 있어서,
    상기 계층의 배치는 사용자에 의해 명시되는, 컴퓨터로 판독가능한 매체.
  42. 제39항에 있어서,
    상기 프로파일링 정보 내의 어느 데이터 필드가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 컴퓨터로 판독가능한 매체.
  43. 제37항에 있어서,
    상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택하는, 컴퓨터로 판독가능한 매체.
  44. 제37항에 있어서,
    상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치로서 표현되는, 컴퓨터로 판독가능한 매체.
  45. 제37항에 있어서,
    상기 명령어는 또한 상기 컴퓨터로 하여금, (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 연속 라인 차트 상에서 시간의 함수로서 표시되게 하도록 하는, 컴퓨터로 판독가능한 매체.
  46. 제45항에 있어서,
    상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 컴퓨터로 판독가능한 매체.
  47. 제45항에 있어서,
    상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타내는, 컴퓨터로 판독가능한 매체.
  48. 제45항에 있어서,
    상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 컴퓨터로 판독가능한 매체.
KR1020107028563A 2008-06-20 2009-06-18 자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템 KR101513110B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/143,362 US8046385B2 (en) 2008-06-20 2008-06-20 Data quality tracking
US12/143,362 2008-06-20
PCT/US2009/047735 WO2009155392A1 (en) 2008-06-20 2009-06-18 Data quality tracking by determining metric values for child nodes and a parent node

Publications (2)

Publication Number Publication Date
KR20110031921A KR20110031921A (ko) 2011-03-29
KR101513110B1 true KR101513110B1 (ko) 2015-04-17

Family

ID=41432336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107028563A KR101513110B1 (ko) 2008-06-20 2009-06-18 자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템

Country Status (8)

Country Link
US (1) US8046385B2 (ko)
EP (1) EP2291764A4 (ko)
JP (1) JP5535203B2 (ko)
KR (1) KR101513110B1 (ko)
CN (1) CN102067106B (ko)
AU (1) AU2009260050C1 (ko)
CA (1) CA2728132C (ko)
WO (1) WO2009155392A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10693415B2 (en) 2007-12-05 2020-06-23 Solaredge Technologies Ltd. Testing of a photovoltaic panel
US11881814B2 (en) 2005-12-05 2024-01-23 Solaredge Technologies Ltd. Testing of a photovoltaic panel
US8947194B2 (en) 2009-05-26 2015-02-03 Solaredge Technologies Ltd. Theft detection and prevention in a power generation system
US8963369B2 (en) 2007-12-04 2015-02-24 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US11888387B2 (en) 2006-12-06 2024-01-30 Solaredge Technologies Ltd. Safety mechanisms, wake up and shutdown methods in distributed power installations
US11569659B2 (en) 2006-12-06 2023-01-31 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US8319471B2 (en) 2006-12-06 2012-11-27 Solaredge, Ltd. Battery power delivery module
US11296650B2 (en) 2006-12-06 2022-04-05 Solaredge Technologies Ltd. System and method for protection during inverter shutdown in distributed power installations
US9130401B2 (en) 2006-12-06 2015-09-08 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US11735910B2 (en) 2006-12-06 2023-08-22 Solaredge Technologies Ltd. Distributed power system using direct current power sources
US8531055B2 (en) 2006-12-06 2013-09-10 Solaredge Ltd. Safety mechanisms, wake up and shutdown methods in distributed power installations
US11728768B2 (en) 2006-12-06 2023-08-15 Solaredge Technologies Ltd. Pairing of components in a direct current distributed power generation system
US11687112B2 (en) 2006-12-06 2023-06-27 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US9112379B2 (en) 2006-12-06 2015-08-18 Solaredge Technologies Ltd. Pairing of components in a direct current distributed power generation system
US11855231B2 (en) 2006-12-06 2023-12-26 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US8013472B2 (en) 2006-12-06 2011-09-06 Solaredge, Ltd. Method for distributed power harvesting using DC power sources
US8319483B2 (en) 2007-08-06 2012-11-27 Solaredge Technologies Ltd. Digital average input current control in power converter
US8384243B2 (en) 2007-12-04 2013-02-26 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US8618692B2 (en) 2007-12-04 2013-12-31 Solaredge Technologies Ltd. Distributed power system using direct current power sources
US8816535B2 (en) 2007-10-10 2014-08-26 Solaredge Technologies, Ltd. System and method for protection during inverter shutdown in distributed power installations
US9088178B2 (en) 2006-12-06 2015-07-21 Solaredge Technologies Ltd Distributed power harvesting systems using DC power sources
US8473250B2 (en) 2006-12-06 2013-06-25 Solaredge, Ltd. Monitoring of distributed power harvesting systems using DC power sources
US11309832B2 (en) 2006-12-06 2022-04-19 Solaredge Technologies Ltd. Distributed power harvesting systems using DC power sources
US8049523B2 (en) 2007-12-05 2011-11-01 Solaredge Technologies Ltd. Current sensing on a MOSFET
US11264947B2 (en) 2007-12-05 2022-03-01 Solaredge Technologies Ltd. Testing of a photovoltaic panel
WO2009072075A2 (en) 2007-12-05 2009-06-11 Solaredge Technologies Ltd. Photovoltaic system power tracking method
US8289742B2 (en) 2007-12-05 2012-10-16 Solaredge Ltd. Parallel connected inverters
EP2722979B1 (en) 2008-03-24 2022-11-30 Solaredge Technologies Ltd. Switch mode converter including auxiliary commutation circuit for achieving zero current switching
EP3121922B1 (en) 2008-05-05 2020-03-04 Solaredge Technologies Ltd. Direct current power combiner
WO2010065623A1 (en) 2008-12-02 2010-06-10 Ab Initio Software Llc Visualizing relationships between data elements and graphical representations of data element attributes
US10673222B2 (en) 2010-11-09 2020-06-02 Solaredge Technologies Ltd. Arc detection and prevention in a power generation system
US10673229B2 (en) 2010-11-09 2020-06-02 Solaredge Technologies Ltd. Arc detection and prevention in a power generation system
GB2485527B (en) 2010-11-09 2012-12-19 Solaredge Technologies Ltd Arc detection and prevention in a power generation system
US10230310B2 (en) 2016-04-05 2019-03-12 Solaredge Technologies Ltd Safety switch for photovoltaic systems
GB2486408A (en) 2010-12-09 2012-06-20 Solaredge Technologies Ltd Disconnection of a string carrying direct current
GB2483317B (en) 2011-01-12 2012-08-22 Solaredge Technologies Ltd Serially connected inverters
US8570005B2 (en) 2011-09-12 2013-10-29 Solaredge Technologies Ltd. Direct current link circuit
GB2498365A (en) 2012-01-11 2013-07-17 Solaredge Technologies Ltd Photovoltaic module
GB2498790A (en) 2012-01-30 2013-07-31 Solaredge Technologies Ltd Maximising power in a photovoltaic distributed power system
GB2498791A (en) 2012-01-30 2013-07-31 Solaredge Technologies Ltd Photovoltaic panel circuitry
US9853565B2 (en) 2012-01-30 2017-12-26 Solaredge Technologies Ltd. Maximized power in a photovoltaic distributed power system
GB2499991A (en) 2012-03-05 2013-09-11 Solaredge Technologies Ltd DC link circuit for photovoltaic array
US10115841B2 (en) 2012-06-04 2018-10-30 Solaredge Technologies Ltd. Integrated photovoltaic panel circuitry
US9542462B1 (en) 2012-06-14 2017-01-10 Google Inc. Scaling high-level statistical languages to large, distributed datasets
US9558230B2 (en) 2013-02-12 2017-01-31 International Business Machines Corporation Data quality assessment
US9548619B2 (en) 2013-03-14 2017-01-17 Solaredge Technologies Ltd. Method and apparatus for storing and depleting energy
US9941813B2 (en) 2013-03-14 2018-04-10 Solaredge Technologies Ltd. High frequency multi-level inverter
EP4318001A3 (en) 2013-03-15 2024-05-01 Solaredge Technologies Ltd. Bypass mechanism
US9576036B2 (en) * 2013-03-15 2017-02-21 International Business Machines Corporation Self-analyzing data processing job to determine data quality issues
US20140297363A1 (en) * 2013-03-26 2014-10-02 Staples, Inc. On-Site and In-Store Content Personalization and Optimization
WO2014165601A1 (en) 2013-04-02 2014-10-09 Orbis Technologies, Inc. Data center analytics and dashboard
US9318974B2 (en) 2014-03-26 2016-04-19 Solaredge Technologies Ltd. Multi-level inverter with flying capacitor topology
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US9600504B2 (en) 2014-09-08 2017-03-21 International Business Machines Corporation Data quality analysis and cleansing of source data with respect to a target system
US11132336B2 (en) * 2015-01-12 2021-09-28 Qumulo, Inc. Filesystem hierarchical capacity quantity and aggregate metrics
US9836480B2 (en) 2015-01-12 2017-12-05 Qumulo, Inc. Filesystem capacity and performance metrics and visualizations
US11177663B2 (en) 2016-04-05 2021-11-16 Solaredge Technologies Ltd. Chain of power devices
US11018623B2 (en) 2016-04-05 2021-05-25 Solaredge Technologies Ltd. Safety switch for photovoltaic systems
US10095729B2 (en) 2016-12-09 2018-10-09 Qumulo, Inc. Managing storage quotas in a shared storage system
US10147040B2 (en) 2017-01-20 2018-12-04 Alchemy IoT Device data quality evaluator
US10318401B2 (en) 2017-04-20 2019-06-11 Qumulo, Inc. Triggering the increased collection and distribution of monitoring information in a distributed processing system
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
US11151092B2 (en) 2019-01-30 2021-10-19 Qumulo, Inc. Data replication in distributed file systems
US11461671B2 (en) 2019-06-03 2022-10-04 Bank Of America Corporation Data quality tool
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US10860372B1 (en) 2020-01-24 2020-12-08 Qumulo, Inc. Managing throughput fairness and quality of service in file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US10936551B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Aggregating alternate data stream metrics for file systems
US10936538B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Fair sampling of alternate data stream metrics for file systems
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11294604B1 (en) 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US11354273B1 (en) 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11966592B1 (en) 2022-11-29 2024-04-23 Qumulo, Inc. In-place erasure code transcoding for distributed file systems
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181554A1 (en) 1998-06-25 2004-09-16 Heckerman David E. Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
US20070112875A1 (en) 2004-07-15 2007-05-17 Hitachi, Ltd. Method and apparatus for hierarchical storage management based on data value and user interest
US20070255741A1 (en) 2006-04-28 2007-11-01 Business Objects, S.A. Apparatus and method for merging metadata within a repository

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11307412A (ja) * 1998-04-20 1999-11-05 Matsushita Electron Corp 半導体製造データ処理方法
US6725227B1 (en) * 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
JP2002288403A (ja) * 2001-03-27 2002-10-04 Ntt Comware Corp プロジェクト管理システム、プロジェクト管理方法、及びプロジェクト管理プログラム
EP1258814A1 (en) * 2001-05-17 2002-11-20 Requisite Technology Inc. Method and apparatus for analyzing the quality of the content of a database
US7120619B2 (en) * 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
KR100922141B1 (ko) * 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
US7197502B2 (en) * 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
US7496583B2 (en) * 2004-04-30 2009-02-24 Microsoft Corporation Property tree for metadata navigation and assignment
KR101126028B1 (ko) * 2004-05-04 2012-07-12 더 보스턴 컨설팅 그룹, 인코포레이티드 관련된 데이터베이스 레코드들을 선택하고, 분석하며,네트워크로서 비주얼화하기 위한 방법 및 장치
US7456840B2 (en) * 2004-08-31 2008-11-25 Oracle International Corporation Displaying information using nodes in a graph
US8176002B2 (en) * 2005-03-24 2012-05-08 Microsoft Corporation Method and system for user alteration of the configuration of a data warehouse
US8640086B2 (en) * 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
US20080172629A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Geometric Performance Metric Data Rendering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181554A1 (en) 1998-06-25 2004-09-16 Heckerman David E. Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
US20070112875A1 (en) 2004-07-15 2007-05-17 Hitachi, Ltd. Method and apparatus for hierarchical storage management based on data value and user interest
US20070255741A1 (en) 2006-04-28 2007-11-01 Business Objects, S.A. Apparatus and method for merging metadata within a repository

Also Published As

Publication number Publication date
AU2009260050B2 (en) 2013-07-04
JP5535203B2 (ja) 2014-07-02
KR20110031921A (ko) 2011-03-29
AU2009260050A1 (en) 2009-12-23
US8046385B2 (en) 2011-10-25
US20090319566A1 (en) 2009-12-24
CA2728132A1 (en) 2009-12-23
AU2009260050C1 (en) 2014-03-06
CA2728132C (en) 2017-02-21
CN102067106B (zh) 2015-03-04
WO2009155392A1 (en) 2009-12-23
CN102067106A (zh) 2011-05-18
JP2011525282A (ja) 2011-09-15
EP2291764A1 (en) 2011-03-09
EP2291764A4 (en) 2012-10-31

Similar Documents

Publication Publication Date Title
KR101513110B1 (ko) 자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템
KR101644418B1 (ko) 데이터 요소 간의 관계의 시각화 및 데이터 요소 속성의 그래픽 표현
US9727836B2 (en) Systems and methods for generating data visualization dashboards
US5930798A (en) Universal data measurement, analysis and control system
JP5306360B2 (ja) データ記録を一致させるシステムの分析のための方法およびシステム
JP5122115B2 (ja) 電子ビジネス通信におけるデータ要素の使用の追跡
US8190992B2 (en) Grouping and display of logically defined reports
US8217945B1 (en) Social annotation of a single evolving visual representation of a changing dataset
US20070239660A1 (en) Definition and instantiation of metric based business logic reports
US20030004742A1 (en) Business intelligence monitor method and system
US8314798B2 (en) Dynamic generation of contextual charts based on personalized visualization preferences
US20070255681A1 (en) Automated determination of relevant slice in multidimensional data sources
US8782016B2 (en) Database record repair
US11947567B2 (en) System and method for computing and managing datasets using hierarchical analytics
US20050256695A1 (en) Creating visual data models by combining multiple inter-related model segments
US20130124484A1 (en) Persistent flow apparatus to transform metrics packages received from wireless devices into a data store suitable for mobile communication network analysis by visualization
RU2602783C2 (ru) Управление версиями прецедентов
Liu et al. Extraction of attribute dependency graph from database applications
CN115905291B (zh) 基于图的数据处理方法、装置及存储介质
CN114691194A (zh) 代码统计方法和系统
Sileika Statistics Gathering and Reporting
WO2000023881A1 (en) Universal data measurement, analysis and control system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 5