KR101513110B1 - 자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템 - Google Patents
자식 노드와 부모 노드에 대한 메트릭 값을 판정하여 데이터 품질을 트래킹하는 방법 및 시스템 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000013500 data storage Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 16
- 238000013442 quality metrics Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 24
- 238000010200 validation analysis Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004040 coloring Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; 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 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는 요약 리포트에 기초한 차트이다.
도 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)
- 자식 노드(child node)에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보(profiling information)에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질(data quality)과 연관된 메트릭 값(metric value)을 판정하는 단계;
상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드(parent node)에 대한 메트릭 값을 판정하는 단계; 및
상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하는 단계
를 포함하며,
상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층(hierarchy)이 규정되고,
(i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 판정되고 그 메트릭 값의 이력을 나타내는 시계열(time series)로서 저장되는, 방법. - 제1항에 있어서,
상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 방법. - 제1항에 있어서,
상기 프로파일링 정보를 생성하는 단계를 더 포함하는, 방법. - 제3항에 있어서,
상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 방법. - 제1항에 있어서,
상기 계층의 배치는 사용자에 의해 명시되는, 방법. - 제3항에 있어서,
상기 프로파일링 정보 내의 어느 데이터 필드(data field)가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 방법. - 제1항에 있어서,
상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자(factor)를 사용자가 선택하는, 방법. - 제1항에 있어서,
상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치(number)로서 표현되는, 방법. - 제1항에 있어서,
(i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두는 각각의 상기 다수 경우에 대해 연속 라인 차트(continuous line chart) 상에서 시간의 함수로서 표시되는, 방법. - 제9항에 있어서,
상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 방법. - 제9항에 있어서,
상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경(change)을 나타내는, 방법. - 제9항에 있어서,
상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 방법. - 자식 노드에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질과 연관된 메트릭 값을 판정하기 위한 수단;
상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하기 위한 수단; 및
상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하기 위한 수단
을 포함하며,
상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층이 규정되고,
(i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 판정되고 그 메트릭 값의 이력을 나타내는 시계열로서 저장되는, 시스템. - 제13항에 있어서,
상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 시스템. - 제13항에 있어서,
상기 프로파일링 정보를 생성하기 위한 수단을 더 포함하는, 시스템. - 제15항에 있어서,
상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 시스템. - 제13항에 있어서,
상기 계층의 배치는 사용자에 의해 명시되는, 시스템. - 제15항에 있어서,
상기 프로파일링 정보 내의 어느 데이터 필드가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 시스템. - 제13항에 있어서,
상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택하는, 시스템. - 제13항에 있어서,
상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치로서 표현되는, 시스템. - 제13항에 있어서,
(i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두는 각각의 상기 다수 경우에 대해 연속 라인 차트 상에서 시간의 함수로서 표시되는, 시스템. - 제21항에 있어서,
상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 시스템. - 제21항에 있어서,
상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타내는, 시스템. - 제21항에 있어서,
상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 시스템. - 하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 연결된 데이터 저장 시스템을 포함하고,
상기 하나 이상의 프로세서는,
자식 노드에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질과 연관된 메트릭 값을 판정하고;
상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하며;
상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하고;
(i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두를 각각의 상기 다수 경우에 대해 판정하도록 구성되며,
상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층이 규정되고,
상기 데이터 저장 시스템은, 각각의 상기 다수 경우에 대해 판정된 메트릭 값 중 하나 또는 양자 모두를 그 메트릭 값의 이력을 나타내는 시계열로서 저장하는, 컴퓨팅 시스템. - 제25항에 있어서,
상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 컴퓨팅 시스템. - 제25항에 있어서,
상기 하나 이상의 프로세서는 또한, 프로파일링 정보를 생성하도록 구성된, 컴퓨팅 시스템. - 제27항에 있어서,
상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 컴퓨팅 시스템. - 제25항에 있어서,
상기 계층의 배치는 사용자에 의해 명시되는, 컴퓨팅 시스템. - 제27항에 있어서,
상기 프로파일링 정보 내의 어느 데이터 필드가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 컴퓨팅 시스템. - 제25항에 있어서,
상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택하는, 컴퓨팅 시스템. - 제25항에 있어서,
상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치로서 표현되는, 컴퓨팅 시스템. - 제25항에 있어서,
상기 하나 이상의 프로세서는 또한, (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두로 하여금 각각의 상기 다수 경우에 대해 연속 라인 차트 상에서 시간의 함수로서 표시되게 하도록 구성되는, 컴퓨팅 시스템. - 제33항에 있어서,
상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 컴퓨팅 시스템. - 제33항에 있어서,
상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타내는, 컴퓨팅 시스템. - 제33항에 있어서,
상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 컴퓨팅 시스템. - 장치 신호로부터 값을 취득하는 데에 사용하기 위한 실행가능한 명령어를 기억하는, 컴퓨터로 판독가능한 매체로서,
상기 명령어는 상기 컴퓨터로 하여금,
자식 노드에 의해 표현되는 데이터 특성을 나타내는 프로파일링 정보에 기초하여, 하나 이상의 상기 자식 노드 각각에 대한 데이터 품질과 연관된 메트릭 값을 판정하고;
상기 자식 노드 중 하나 이상의 메트릭 값에 기초해서 부모 노드에 대한 메트릭 값을 판정하며;
상기 부모 노드에 대한 메트릭 값의 판정을 다수 경우에 대해 반복하도록 하고,
상기 자식 노드 중 하나 이상과 상기 부모 노드 간의 관계에 의해 계층이 규정되며,
(i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 판정되고 그 메트릭 값의 이력을 나타내는 시계열로서 저장되는, 컴퓨터로 판독가능한 매체. - 제37항에 있어서,
상기 부모 노드에 대한 메트릭 값을 판정하는 데에 사용되는 상기 자식 노드 중 하나 이상은 자식 노드를 갖지 않는, 컴퓨터로 판독가능한 매체. - 제37항에 있어서,
상기 명령어는 또한 상기 컴퓨터로 하여금 프로파일링 정보를 생성하도록 하는, 컴퓨터로 판독가능한 매체. - 제39항에 있어서,
상기 프로파일링 정보는 상기 부모 노드에 의해 표현되는 데이터 특성을 나타내는, 컴퓨터로 판독가능한 매체. - 제37항에 있어서,
상기 계층의 배치는 사용자에 의해 명시되는, 컴퓨터로 판독가능한 매체. - 제39항에 있어서,
상기 프로파일링 정보 내의 어느 데이터 필드가 상기 메트릭 값의 판정에 영향을 미칠 것인지를 사용자가 명시하는, 컴퓨터로 판독가능한 매체. - 제37항에 있어서,
상기 메트릭 값의 판정에 영향을 미칠 이전에 구성한 하나 이상의 인자를 사용자가 선택하는, 컴퓨터로 판독가능한 매체. - 제37항에 있어서,
상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 및 상기 부모 노드에 대한 메트릭 값은 0 내지 100 사이의 수치로서 표현되는, 컴퓨터로 판독가능한 매체. - 제37항에 있어서,
상기 명령어는 또한 상기 컴퓨터로 하여금, (i) 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값 또는 (ii) 상기 부모 노드에 대한 메트릭 값 중 하나 또는 양자 모두가 각각의 상기 다수 경우에 대해 연속 라인 차트 상에서 시간의 함수로서 표시되게 하도록 하는, 컴퓨터로 판독가능한 매체. - 제45항에 있어서,
상기 연속 라인 차트는 상기 프로파일링 정보에 기초해서 자동으로 생성되는, 컴퓨터로 판독가능한 매체. - 제45항에 있어서,
상기 연속 라인 차트는 상기 메트릭 값의 판정을 좌우하는 규칙에서의 변경을 나타내는, 컴퓨터로 판독가능한 매체. - 제45항에 있어서,
상기 연속 라인 차트는 상기 부모 노드에 대한 메트릭 값의 판정에 사용되는 상기 자식 노드 중 하나 이상의 자식 노드 각각에 대한 메트릭 값에서의 변경을 나타내는, 컴퓨터로 판독가능한 매체.
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)
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)
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)
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 |
-
2008
- 2008-06-20 US US12/143,362 patent/US8046385B2/en active Active
-
2009
- 2009-06-18 EP EP09767701A patent/EP2291764A4/en not_active Ceased
- 2009-06-18 CA CA2728132A patent/CA2728132C/en active Active
- 2009-06-18 JP JP2011514796A patent/JP5535203B2/ja active Active
- 2009-06-18 KR KR1020107028563A patent/KR101513110B1/ko active IP Right Grant
- 2009-06-18 CN CN200980123317.1A patent/CN102067106B/zh active Active
- 2009-06-18 AU AU2009260050A patent/AU2009260050C1/en active Active
- 2009-06-18 WO PCT/US2009/047735 patent/WO2009155392A1/en active Application Filing
Patent Citations (3)
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 |