KR102552833B1 - 데이터 엔트로피 기반의 데이터 프로세싱 방법 - Google Patents

데이터 엔트로피 기반의 데이터 프로세싱 방법 Download PDF

Info

Publication number
KR102552833B1
KR102552833B1 KR1020180060258A KR20180060258A KR102552833B1 KR 102552833 B1 KR102552833 B1 KR 102552833B1 KR 1020180060258 A KR1020180060258 A KR 1020180060258A KR 20180060258 A KR20180060258 A KR 20180060258A KR 102552833 B1 KR102552833 B1 KR 102552833B1
Authority
KR
South Korea
Prior art keywords
data
column
entropy
value
columns
Prior art date
Application number
KR1020180060258A
Other languages
English (en)
Other versions
KR20190135158A (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 삼성에스디에스 주식회사
Priority to KR1020180060258A priority Critical patent/KR102552833B1/ko
Publication of KR20190135158A publication Critical patent/KR20190135158A/ko
Application granted granted Critical
Publication of KR102552833B1 publication Critical patent/KR102552833B1/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

소스 데이터에 대하여 그 엔트로피 값을 기준으로 엔트로피 테이블을 생성하여, 상기 소스 데이터에 대한 샘플링 정확도를 높이는 등의 용도로 사용하는 데이터 프로세싱 방법 및 상기 데이터 프로세싱의 결과를 이용하여 상기 소스 데이터의 분석에 제공될 데이터의 준비(data preparation) 방법이 제공된다. 본 발명의 일 실시예에 따른 데이터 프로세싱 방법은, 복수의 컬럼을 가지는 레코드들을 포함하는 상기 소스 데이터를 얻는 단계와, 상기 소스 데이터의 각 컬럼 별 엔트로피 값을 계산하는 단계와, 상기 엔트로피 값을 기준으로 상기 복수의 컬럼 중 키 요소 컬럼을 선정하는 단계와, 상기 선정된 키 요소 컬럼의 값들을 이용하여 구성된 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성하는 단계를 포함한다.

Description

데이터 엔트로피 기반의 데이터 프로세싱 방법{DATA PROCESSING METHOD BASED-ON ENTROPY VALUE OF DATA}
본 발명은 데이터 엔트로피 기반의 데이터 프로세싱 방법에 관한 것이다. 보다 자세하게는, 고용량의 소스 데이터의 컬럼 별 엔트로피 값을 이용하여 상기 소스 데이터를 인덱싱하는 것을 포함하는 데이터 프로세싱 방법에 관한 것이다. 상기 데이터 프로세싱에 따른 인덱싱의 결과는, 상기 고용량의 소스 데이터의 샘플 데이터에 대하여 데이터 탐색 등 데이터 준비(data preparation) 작업을 진행함에 있어서 샘플 데이터의 품질이 지속적으로 일정 수준 이상을 유지하도록 하는 등의 다양한 데이터 분석 방법에 적용될 수 있다.
데이터 엔지니어 혹은 데이터 과학자는 작업 시간의 상당부분을 데이터 준비(data preparation)에 투입해야 한다. 데이터 준비 작업은 반복적으로 수행되는 데이터 탐색 및 변환 작업을 포함한다. 소스 데이터의 용량이 탐색 및 변환 작업이 빠르게 수행되기 어려울 정도의 고용량인 경우가 많으므로, 빈번하게 수행되어야 하는 상기 탐색 및 변환 작업은 전체의 소스 데이터를 대상으로 수행되기 어렵다. 따라서, 상기 소스 데이터의 일부를 샘플링 한 결과 데이터인 샘플 데이터를 대상으로 상기 탐색 및 변환 작업이 수행된다.
기존의 샘플링은 주로 무작위로 고정된 건 수 또는 필요에 따라 결정된 건 수의 데이터를 상기 소스 데이터에서 추출하는 방식으로 수행된다. 샘플링 후 수행되는 가공 함수의 종류에 따라 샘플링 데이터의 건 수가 변하게 되는데 대부분의 가공 함수는 수행이 반복될수록 샘플 데이터의 개수 감소를 가져온다. 특히, 가공 함수 중 필터 함수 또는 종합(aggregation) 함수의 경우, 샘플 데이터의 개수를 현저히 감소시키게 되고, 샘플 데이터가 빈약한 것으로 인하여, 더 이상의 후속 가공 함수 적용이 어려운 경우가 많다. 또한 샘플링으로 추출된 데이터가 특정 영역에 편중된 경우 데이터의 전체적 특성을 파악하기 힘들며 이로 인해 작업 수행이 불가능하거나 수행할 수 있는 작업의 기회를 놓치는 일도 발생한다.
미국공개특허 제2018-0095644호 미국공개특허 제2017-0109378호 미국공개특허 제2018-0109387호 미국공개특허 제2018-0109388호 미국공개특허 제2018-0109389호
본 발명이 해결하고자 하는 기술적 과제는, 컬럼의 엔트로피 값을 기준으로 선정된 컬럼을 이용하여 구성된 인덱스 키를 기준으로 소스 데이터의 각 컬럼 별 엔트로피 값을 가리키는 엔트로피 테이블을 생성하는 것을 포함하는 인덱싱 성격의 데이터 프로세싱 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 상기 엔트로피 테이블의 생성에 있어서, 상기 소스 데이터가 수평 분할 된 각각의 블록 별로, 그 블록의 데이터 특성에 최적화 된 인덱스 키를 각각 생성하는 것을 포함하는 인덱싱 성격의 데이터 프로세싱 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 상기 소스 데이터의 샘플링 결과인 샘플 데이터에 대하여 가공 함수가 적용된 결과를 참조하는 추가 샘플링 수행 기준이 만족되면, 자동으로 소스 데이터로부터 추가 샘플링을 수행하여, 샘플 데이터를 보충하는 데이터 샘플링 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 상기 소스 데이터의 샘플링 결과인 샘플 데이터에 대하여 적용되는 가공 함수의 종료 또는 가공 함수의 파라미터 컬럼을 참조하는 추가 샘플링 수행 기준이 만족되면, 자동으로 소스 데이터로부터 추가 샘플링을 수행하여, 샘플 데이터를 보충하는 데이터 샘플링 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 소스 데이터의 샘플 데이터에 대하여 반복적으로 가공 함수가 적용되더라도 샘플 데이터의 품질이 계속 유지되도록 자동 추가 샘플링 기능이 포함된 데이터 준비(data preparation) 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 일 실시예에 따른 데이터 프로세싱 방법은, 복수의 컬럼을 가지는 레코드들을 포함하는 상기 소스 데이터를 얻는 단계와, 상기 소스 데이터의 각 컬럼 별 엔트로피(entropy) 값을 계산하는 단계와, 상기 엔트로피 값을 기준으로 상기 복수의 컬럼 중 키 요소 컬럼을 선정하는 단계와, 상기 선정된 키 요소 컬럼의 값들을 이용하여 구성된 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성하는 단계를 포함한다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 다른 실시예에 따른 데이터 프로세싱 방법은, 복수의 컬럼을 가지는 레코드들을 포함하는 상기 소스 데이터의 제1 부분 레코드들로 구성된 제1 블록(shard)와, 상기 소스 데이터의 제2 부분 레코드들로 구성된 제2 블록을 얻는 단계와, 상기 제1 블록의 각 컬럼 별 엔트로피(entropy) 값을 계산하는 단계와, 상기 제1 블록의 제1 인덱스 키의 값을 상기 제1 블록의 각 레코드 별로 생성하되, 상기 제1 인덱스 키의 값은 상기 제1 블록의 컬럼 별 엔트로피 값을 기준으로 선정된 제1 키 요소 컬럼의 값을 이용하여 생성되는 것인 단계와, 상기 제2 블록의 각 컬럼 별 엔트로피 값을 계산하는 단계와, 상기 제2 블록의 제2 인덱스 키의 값을 상기 제2 블록의 각 레코드 별로 생성하되, 상기 제2 인덱스 키의 값은 상기 제2 블록의 컬럼 별 엔트로피 값을 기준으로 선정된 제2 키 요소 컬럼의 값을 이용하여 생성되는 것인 단계를 포함한다. 이 때, 상기 제1 키 요소 컬럼에 포함된 컬럼과, 상기 제2 키 요소 컬럼에 포함된 컬럼 중 적어도 하나는 다른 컬럼일 수 있다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 샘플링 방법은, 소스 데이터의 일부가 샘플링 된 제1 샘플 데이터에 가공 함수를 적용한 결과인 제2 샘플 데이터를 얻는 단계와, 상기 제2 샘플 데이터의 엔트로피 값을 참조하는 추가 샘플링 수행 기준 만족시, 상기 소스 데이터로부터 자동으로 추가 샘플링을 수행하는 단계를 포함한다. 상기 소스 데이터에서 자동으로 추가 샘플링을 수행하는 단계는, 상기 소스 데이터에서 추가 샘플링 된 데이터를 상기 제1 샘플 데이터에 추가하여 제2 샘플 데이터를 구성하는 단계와, 상기 제2 샘플 데이터에 상기 가공 함수를 적용하여 제3 샘플 데이터를 출력하는 단계를 포함할 수 있다. 또한, 상기 소스 데이터에서 자동으로 추가 샘플링을 수행하는 단계는, 상기 제1 샘플 데이터의 기준 컬럼의 엔트로피 값을 기준으로, 상기 소스 데이터에서 추가 샘플링을 진행할지 여부를 결정하는 단계를 포함하되, 상기 기준 컬럼은 상기 가공 함수의 파라미터로서 참조되는 컬럼일 수도 있다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 샘플링 방법은, 소스 데이터의 일부가 샘플링 된 제1 샘플 데이터를 얻는 단계와, 상기 제1 샘플 데이터에 적용 될 가공 함수를 참조하는 추가 샘플링 수행 기준 만족시, 상기 소스 데이터에서 자동으로 추가 샘플링을 수행하는 단계를 포함한다. 일 실시예에서, 상기 소스 데이터에서 자동으로 추가 샘플링을 수행하는 단계는, 상기 소스 데이터에서 추가 샘플링 된 데이터를 상기 제1 샘플 데이터에 추가하여 제2 샘플 데이터를 구성하는 단계와, 상기 제2 샘플 데이터에 상기 가공 함수를 적용하여 제3 샘플 데이터를 출력하는 단계를 포함할 수 있다. 또한, 일 실시예에서, 상기 소스 데이터에서 자동으로 추가 샘플링을 수행하는 단계는, 상기 제1 샘플 데이터의 기준 컬럼의 엔트로피 값을 기준으로, 상기 소스 데이터에서 추가 샘플링을 진행할지 여부를 결정하는 단계를 포함하되, 상기 기준 컬럼은 상기 가공 함수의 파라미터로서 참조되는 컬럼일 수 있다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 프로세싱 시스템은, 복수의 컬럼을 가지는 레코드들을 포함하는 소스 데이터를 얻고, 상기 소스 데이터의 각 컬럼 별 엔트로피 값을 계산하는 엔트로피 연산부와, 상기 엔트로피 값을 기준으로 상기 복수의 컬럼 중 키 요소 컬럼을 선정하고, 상기 선정된 키 요소 컬럼의 값들을 이용하여 구성된 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성하는 인덱싱부와, 소스 데이터의 일부가 샘플링 된 제1 샘플 데이터에 가공 함수를 적용한 결과인 제2 샘플 데이터를 얻고, 추가 샘플링 수행 기준 만족시, 상기 엔트로피 테이블을 참조하여 상기 소스 데이터로부터 자동으로 추가 샘플링을 수행하는 샘플링 자동화부를 포함한다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 준비(Data Preparation) 방법은, 소스 데이터의 일부가 샘플링 된 제1 샘플 데이터를 디스플레이 하는 단계와, 상기 제1 샘플 데이터에 대하여 적용될 가공 함수를 정의하기 위한 사용자 입력을 입력 받는 단계와, 상기 제1 샘플 데이터에 가공 함수를 적용한 결과를 이용하여 생성된 제2 샘플 데이터를 디스플레이 하는 단계와, 상기 제2 샘플 데이터의 엔트로피 값이 기준에 미달하는 경우, 상기 소스 데이터에서 자동으로 추가 샘플링을 진행하는 단계와, 상기 추가 샘플링 된 데이터에 상기 가공 함수를 적용한 결과를 이용하여 생성된 제3 샘플 데이터를 상기 제2 샘플 데이터에 추가하는 단계를 포함한다. 상기 제3 샘플 데이터를 상기 제2 샘플 데이터에 추가하는 단계는, 상기 제3 샘플 데이터가 상기 제2 샘플 데이터에 추가된 것을 반영하는 가공 함수 결과 디스플레이의 업데이트를 사용자 입력 없이 자동 수행 하는 단계를 포함할 수 있다.
상기 기술된 문제점들을 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 준비(Data Preparation) 방법은, 소스 데이터의 일부가 샘플링 된 제1 샘플 데이터를 디스플레이 하는 단계와, 상기 제1 샘플 데이터에 대하여 적용될 가공 함수를 정의하기 위한 사용자 입력을 입력 받는 단계와, 상기 제1 샘플 데이터에 가공 함수를 적용한 결과를 이용하여 생성된 제2 샘플 데이터의 엔트로피 값이 기준에 미달하는 경우, 상기 소스 데이터에서 자동으로 추가 샘플링을 진행하는 단계와, 상기 추가 샘플링 된 데이터에 상기 가공 함수를 적용한 결과를 이용하여 생성된 제3 샘플 데이터를 디스플레이 하는 단계를 포함한다.
도 1은 본 발명의 일 실시예에 따른 데이터 수집 및 분석 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 수집 된 소스 데이터의 분석 방법의 순서도이다.
도 3은 본 발명의 또 다른 실시예에 따른 엔트로피 기반 데이터 프로세싱 방법의 순서도이다.
도 4는 도 3을 참조하여 설명되는 방법에 따라 엔트로피 테이블이 생성되는 과정을 설명하기 위한 개념도이다.
도 5는 본 발명의 몇몇 실시예들에서 참조되는 블록을 설명하기 위한 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른 엔트로피 기반 데이터 프로세싱 방법을 수행함에 따라 블록 별로 엔트로피 테이블이 생성되는 과정을 설명하는 개념도이다.
도 7은 도 6을 참조하여 설명된 엔트로피 기반 데이터 프로세싱 방법의 순서도이다.
도 8은 본 발명의 또 다른 실시예에 따른 기반 데이터 프로세싱 방법을 수행함에 따라 블록 별로 서로 다른 인덱스 키가 구성되는 엔트로피 테이블이 생성되는 과정을 설명하는 개념도이다.
도 9는 도 8을 참조하여 설명된 엔트로피 기반 데이터 프로세싱 방법의 순서도이다.
도 10은 본 발명의 또 다른 실시예에 따른 데이터 샘플링 및 분석을 위한 데이터 준비(data preparation) 방법의 제1 순서도이다.
도 11은 도 10을 참조하여 설명한 방법이 수행됨에 따라 자동으로 추가 샘플링이 수행됨에 따라 샘플 데이터의 품질이 유지되는 것을 설명하기 위한 도면이다.
도 12는 도 11을 참조하여 설명된 방식에 따라 상기 추가 샘플링이 수행되는 경우, 가공 함수 적용 결과가 출력되는 화면이 시간 순서대로 바뀌는 과정을 설명하기 위한 도면이다.
도 13은 본 발명의 또 다른 실시예에 따른 데이터 샘플링 및 분석을 위한 데이터 준비(data preparation) 방법의 제2 순서도이다.
도 14는 도 13을 참조하여 설명한 방법이 수행됨에 따라 자동으로 추가 샘플링이 수행됨에 따라 샘플 데이터의 품질이 유지되는 것을 설명하기 위한 도면이다.
도 15는 도 13을 참조하여 설명된 방식에 따라 상기 추가 샘플링이 수행되는 경우, 가공 함수 적용 결과가 출력되는 화면이 시간 순서대로 바뀌는 과정을 설명하기 위한 도면이다.
도 16a 내지 도 16c는, 본 발명의 몇몇 실시예들에 따른 데이터 샘플링 및 분석을 위한 데이터 준비 방법이 수행됨에 따라, 사용자 단말에 표시되는 샘플 데이터 표시 GUI(Graphic User Interface)의 일예이다.
도 17은, 본 발명의 몇몇 실시예들에 따른 데이터 샘플링 및 분석을 위한 데이터 준비 방법이 수행됨에 따라, 데이터 준비 툴 환경 설정 GUI의 일예이다.
도 18은, 본 발명의 또 다른 실시예에 따른 데이터 프로세싱 시스템의 블록 구성도이다.
도 19는, 본 발명의 또 다른 실시예에 따른 데이터 프로세싱 시스템의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
본 발명의 일 실시예에 따른 데이터 수집 및 분석 시스템의 구성 및 그 동작을, 도 1을 참조하여 설명한다. 본 실시예에 따른 데이터 수집 및 분석 시스템은 인터넷(40)에 연결된 하나 이상의 컴퓨팅 장치로 구성된다. 예를 들어, 상기 하나 이상의 컴퓨팅 장치는 소스 데이터 수집 장치(20), 소스 데이터 프로세싱 장치(100) 및 데이터 분석 장치(50)를 포함할 수 있다.
소스 데이터 수집 장치(20)는 제품 생산에 사용되는 설비들(30)과 같이 소스 데이터를 구성하는 데이터를 송신하는 장치들로부터 데이터를 수신하고, 수신된 데이터를 취합하여 소스 데이터를 구성한다. 예를 들어, 소스 데이터 수집 장치(20)는 관리 대상 빌딩에 설치된 다수의 IoT 센서들(미도시)로부터 수집된 시계열 데이터들을 재구성 하여 소스 데이터를 구성하거나, 생산 설비들(30)로부터 설비 LOG를 수집하여 상기 소스 데이터를 구성하거나, 생산 설비들(30)에 구비된 온도 센서 또는 압력 센서로부터 측정 값을 수집하여 상기 소스 데이터를 구성하거나, 이동 단말들(미도시)로부터 이동 단말들의 위치 정보를 계속적으로 수집하여 상기 소스 데이터를 구성하거나, 데이터베이스 관리 시스템(DBMS)이 설치 된 장치(미도시)로부터 데이터를 수집하여 상기 소스 데이터를 구성하거나, 웹 서버(미도시)로부터 웹 접속 로그 를 수집하여 상기 소스 데이터를 구성하거나, RESTful 시스템(미도시)로부터 데이터를 수집하여 상기 소스 데이터를 구성할 수 있을 것이다. 소스 데이터 수집 장치(20)는 구성된 상기 소스 데이터를 소스 데이터 프로세싱 장치(100)에 송신한다. 상기 소스 데이터는, 다양한 형식으로 구성될 수 있다. 예를 들어, 하나 이상의 컬럼(바람직하게는 복수의 컬럼)에 대하여 그 값을 가지는 복수의 레코드로 구성될 수 있다. 즉, 이 경우 상기 소스 데이터는 가로 축으로 컬럼으로 구성되고 세로 축으로 레코드들로 구성되는 2차원 데이터이다.
소스 데이터 프로세싱 장치(100)는 상기 소스 데이터에 대하여 각 컬럼 별로 엔트로피(entropy) 값을 계산한다. 정보이론에 있어 엔트로피는 정보의 양과 밀접한 관계를 가지며 엔트로피가 높을수록(즉, 엔트로피 값이 클수록) 정보의 양이 많고 정보의 불확실성이 높다고 할 수 있다. 즉, 상기 소스 데이터의 각 컬럼의 엔트로피 값은 각 컬럼 별 데이터 분포 및 특성을 가리키는 기초 데이터이다.
소스 데이터 프로세싱 장치(100)는 널리 알려진 다양한 엔트로피 계산 방법을 이용하여 소스 데이터의 각 컬럼 별 엔트로피 값을 계산할 수 있다. 예를 들어, 소스 데이터 프로세싱 장치(100)는 샤넌 엔트로피(Shannon Entropy)를 활용하여, 엔트로피 값을 구할 수 있다. 이 때, 엔트로피를 구하는 수식은 아래의 수학식 1과 같다. 정보 이론에 있어서 엔트로피를 구하는 방법은 웹 문서인"https://en.wikipedia.org/wiki/Entropy_(information_theory)", 역시 웹문서인 "https://en.wiktionary.org/wiki/Shannon_entropy" 등 다양한 문헌을 통하여 소개되고 있으므로, 본 명세서에서는 이와 관련된 상세한 설명은 생략한다.
Figure 112018051959596-pat00001
소스 데이터 프로세싱 장치(100)는 상기 계산된 엔트로피 값을 기준으로, 소스 데이터의 복수의 컬럼 중 키 요소(key element) 컬럼을 선정한다. 상기 키 요소 컬럼이 인덱스 키를 구성한다. 그리고, 소스 데이터 프로세싱 장치(100)는 상기 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성한다. 상기 키 요소 컬럼은 하나 이상의 컬럼을 포함한다. 일 실시예에서 상기 키 요소 컬럼은 복수의 컬럼을 포함하고, 이 때 상기 인덱스 키의 값은 상기 키 요소 컬럼의 값들을 조합하여 생성된다.
상기 엔트로피 테이블은, 인덱스 데이터 컬럼별 엔트로피 값을 각각의 인덱스 키 값 별로 정리된 테이블이다. 상기 엔트로피 테이블은 상기 소스 데이터의 컬럼들 중 값의 다양성이 높지 않은 컬럼의 값들을 기준으로 인덱싱 된 상기 소스 데이터의 각 레코드들의 각 컬럼 값의 다양성이 각 컬럼 별로 어떠한 지를 보여주는 데이터 구조로 이해될 수 있을 것이다.
상기 엔트로피 테이블은 상기 소스 데이터에 포함된 각 레코드의 컬럼 별 다양성을, 그 값의 다양성이 크지 않은 컬럼의 값들을 기준으로 인덱싱 하여 파악할 수 있는 점에서, 상기 소스 데이터의 분석을 위한 다양한 용도로 활용될 수 있을 것이다. 상기 엔트로피 테이블은 각 컬럼 별 엔트로피 값을 기준으로 한다는 점은 공통으로 하나, 그 외의 점에 있어서는 다양한 방식으로 생성될 수 있다. 이러한 점에 대하여는 추후 도면들을 참조하여 설명하기로 한다.
데이터 분석 장치(50)는 소스 데이터 프로세싱 장치(100)로부터 제공 된 '분석을 위하여 준비된 데이터(prepared data)'를 이용하여 머신 러닝, 데이터 마이닝과 같은 데이터 분석을 수행한다.
본 실시예에 따른 시스템은 인터넷(40)에 연결된 사용자 단말(10)을 더 포함할 수 있다.
사용자 단말(10)은 소스 데이터 수집 장치(20)에 접속하여, 소스 데이터 수집 정책 등을 설정하기 위한 UI(User Interface, 이하, 'UI'라고만 함), 소스 데이터 수집 상황의 모니터링 대시보드 데이터 등을 디스플레이 할 수 있다.
또한, 사용자 단말(10)은 소스 데이터 프로세싱 장치(100)에 접속하여, 소스 데이터의 엔트로피 기반 인덱싱 방식을 설정하기 위한 UI, 소스 데이터에서 샘플링 된 데이터에 대한 가공 함수 적용을 통해 데이터 준비(data preparation)를 수행하기 위한 데이터 준비 툴 UI 또는 상기 데이터 준비 툴 사용에 있어서, 자동 추가 샘플링 방식 등을 설정하기 위한 환경설정 UI 등을 디스플레이 할 수 있다. 사용자 단말(10)이 소스 데이터 프로세싱 장치(100)에 접속하여 표시하게 되는 UI의 예시들에 대하여는 추후 도 16a 내지 도 17을 참조하여 상세히 설명하기로 한다.
또한, 사용자 단말(10)은 데이터 분석 장치(50)에 접속하여, 소스 데이터 프로세싱 장치로부터 수신된 데이터(prepared data)를 이용하여 소스 데이터에 대한 분석을 수행함에 있어서, 그 분석 방법 및 파라미터 등을 세팅하고, 분석 결과를 확인하기 위한 UI를 디스플레이 할 수 있다
도 1에 도시된 것이 본 실시예에 따른 시스템의 유일한 구성은 아님을 유의하여야 한다. 예를 들어, 본 실시예에 따른 시스템에 소스 데이터 수집 장치(20)는 존재하지 않을 수 있다. 이 때에는, IoT 센서들(30)과 같은 소스 데이터 송신 장치가 소스 데이터 프로세싱 장치(100)에 데이터를 송신하고, 소스 데이터 프로세싱 장치(100)는 소스 데이터 구성 동작까지도 수행할 것이다. 또한, 예를 들어, 본 실시예에 따른 시스템에 데이터 분석 장치(50)가 존재하지 않을 수도 있다. 이 때에는, 소스 데이터 프로세싱 장치(100)가 데이터 준비(data preparation) 뿐만 아니라, 상기 데이터 준비 과정을 거쳐 분석 대상으로 결정된 데이터에 대한 분석(예를 들어, 데이터 마이닝, 머신 러닝, 다양한 통계 분석)까지도 수행할 것이다.
도 1에 도시된 시스템을 포괄적으로 설명하면, 소스 데이터 수집 장치(20)는 분석의 대상인 일종의 원시 데이터(raw data)를 구성하고, 소스 데이터 프로세싱 장치(100)는 상기 원시 데이터 중 분석이 필요한(또는 분석 할만한) 데이터를 취합하기 위해 데이터를 준비(data preparation) 하며, 데이터 분석 장치(50)는 소스 데이터 프로세싱 장치(100)에 의하여 준비된 데이터를 대상으로 데이터 분석을 수행하는 것으로 이해될 수 있을 것이다. 소스 데이터 프로세싱 장치(100)는 데이터의 엔트로피를 기준으로 데이터를 인덱싱 한 결과인 상기 엔트로피 테이블을 생성하고, 데이터 준비에 사용되는 샘플 데이터의 품질을 유지하기 위해 추가 샘플링 되는 블록을 선정하기 위한 참조 데이터로서 상기 엔트로피 테이블을 이용한다.
이하, 본 발명의 다른 실시예에 따른 데이터 프로세싱 방법을 도 2를 참조하여 설명한다. 도 2는 본 실시예의 순서도이다. 본 실시예는 소스 데이터의 엔트로피 기반 인덱싱을 수행하고, 상기 인덱싱의 결과를 이용하여 자동으로 소스 데이터로부터의 추가 샘플링을 진행하는 것에 의하여 데이터 분석을 위한 데이터 준비(data preparation) 작업을 효율화하기 위한 것으로 개괄적으로 이해될 수 있을 것이다. 또한, 본 실시예에 따른 방법은 컴퓨팅 장치에 의하여 수행되는데, 물리적으로 하나의 컴퓨팅 장치에 의하여 본 실시예의 방법에 포함되는 모든 동작이 실행될 수도 있을 것이나, 본 실시예의 방법의 제1 동작들은 제1 컴퓨팅 장치에 의하여 수행되고, 본 실시예의 방법의 제2 동작들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다.
단계 S10에서, 소스 데이터를 상기 소스 데이터의 각 컬럼 별 엔트로피 값을 이용하여 인덱싱 한다. 보다 자세하게는, 상기 엔트로피 값을 이용하여 인덱스 키로 사용될 키 요소 컬럼을 선정하고, 선정된 키 요소 컬럼의 값을 이용하여 생성된 인덱스 키의 값 별로 엔트로피 값을 가지는 엔트로피 테이블을, 상기 인덱싱의 결과로서 생성한다. 상기 엔트로피 테이블은 각 인덱스 키에 대응되는 소스 데이터의 레코드로 향하는 포인터를 포함함으로써, 인덱스 테이블로서 참조될 수도 있을 것이다. 상기 엔트로피 테이블을 생성하는 것을 포함하는, 신규의 인덱싱 방법에 대하여는 본 실시예와 상이한 다른 실시예에 대한 설명 과정에서 도 3 내지 도 9를 참조하여 보다 상세히 설명하기로 한다.
단계 S20에서, 샘플링을 수행하여, 소스 데이터로부터 초기 샘플 데이터를 추출한다. 초기의 샘플 데이터이므로, 이 때 추출된 샘플 데이터는 굳이 데이터의 엔트로피를 고려할 필요는 없을 것이다. 다만, 몇몇 실시예에 따르면, 단계 S20에서, 좋은 품질의 샘플 데이터를 초기 구성하기 위하여 상기 엔트로피 테이블을 참조하여 엔트로피 값이 높은 샘플 데이터를 초기 구성할 수도 있다.
단계 S30에서, 현재의 샘플 데이터를 대상으로 가공 함수를 적용하고, 그 결과 상기 가공 함수에서 출력된 데이터들로 구성된 새로운 샘플 데이터를 생성한다. 예를 들어, 제1 샘플 데이터에 제1 가공 함수를 적용한 결과인 제2 샘플 데이터가 구성되고, 다시 상기 제2 샘플 데이터에 제2 가공 함수를 적용한 결과인 제3 샘플 데이터가 구성될 수 있을 것이다. 이런 방식으로, 가공 함수의 적용에 따라 샘플 데이터는 지속적으로 업데이트 된다.
그런데, 데이터 준비(data preparing) 과정에서 적용되는 대부분의 상기 가공 함수는, 적용 후 샘플 데이터의 품질이 적용 전 샘플 데이터의 품질 대비 더 낮아지게 된다. 예를 들어, 필터 함수는 필연적으로 샘플 데이터의 레코드 개수를 감소시킴과 동시에, 필터링 대상 컬럼의 엔트로피를 감소시킬 것이다. 예를 들어, 전체 1억 건의 레코드를 포함하는 인적 정보 소스 데이터 중, 10000개의 샘플 데이터가 존재하는 상황에서, 나이를 20대로 한정하는 필터 함수가 적용되면, 샘플 데이터의 개수는 1000개로 줄고(10000명 중 20대는 1/10이라고 전제), 상기 1000개의 샘플 데이터에 대한 나이 컬럼의 엔트로피도 기존의 10000개의 샘플 데이터의 나이 컬럼의 엔트로피 대비 대폭 감소하게 될 것이다. 상기 1000개의 샘플 데이터에 다음 가공 함수를 적용하는 경우, 그 결과로 출력되는 샘플 데이터는 너무 한정적인 데이터들만 남게 되어, 더 이상 추가적인 가공 함수를 적용하기 어려울 것이다.
소스 데이터에 포함된 레코드의 개수가 충분하다면, 상기 문제점은 자동화된 추가 샘플링을 수행함으로써 해결될 수 있다. 이와 관련하여, 단계 S40에서, 현재 상태가 추가 샘플링 수행 기준을 만족하는 상태인지 판정된다. 상기 추가 샘플링 수행 기준은, 상기 가공 함수의 적용 결과로 구성된 신규의 샘플 데이터의 엔트로피 값을 기준으로 하는 것(예를 들어, 전체 컬럼의 엔트로피 평균 값이 한계치 이하인 경우 추가 샘플링 수행 기준을 만족하는 것으로 판정)일 수 있다. 즉, 본 실시예는, 가공 함수 적용 결과 구성 되는 새로운 샘플 데이터의 엔트로피 값이 한계치 미만으로 낮아지면 상기 새로운 샘플 데이터는 전반적으로 그 다양성이 훼손되어 샘플 데이터로서의 품질이 좋지 않기 때문에, 소스 데이터로부터 자동으로 추가 샘플링을 수행하여 상기 새로운 샘플 데이터의 다양성을 보완해 주는 것으로, 그 목적 및 효과가 이해될 수 있을 것이다.
상기 추가 샘플링 수행 기준은, 상기 가공 함수를 참조하여 결정되는 것일 수도 있다. 가공 함수를 참조하여 결정되는 추가 샘플링 수행 기준은, 예를 들어, 샘플 데이터의 개수를 대폭 감소시키는 filter 함수가 적용되는 경우 항상 추가 샘플링 수행 기준을 만족하는 것으로 판정하는 것처럼, 특정 가공 함수가 적용되면 항상 추가 샘플링 수행 기준을 만족하는 것으로 판정하는 것을 의미할 수 있다. 또한, 가공 함수를 참조하여 결정되는 추가 샘플링 수행 기준은, 가공 함수의 종류가 아닌, 가공 함수에 파라미터로서 참조되는 컬럼에 따라 그 만족 여부가 결정될 수 있다. 예를 들어, 가공 함수에 제1 컬럼이 파라미터로서 참조되도록 정의되었는데, 상기 제1 컬럼의 엔트로피 값이 한계치 이하인 경우, 상기 가공 함수의 종류와 무관하게 상기 추가 샘플링 수행 기준이 만족되는 것으로 판정될 수 있다. 낮은 엔트로피 값을 가지는 컬럼을 참조하는 가공 함수가 적용된다면, 그 적용 결과로 구성되는 새로운 샘플 데이터의 다양성이 크게 훼손될 가능성이 높기 때문이다.
상기 추가 샘플링 수행 기준이 만족되지 않는 것으로 판정된 경우, 사용자 입력에 따라 가공 함수를 정의하고, 상기 정의된 가공 함수를 현재 샘플 데이터에 대하여 적용하는 동작이 다시 수행될 것이다. 반대로, 상기 추가 샘플링 수행 기준이 만족되는 경우, 단계 S50에서 상기 소스 데이터로부터 자동으로 추가 샘플링을 수행하는 동작이 수행될 것이다. 이 때, 추가 샘플링 되는 데이터는 단계 S10에서 생성된 엔트로피 테이블을 참조하여 선정될 수 있는데, 예를 들어, 상기 소스 데이터가 수평 분할되어 구성된 복수의 블록 각각에 대하여 개별적으로 생성된 엔트로피 테이블의 엔트로피 값을 기준으로 추가 샘플링 대상 블록이 선정될 수 있을 것이다. 이 때 선정된 블록의 레코드들이 추가 샘플링 되는 것이다.
단계 S50의 수행 결과, 가공 함수 적용 후의 샘플 데이터의 품질이 보완 되게 된다. 따라서, 가공 함수를 적용하는 것에 의하여 샘플 데이터의 품질이 훼손되거나, 아예 샘플 데이터가 소멸되는 것에 의하여, 데이터 준비 작업을 더 이상 수행하지 못하는 문제점이 해결된다.
데이터 준비가 완료되면(S60), 데이터 준비 결과에 따라 상기 소스 데이터 중 선정 된 데이터를 대상으로 하는 데이터 분석이 단계 S70에서 수행된다.
이하, 본 발명의 또 다른 실시예에 따른 데이터 프로세싱 방법에 대하여 도 3 내지 도 9를 참조하여 설명한다. 본 실시예에 따른 방법 역시 컴퓨팅 장치에 의하여 수행되는데, 물리적으로 하나의 컴퓨팅 장치에 의하여 본 실시예의 방법에 포함되는 모든 동작이 실행될 수도 있을 것이나, 본 실시예의 방법의 제1 동작들은 제1 컴퓨팅 장치에 의하여 수행되고, 본 실시예의 방법의 제2 동작들은 제2 컴퓨팅 장치에 의하여 수행될 수도 있다.
우선, 본 실시예의 대략적인 동작을 도 3을 참조하여 설명한다. 먼저, 소스 데이터가 얻어지고(S101), 소스 데이터의 컬럼 별로 엔트로피 값이 계산된다(S103). 그리고, 각 컬럼의 엔트로피 값을 기준으로 키 요소 컬럼이 선정된다(S105). 이 때, 엔트로피 값이 낮은 컬럼을 키 요소 컬럼으로 선정하는 것을 목적으로 정의 된 규칙에 따라 상기 키 요소 컬럼이 선정되는 것이 바람직하다. 엔트로피 값이 높은 컬럼을 키 요소 컬럼으로 선정하게 되면, 너무 많은 인덱스 키 값이 생성될 것이고, 그렇다면 그 인덱스 키 값에 매칭 되는 소스 데이터의 레코드 개수가 많지 않아 엔트로피 값의 신뢰도가 낮아지기 때문이다. 다음으로, 상기 키 요소 컬럼의 값들을 이용하여 인덱스 키가 구성되고, 각각의 인덱스 키 값에 매칭 되는 레코드들의 각 컬럼 별 엔트로피 값을 포함하는 엔트로피 테이블이 생성된다(S107).
본 실시예에 대하여, 도 4에 도시된 사례를 참조하여 보다 상세히 설명한다. 도 4에는 예시적인 소스 데이터(200)가 도시되어 있다. 소스 데이터(200)는 'name', 'age', 'company', 'location' 총 4개의 컬럼(200b, 200c, 200d, 200e)으로 구성되어 있다. 예를 들어, Jimmy 레코드(200a)는, 4개의 컬럼 각각에 대한 값(value)를 가진다. 소스 데이터(200)에 대하여 각 컬럼 별 엔트로피 값이 연산된 결과(300), 'name'의 엔트로피 값은 9, 'age'의 엔트로피 값은 7, 'company'의 엔트로피 값은 2, 'location'의 엔트로피 값은 1이다. 결과(300)를 해석하면, 총 4개의 컬럼 중, 그 값의 다양성이 가장 낮은 컬럼은 'location' 컬럼이고, 다양성이 가장 높은 컬럼은 'name' 컬럼이다.
도 3의 단계 S105에서 설명한 바와 같이, 소스 데이터(200)의 컬럼들(200b, 200c, 200d, 200e) 중에서, 각 컬럼의 엔트로피 값을 기준으로 키 요소 컬럼이 선정된다. 이 때, 선정되는 상기 키 요소 컬럼은 하나의 컬럼일 수 있다. 하나의 컬럼인 키 요소 컬럼으로 인덱스 키가 구성되는 경우, 상기 인덱스 키의 개수는 상기 키 요소 컬럼이 가지는 값의 종류의 수이다. 예를 들어, 도 4의 소스 데이터(200)에 대하여 인덱스 키가 'company' 컬럼으로 선정되고, 'company' 컬럼의 값이 'A', 또는 'B' 만 존재한다면, 상기 인덱스 키의 개수는 2개가 될 것이다.
이미 설명한 바와 같이, 엔트로피 값이 낮은 컬럼이 인덱스 키로서 적절하다. 그런데 엔트로피 값이 낮은 컬럼 하나만 인덱스 키로 사용하면, 인덱스 키의 다양성이 부족하여 인덱싱의 효과가 높지 않을 수 있다. 이러한 점을 보완하기 위해, 본 발명의 몇몇 실시예들에서, 복수 개의 컬럼들로 구성되는 키 요소 컬럼이 선정될 수도 있다.
이 때, 상기 키 요소 컬럼은 상기 엔트로피 값이 낮은 하위 n(2<= n < M, n은 자연수, M은 소스 데이터의 컬럼 개수) 개의 컬럼일 수 있다. 이 때, 상기 n은 기설정된 고정 숫자이거나, 전체 컬럼의 개수 중 엔트로피가 낮은 하위 Y(0<Y<100)%에 상당하는 숫자일 수 있다. 또한 n이 정해짐에 따라 구성되는 인덱스 키의 개수가 사전 정의된 범위(하한값 및 상한값 중 적어도 어느 하나가 사전 정의된)를 만족하도록 하는 숫자일 수도 있다. 예를 들어 사전 정의된 인덱스 키의 개수가 4개 이상 5개 이하로 설정되어 있었다면, 도 4에 도시된 사례에서 n이 1인 경우, 상기 키 요소 컬럼은 'location' 컬럼으로 결정되고, 그 결과 인덱스 키의 개수는 'KR' 및 'CN'의 두개가 될 것이므로, n은 1이 될 수 없고, n이 2인 경우, 도 4에 도시된 바와 같이 인덱스 키의 개수가 4개가 되어 사전 정의된 인덱스 키의 개수 범위를 만족시키고, 따라서 n은 가 될 것이다. 이미 언급한 바와 같이, 상기 인덱스 키의 개수 범위는 상한값 및 하한값 중 어느 하나는 정의되지도 않을 수도 있다. 예를 들어, 상기 인덱스 키의 개수 범위는 2개 이상으로 정의될 수도 있을 것이고, 10개 이하로 정의될 수도 있을 것이다. 이하, 중복하여 언급하지 않더라도, 키 요소 컬럼의 개수를 결정할 때 n의 결정과 관련된 상기 실시예들이 적용될 수 있음을 유의한다.
예를 들어, 어떠한 소스 데이터에 컬럼이 10개가 존재한다고 할 때, 엔트로피 값이 가장 낮은 컬럼이 제3 컬럼이고, 그 다음으로 낮은 컬럼이 제7 컬럼이며, 2개의 컬럼을 조합하여 인덱스 키를 선정한다면, 상기 제3 컬럼 및 상기 제7 컬럼이 상기 키 요소 컬럼으로 선정될 것이다. 이처럼, 몇몇 실시예들에서, 상기 n은 기 지정된 자연수 일 수 있다. 즉, 특정 개수의 하위 엔트로피 컬럼이 상기 키 요소 컬럼으로 선정될 수 있다. 본 실시예에 따르면 인덱스 키를 구성하는 컬럼의 개수를 지정함으로써, 소스 데이터 전체적인 값의 다양성과 인덱스 키의 개수를 연동시키는 효과를 얻을 수 있을 것이다. 인덱스 키를 구성하는 것으로 선정된 컬럼들은 상기 소스 데이터의 전체 컬럼들 중 그 엔트로피 값을 기준으로 최하위 n 번째 안에 드는 컬럼들이기 때문이다.
도 4에 도시된 것과 같이, 소스 데이터(200)의 컬럼들(200b, 200c, 200d, 200e) 중, 엔트로피 값이 낮은 순서로 하위 2개의 컬럼인 'company', 'location' 컬럼이 상기 키 요소 컬럼으로 선정된 경우, 인덱스 키(350)는 'company' 컬럼의 모든 값들과, 'location' 컬럼의 모든 값들을 조합하여 구성된다. 즉, 'company' 컬럼의 값의 종류가 A 개이고, 'location' 컬럼의 값의 종류가 B 개라면, 인덱스 키(350)의 개수는 A 곱하기 B 개가 될 것이다. 도 4에 도시된 소스 데이터(200)에 포함된 레코드가 'company' 컬럼의 값으로서 'A', 'B' 2개의 값만 가지고, 'location' 컬럼의 값으로서 'KR', 'CN' 2개의 값만 가지므로, 인덱스 키(350)는 총 4개의 키 값([A, KR], [A, CN], [B, KR], [B, CN])을 가지게 된다.
반면, 다른 몇몇 실시예들에서는, 기 지정된 한계치 이하의 엔트로피 값을 갖는 모든 컬럼이 상기 키 요소 컬럼으로 선정될 수도 있다. 이 경우, 인덱스 키의 개수의 변동 가능성을 억제할 수 있는 효과를 기대할 수 있다. 기 지정된 개수의 컬럼을 상기 키 요소 컬럼으로 선정하게 되면 상기 키 요소 컬럼이 가지는 값의 종류의 수에 따라 상기 인덱스 키의 개수의 변동성이 커지게 되는데, 특정 범위의 엔트로피 값을 갖는 모든 컬럼을 상기 키 요소 컬럼으로 선정함으로써 상기 변동성이 억제될 수 있을 것이다. 예를 들어, 무조건 2개의 컬럼을 상기 키 요소 컬럼으로 선정하는 경우, 그 중 하나의 컬럼(엔트로피 1)이 2가지의 값을 가지고 다른 하나의 컬럼(엔트로피 1) 역시 2가지의 값을 가진다면, 총 4개(2 X 2)의 인덱스 키가 만들어질 것이나, 엔트로피 값이 5 이하인 모든 컬럼을 상기 키 요소 컬럼으로 선정하는 경우, 상기 키 요소 컬럼으로 선정되는 컬럼의 개수가 늘어나서 인덱스 키의 다양성이 보완될 수 있을 것이다.
이상 인덱스 키의 생성과 관련된 다양한 실시예들을 설명하였고, 다음으로, 각 인덱스 키 별로 컬럼 별 엔트로피 값을 생성함으로써 엔트로피 테이블을 생성하는 방법을 설명한다. 도 4의 예시에서, 총 4개의 각 인덱스 키 값에 매칭 되는 레코드들의 컬럼 값들을 이용하여, 각 컬럼 별 엔트로피 값이 계산되고, 그 결과가 포함된 엔트로피 테이블(350a)가 구성된다. 이 때, 소스 데이터(200)의 전체 컬럼들(200b, 200c, 200d, 200e) 중에서 인덱스 키에 포함되지 않은 컬럼들은 이해의 편의를 돕기 위해 '인덱스 데이터 컬럼'으로 지칭될 것이다. 엔트로피 테이블(350a)의 인덱스 데이터 컬럼은 'name'컬럼 및 'age' 컬럼이 된다.
도 4에 도시된 예시의 경우, 인덱스 키(A, KR)에 대응되는 레코드는, Jimmy, Scarlett, Mel, Tim을 포함한다. 인덱스 키(A, KR)에 대응되는 레코드들의 name 값의 엔트로피 값이 '8'이고, 인덱스 키(A, KR)에 대응되는 레코드들의 age 값의 엔트로피 값이 '2'인 것으로, 엔트로피 테이블(350a)의 의미가 이해 될 수 있을 것이다.
관리의 효율성을 위해, 대용량의 데이터를 수평 분할하여 복수의 블록으로 나누는 기술이 알려져 있다. 크게는 수억 건에 달하는 레코드를 하나의 테이블로 관리한다면, 조회, 삽입, 삭제 등의 대부분의 데이터 관리 연산에 많은 시간이 소요되기 때문이다. 이하, 도 5에 도시된 바와 같이, 소스 데이터(200)가 복수의 블록들로 나뉘는 경우의 엔트로피 기반 데이터 프로세싱 방법에 대하여 설명한다. 각각의 블록들은 소스 데이터(200)의 일부 레코드들로 구성된다.
이하 설명되는 본 발명의 실시예들은, 소스 데이터(200)가 이미 블록들로 나뉘어 있는 경우는 물론이고, 소스 데이터(200)가 블록들로 나뉘어 있지 않더라도 본 발명의 실시예 수행 도중 블록들로 나뉘는 경우도 모두 적용되는 점에 유의한다.
도 6에 3개의 블록(400a, 400b, 400c)이 도시되어 있다. 이는 소스 데이터(200)가 3개의 블록으로 나뉜다는 것을 의미하지는 않고, 소스 데이터(200)의 복수의 블록 중 3개의 블록을 도시한 것이다. 도 4를 참조하여 설명한 것은 소스 데이터 전체에 대하여 하나의 엔트로피 테이블이 생성되는 것이었는데, 소스 데이터(200)가 복수의 블록으로 나뉘는 경우, 각각의 블록 별로 엔트로피 테이블이 생성된다(물론, 일부 실시예에서 관리의 효율성 차원 및 인덱싱의 정확도 향상 차원에서 속성이 유사한 블록들은 함께 묶어서 하나의 엔트로피 테이블을 생성해줄 수도 있다).
몇몇 실시예들에서, 복수의 블록 각각에 대하여 엔트로피 테이블이 생성되더라도, 각각의 엔트로피 테이블의 인덱스 키의 키 요소 컬럼은 모두 동일할 수 있다. 도 6을 참조하면, 소스 데이터(200) 전체의 컬럼 별 엔트로피 값 계산 결과(300)를 이용하여 키 요소 컬럼(300a)이 선정되고, 각 블록 별 엔트로피 테이블(500a, 500b, 500c)의 인덱스 키(500)는 모두 동일한 키 요소 컬럼(300a)을 이용하여 구성된다. 이 때, 각 블록 별 엔트로피 테이블(500a, 500b, 500c)의 인덱스 키의 키 값이 모두 동일하다는 것은 아니고, 인덱스 키를 구성할 때 그 키 요소 컬럼만 동일하다는 점을 유의한다. 예를 들어, 키 요소 컬럼 하나가 선정되었는데, 제1 블록은 상기 키 요소 컬럼의 값이 5가지 종류이고, 제2 블록은 상기 키 요소 컬럼의 값이 4가지 종류라면, 제1 블록의 인덱스 키는 5개 구성되고, 제2 블록의 인덱스 키는 4개 구성될 것이다.
복수의 블록 각각에 대하여 엔트로피 테이블이 생성되더라도, 각각의 엔트로피 테이블의 인덱스 키의 키 요소 컬럼은 모두 동일한 실시예들에서, 모든 블록의 인덱스 데이터 컬럼이 동일한 실시예 및 적어도 일부의 블록에서 인덱스 데이터 컬럼이 다른 블록의 인덱스 데이터 컬럼과 다른 실시예가 고려될 수 있을 것이다. 예를 들어, 엔트로피 값이 인덱스 데이터 컬럼 반영 한계치를 넘지 못하는 컬럼은 엔트로피 테이블의 인덱스 데이터 컬럼으로서 반영되지 않을 수 있다. 이 경우, 추후 설명 될 추가 샘플링 대상 블록 탐색 과정에서, 엔트로피 보강이 필요한 컬럼이 엔트로피 테이블에 포함되어 있는 블록들로 그 추가 샘플링 후보를 제한함으로써, 추가 샘플링 대상 블록 탐색 속도를 빠르게 할 수 있는 효과를 얻을 수 있을 것이다.
도 7은 도 6을 참조하여 설명된 엔트로피 기반 데이터 프로세싱 방법의 순서도이다. 본 실시예에 따른 데이터 프로세싱 방법을 도 7을 참조하여 설명한다.
소스 데이터를 얻고(S101), 소스 데이터 내 각 블록을 식별한다(S102). 이 때, 소스 데이터가 이미 블록화 되어 있었다면 단순히 블록을 식별하면 되고, 소스 데이터가 블록화 되지 않은 상태라면, 소스 데이터를 복수의 블록으로 분할한다. 이 때, 데이터 출처 등 다양한 기준으로 소스 데이터를 수평 분할 할 수 있을 것이다. 도 17을 참조하여 설명할 환경 설정 GUI에, 도 17에는 반영되어 있지 않으나, 소스 데이터의 수평 분할 기준에 대한 설정 항목도 포함될 수 있을 것이다.
다음으로, 소스 데이터의 컬럼 별 엔트로피 값을 계산한다(S103). 이 때 계산되는 엔트로피 값은 소스 데이터 전체에 대한 것이다.
그리고, 상기 계산된 엔트로피 값을 기준으로 엔트로피 값이 낮은 키 요소 컬럼을 선정한다(S105). 이 때 키 요소 컬럼은 하나의 컬럼일 수도 있고, 복수의 컬럼일 수도 있으며, 기 지정된 개수의 엔트로피 값 최하위 n개 컬럼일 수도 있고, 기 지정된 한계치 이하의 엔트로피 값을 갖는 모든 컬럼일 수도 있다.
다음으로, 상기 키 요소 컬럼을 이용하여 인덱스 키를 구성하고, 상기 인덱스 키를 이용하여 각 블록 별로 엔트로피 테이블을 생성한다(S107-1). 이미 설명한 바와 같이, 상기 엔트로피 값은 소스 데이터 전체의 특성을 반영하는 것이다. 즉, 각 블록 별 엔트로피 테이블은 소스 데이터 전체의 특성을 반영하여 구성된 인덱스 키에 기반하여 생성된 것이다. 따라서, 본 실시예에 따르면, 소스 데이터의 큰 사이즈를 고려하여 블록 별로 나누어 엔트로피 테이블을 생성하되, 각 블록의 특성에만 함몰되지 않고 데이터 전체의 특성을 반영하는 엔트로피 테이블을 생성할 수 있는 효과를 제공한다.
도 8은 본 발명의 또 다른 실시예에 따른 기반 데이터 프로세싱 방법을 수행함에 따라 블록 별로 서로 다른 인덱스 키가 구성되는 엔트로피 테이블이 생성되는 과정을 설명하는 개념도이다. 도 6 및 도 7을 참조하여 설명했던 실시예는 서로 다른 블록에 대하여, 동일한 키 요소 컬럼을 이용하여 구성된 인덱스 키가 적용되었으나, 본 실시예에서는 각 블록 별로 블록에 소속된 레코드들의 데이터 특성에 맞는 인덱스 키가 개별적으로 정해진다. 이하, 도 8 내지 도 9를 참조하여 설명한다.
각 블록 별로 블록의 데이터 특성에 맞는 인덱스 키 구성 방식을 결정하기 위하여, 소스 데이터 전체가 아닌, 각 블록의 데이터만을 이용하여 컬럼 별 엔트로피 값이 연산된다.
예를 들어, 엔트로피 값이 '3' 이하인 컬럼을 키 요소 컬럼으로 선정한다는 규칙을 모든 블록에 공통적으로 적용한다고 가정하여 도 8의 도시를 설명한다.
블록 1(400a)의 데이터에 대하여 연산된 컬럼별 엔트로피 값(400a-1)이 있을 때, 엔트로피 값이 3이하인 2개의 컬럼('company', 'location')(400a-2)이, 블록 1을 위한 키 요소 컬럼으로 선정되고, 상기 키 요소 컬럼의 선정에 따라 인덱스 데이터 컬럼은 나머지 2개의 컬럼('name', 'age')이 되며, 그 결과 블록 1을 위한 엔트로피 테이블(600a)이 생성된다. 엔트로피 테이블(600a)은 블록 1을 위한 인덱스 키(600a-1)의 각 키 값에 대응되는 블록 1의 레코드들 별로, 엔트로피 테이블(600a)의 인덱스 데이터 컬럼 별 엔트로피 값을 포함하는 데이터이다.
블록 2(400b)의 데이터에 대하여 연산된 컬럼별 엔트로피 값(400b-1)이 있을 때, 엔트로피 값이 3이하인 1개의 컬럼('location')(400b-2)이, 블록 2를 위한 키 요소 컬럼으로 선정되고, 상기 키 요소 컬럼의 선정에 따라 인덱스 데이터 컬럼은 나머지 3개의 컬럼('name', 'age', 'company')이 되며, 그 결과 블록 2를 위한 엔트로피 테이블(600b)이 생성된다. 엔트로피 테이블(600b)은 블록 2를 위한 인덱스 키(600b-1)의 각 키 값에 대응되는 블록 2의 레코드들 별로, 엔트로피 테이블(600b)의 인덱스 데이터 컬럼 별 엔트로피 값을 포함하는 데이터이다.
블록 3(400c)의 데이터에 대하여 연산된 컬럼별 엔트로피 값(400c-1)이 있을 때, 엔트로피 값이 3이하인 3개의 컬럼('age', 'company', 'location')이, 블록 3을 위한 키 요소 컬럼으로 선정되고, 상기 키 요소 컬럼의 선정에 따라 인덱스 데이터 컬럼은 나머지 1개의 컬럼('name')이 되며, 그 결과 블록 3을 위한 엔트로피 테이블(600c)이 생성된다. 엔트로피 테이블(600c)은 블록 3을 위한 인덱스 키(600c-1)의 각 키 값에 대응되는 블록 3의 레코드들 별로, 엔트로피 테이블(600c)의 인덱스 데이터 컬럼 별 엔트로피 값을 포함하는 데이터이다.
이상 설명한 바와 같이, 소스 데이터에 소속된 모든 블록에 대하여 동일한 기준으로 상기 키 요소 컬럼을 선정하더라도, 각각의 블록 별로 엔트로피를 연산하게 되면 상기 엔트로피 값에 기반하여 선정되는 키 요소 컬럼은 각각의 블록의 데이터 특성에 따라 달라지게 된다. 예를 들어, 제1 블록의 키 요소 컬럼과, 제2 블록의 키 요소 컬럼의 개수가 서로 달라질 수 있을 것이다. 예를 들어, 제1 블록의 키 요소 컬럼은 한 개의 컬럼으로 구성되지만, 제2 블록의 키 요소 컬럼은 복수의 컬럼으로 구성될 수도 있을 것이다. 그리고, 상기 키 요소 컬럼의 선정 결과가 달라지면, 그에 따라 인덱스 데이터 컬럼도 달라지고, 그에 따라 생성되는 엔트로피 테이블로 달라지게 되는 것이다.
각각의 블록 별로 엔트로피 테이블이 다르게 생성되는 경우의 효과를 설명한다. 특정 블록의 엔트로피 테이블은, 상기 특정 블록의 데이터 중, 각각의 인덱스 키로 대표되는 레코드들의 컬럼 별 다양성을 표현하는 데이터이다. 따라서, 블록 별로 엔트로피 테이블을 생성해 주고, 엔트로피 테이블의 각 컬럼 별 엔트로피 대표 값(예를 들어, 평균값)을 구함으로써, 해당 블록의 레코드들의 컬럼 별 다양성을 확인할 수 있다.
또한, 몇몇 실시예들에서 상기 엔트로피 테이블은 인덱스 키에 대응되는 하나 이상의 레코드들에 대한 포인터 등 링크 정보를 더 포함할 수도 있다. 따라서, 이 경우, 특정 컬럼의 다양성이 높은 레코드들의 조합을 빠르게 구성할 수도 있을 것이다.
이 경우, 현재 샘플 데이터의 다양성에 문제가 있고, 특히 그 엔트로피 보강이 필요한 컬럼이 결정되면, 그 결정된 컬럼이 엔트로피 테이블에 인덱스 데이터 컬럼으로서 포함되어 있는 블록들로 그 추가 샘플링 후보를 제한함으로써, 추가 샘플링 대상 블록 탐색 속도를 빠르게 할 수 있는 효과를 얻을 수 있을 것이다. 예를 들어, 도 8에 도시된 상황에서, 현재 샘플 데이터의 'company'컬럼 다양성이 낮아서 'company'컬럼의 엔트로피를 증가시킬 수 있는 방향으로 추가 샘플링이 필요한 경우, 소스 데이터에 포함된 전체 블록들 중에서 그 엔트로피 테이블에 'company' 컬럼이 엔트로피 데이터 컬럼으로서 포함되어 있는 블록들 만을 대상으로, 추가 샘플링 대상 선정 로직을 수행하면 될 것이다. 즉, 도 8에 도시된 상황에서는, 블록 2가 바로 추가 샘플링 대상으로 선정될 것이고, 이 때 블록 1 및 블록 3은 고려될 필요도 없다.
도 17을 참조하여 설명할 환경 설정 GUI에, 도 17에는 반영되어 있지 않으나, 각각의 블록에 대한 키 요소 선정 규칙을 설정하기 위한 항목도 포함될 수 있을 것이다.
본 실시예에 따른 데이터 프로세싱 방법을 도 9를 참조하여 설명한다.
소스 데이터를 얻고(S101), 소스 데이터 내 각 블록을 식별한다(S102). 다음으로, 소스 데이터의 컬럼 별 엔트로피 값을 계산하되, 각 블록 별로 개별적으로 엔트로피 계산을 수행한다(S104).
그리고, 각각의 블록 별로, 개별적으로, 상기 계산된 엔트로피 값을 기준으로 엔트로피 값이 낮은 키 요소 컬럼을 선정한다(S106).
다음으로, 상기 키 요소 컬럼을 이용하여 인덱스 키를 구성하고, 상기 인덱스 키를 이용하여 엔트로피 테이블을 생성하는 것을, 각각의 블록 별로 수행한다(S107-2).
이상으로, 각각의 블록 별로 서로 다른 인덱스 키를 가지는 방식으로 엔트로피 테이블이 생성되는 실시예들을 설명하였다. 설명의 초기에, 동일한 키 요소 컬럼 선정 규칙이 모든 블록에 공통적으로 적용되는 것으로 가정하여 설명한 바 있으나, 본 발명의 다른 몇몇 실시예들에 따르면 각각의 블록 마다 키 요소 선정 규칙도 다르게 적용될 수 있다. 예를 들어, 각각의 블록이 포함하는 데이터의 생성 시각, 발생 장치 등에 따라 결정된 키 요소 선정 규칙이 해당 블록의 인덱스 키 생성을 위하여 적용될 수 있다. 예를 들어, 상기 제1 블록의 제1 키 요소 컬럼은, 상기 제1 블록의 각 컬럼 별 엔트로피 값이 낮은 하위 p(1<= p < M, p은 기 지정된 자연수, M은 소스 데이터의 컬럼 개수) 개의 컬럼을 포함하고, 제2 블록의 제2 키 요소 컬럼은, 상기 제2 블록의 각 컬럼 별 엔트로피 값이 기준치 보다 낮은 모든 컬럼을 포함할 수 있다.
이하, 본 발명의 또 다른 몇몇 실시예들에 따른 데이터 샘플링 및 분석을 위한 데이터 준비(data preparation) 방법을, 도 10 내지 도 17을 참조하여 설명한다.
먼저 도 10을 참조하여, 일 실시예에 따른 방법을 개괄적으로 설명한다. 본 실시예에 따른 방법은 현재 샘플 데이터에 대하여 가공 함수를 적용한 결과로 구성되는 갱신된 샘플 데이터를 먼저 디스플레이한 후, 상기 갱신된 샘플 데이터 또는 상기 가공 함수를 참조하는 추가 샘플링 수행 기준을 만족하는 경우, 자동으로 소스 데이터로부터 추가 샘플링을 진행하여 상기 갱신된 샘플 데이터의 품질을 보완하는 방법인 것으로 이해될 수 있을 것이다.
단계 S10에서, 소스 데이터에 대하여 엔트로피 기반 인덱싱이 수행된다. 단계 S10은, 예를 들어 도 3 내지 도 9를 참조하여 설명한 데이터 프로세싱 방법일 수 있다. 다음으로, 소스 데이터로부터 초기 샘플링이 수행된다(S20).
사용자 단말을 통하여 입력 된 사용자 입력을 이용하여 현재 샘플 데이터에 적용될 가공 함수가 세팅되고(S100), 상기 가공 함수를 현재 샘플 데이터에 적용한 결과인 갱신된 샘플 데이터가 디스플레이 되기 위한 UI 데이터가 생성되고, 상기 UI 데이터가 상기 사용자 단말에 송신됨으로써, 상기 사용자 단말에 상기 갱신된 샘플 데이터가 디스플레이 된다(S102). 그 후, 사용자 입력이 없더라도, 추가 샘플링 수행 기준이 만족 되는지 판정된다(S104).
예를 들어, 상기 추가 샘플링 수행 기준은 상기 갱신된 샘플 데이터를 참조하는 것을 포함할 수 있다. 예를 들어, 상기 갱신된 샘플 데이터의 전체 엔트로피 값이 기준치를 하회하는 경우 상기 추가 샘플링 수행 기준이 만족 되는 것으로 판정되거나, 사용자에 의하여 특정된 하나 이상의 컬럼의 엔트로피 값이 기준치를 하회하는 경우 상기 추가 샘플링 수행 기준이 만족 되는 것으로 판정되거나, 직전에 적용된 가공 함수의 파라미터로서 참조되었던 하나 이상의 컬럼의 엔트로피 값이 기준치를 하회하는 경우 상기 추가 샘플링 수행 기준이 만족 되는 것으로 판정될 수 있다.
예를 들어, 상기 추가 샘플링 수행 기준은 상기 가공 함수를 참조하는 것일 수 있다. 예를 들어, 사용자에 의하여 특정된 하나 이상의 가공 함수가 적용된 후에는 상기 추가 샘플링 수행 기준이 만족되는 것으로 판정되거나, 샘플 데이터의 레코드 수를 감소 시키거나, 엔트로피 값을 낮추는 경향이 강하기 때문에 사전에 고정적으로 정의된 하나 이상의 가공 함수가 적용된 후에는 상기 추가 샘플링 수행 기준이 만족되는 것으로 판정되거나, 사용자에 의하여 특정된 하나 이상의 컬럼이 상기 가공 함수에서 파라미터로서 참조된 후에는 상기 추가 샘플링 수행 기준이 만족되는 것으로 판정될 수 있다.
상기 추가 샘플링 기준이 만족되는 것으로 판정되는 경우, 상기 갱신된 샘플 데이터의 각 컬럼의 엔트로피 값이 체크된다. 이 때, 예를 들어 특정 개수의 최하위 엔트로피 값을 가진 컬럼(저-엔트로피 컬럼)이 일괄적으로 보완 대상 컬럼으로 선정되거나, 한계치 이하의 엔트로피 값을 가진 컬럼이 상기 보완 대상 컬럼으로 선정될 수 있다(S106).
다음으로, 추가 샘플링 대상 블록이 선정된다(S108). 이 때, 상기 보완 대상 컬럼의 엔트로피 값을 기준으로 하여, 상기 추가 샘플링 대상 블록이 선정된다. 이 때, 엔트로피 데이터 컬럼으로서 상기 보완 대상 컬럼이 존재하는 엔트로피 테이블을 가진 블록이 1차 선정될 수 있다. 일 실시예에서 상기 1차 선정된 모든 블록이 상기 추가 샘플링 대상 블록으로서 선정될 수 있다. 다른 실시예에서 상기 1차 선정된 블록들 중에서, 상기 보완 대상 컬럼의 엔트로피 값이 높은 블록들이 2차 선정되고, 상기 2차 선정된 블록이 상기 추가 샘플링 대상 블록으로서 선정될 수도 있다. 상기 2차 선정은 고정 개수의 블록을 선정하는 것이거나, 한계치 이상의 엔트로피 값을 모두 선정하는 것일 수 있다.
다음으로, 상기 선정된 추가 샘플링 대상 블록의 전체 레코드에 지금까지 적용된 바 있는 가공함수들을, 그 적용 순서대로 순차적으로 적용하고, 그 결과로 남은 레코드들을 현재의 갱신된 샘플 데이터에 추가함으로써, 샘플 데이터의 자동 보완이 수행된다(S110). 또한, 보완 된 샘플 데이터가 자동으로 업데이트 되어 디스플레이 될 것이다(S112). 단계 S100 내지 단계 S112는 새로운 가공 함수가 현재 샘플 데이터에 대하여 적용될 때마다 반복된다(S114).
도 11은 도 10을 참조하여 설명한 방법이 수행됨에 따라 자동으로 추가 샘플링이 수행되고, 그 결과로 샘플 데이터의 품질이 유지되는 것을 설명하기 위한 도면이다. 이하, 도 11을 참조하여 설명한다. 도 11에는 시간의 흐름인 가로축(3) 및 샘플 데이터의 엔트로피 값인 세로축(4)이 도시되어 있다.
맨 처음 샘플링 된 데이터가 블록 1(400a)이고, 이 때 가공함수 1이 적용되었으나(S30-1), 추가 샘플링 기준이 아직 만족되지는 않았다. 이해의 편의를 돕기 위해, 도 11의 상황에서 추가 샘플링 기준은 샘플 데이터 전체의 엔트로피 값이 한계치(5) 이하인 경우에 만족되는 것으로 전제한다.
다음으로 가공함수 2가 적용되면(S30-2), 현재 샘플 데이터의 엔트로피 값이 한계치(5) 이하로 떨어지게 되지만, 일단 가공함수 2의 적용결과가 반영되어 현재 샘플 데이터가 갱신된다. 그리고, 갱신된 현재 샘플 데이터에 대한 상기 추가 샘플링 기준이 만족되게 되고, 그 결과 추가 샘플링이 수행되며, 그 추가 샘플링 대상으로 블록 3(400c)이 선정되면(S50-1), 블록 3의 레코드들에 대하여 가공 함수 1, 가공 함수 2가 순차적으로 적용되고(S30-2a), 그 결과 데이터가 현재의 샘플 데이터에 추가된다. 이 때, T1(700)의 짧은 기간 동안 일시적으로 샘플 데이터의 엔트로피 값이 한계치(5) 이하로 떨어지게 된다.
다음으로 가공함수 3이 적용되면(S30-3), 현재 샘플 데이터(블록 1과 블록 3으로 구성된 것)의 엔트로피 값이 다시 한계치(5) 이하로 떨어지게 되지만, 일단 가공함수 3의 적용결과가 반영되어 현재 샘플 데이터가 갱신된다. 그리고 갱신된 현재 샘플 데이터에 대한 상기 추가 샘플링 기준이 만족되게 되고, 그 결과 다시 추가 샘플링이 수행되며, 그 추가 샘플링 대상으로 블록 2(400b)가 선정되면(S50-2), 블록 2의 레코드들에 대하여 가공 함수 1, 가공 함수 2, 가공 함수 3이 순차적으로 적용되고(S30-3a), 그 결과 데이터가 현재의 샘플 데이터에 추가된다. 이 때, T2(701)의 짧은 기간 동안 일시적으로 샘플 데이터의 엔트로피 값이 한계치(5) 이하로 떨어지게 된다.
다음으로 가공함수 4가 적용되더라도(S30-4), 현재 샘플 데이터(블록 1, 블록3 및 블록 2로 구성된 것)의 엔트로피 값이 한계치(5)이하로 떨어지지는 않는다. 이 경우에는 추가 샘플링이 수행되지 않는 점은 이미 설명한 바 있다.
도 12는 도 11을 참조하여 설명된 방식에 따라 상기 추가 샘플링이 수행되는 경우, 가공 함수 적용 결과가 출력되는 화면이 시간 순서대로 바뀌는 과정을 설명하기 위한 도면이다. 도 12에 도시된 바와 같이, 사용자 단말에 표시되는 샘플 데이터는 최초 제1 샘플 데이터(6-1)에서, 가공 함수 1 적용 후의 제2 샘플 데이터(6-2)로, 다음으로 가공 함수 2 적용 후의 제3 샘플 데이터(6-3)로, 그 다음으로 엔트로피 값이 한계치(5)에 미달하는 제3 샘플 데이터에 대한 추가 샘플링을 통해 엔트로피가 보완된 제4 샘플 데이터(6-4)로, 그 다음으로 가공 함수 3 적용 후의 제5 샘플 데이터(6-5)로, 그 다음으로 엔트로피 값이 한계치(5)에 미달하는 제5 샘플 데이터에 대한 추가 샘플링을 통해 엔트로피가 보완된 제6 샘플 데이터(6-6)로, 순차적으로 갱신될 것이다.
다음으로, 도 13을 참조하여, 도 10과 다른 실시예에 따른 방법을 개괄적으로 설명한다. 본 실시예에 따른 방법은 현재 샘플 데이터에 대하여 가공 함수를 적용한 결과로 구성되는 갱신된 샘플 데이터를 먼저 디스플레이하지 않고, 상기 갱신된 샘플 데이터 또는 상기 가공 함수를 참조하는 추가 샘플링 수행 기준을 만족하는 경우, 자동으로 소스 데이터로부터 추가 샘플링을 진행하며, 상기 추가 샘플링 결과를 반영하여 상기 갱신된 샘플 데이터의 품질이 보완 된 상태에서 가공 함수의 적용 결과를 디스플레이하는 방법인 것으로 이해될 수 있을 것이다. 이하, 도 10과 차별화 되는 부분을 위주로 설명한다.
단계 S10에서, 소스 데이터에 대하여 엔트로피 기반 인덱싱이 수행된다. 단계 S10은, 예를 들어 도 3 내지 도 9를 참조하여 설명한 데이터 프로세싱 방법일 수 있다. 다음으로, 소스 데이터로부터 초기 샘플링이 수행된다(S20).
사용자 단말을 통하여 입력 된 사용자 입력을 이용하여 현재 샘플 데이터에 적용될 가공 함수가 세팅되고(S100), 상기 가공 함수를 현재 샘플 데이터에 적용한 결과인 갱신된 샘플 데이터에 대하여 추가 샘플링 수행 기준이 만족 되는지 판정된다(S104). 상기 추가 샘플링 기준이 만족되지 않는 것으로 판정되는 경우, 상기 갱신된 샘플 데이터가 그대로 사용자 단말에 표시될 것이다(S105).
상기 추가 샘플링 기준이 만족 되는 것으로 판정된 경우(S104), 상기 갱신된 샘플 데이터의 각 컬럼의 엔트로피 값을 기준으로 보완 대상 컬럼이 선정된다(S106). 다음으로, 추가 샘플링 대상 블록이 선정된다(S108). 다음으로, 상기 선정된 추가 샘플링 대상 블록의 전체 레코드에 지금까지 적용된 바 있는 가공함수들을, 그 적용 순서대로 순차적으로 적용하고, 그 결과로 남은 레코드들을 현재의 갱신된 샘플 데이터에 추가함으로써, 샘플 데이터의 자동 보완이 수행된다(S110). 또한, 보완 된 샘플 데이터가 자동으로 업데이트 되어 디스플레이 될 것이다(S112). 단계 S100 내지 단계 S112는 새로운 가공 함수가 현재 샘플 데이터에 대하여 적용될 때마다 반복된다(S114).
도 14는 도 13을 참조하여 설명한 방법이 수행됨에 따라 자동으로 추가 샘플링이 수행되고, 그 결과로 샘플 데이터의 품질이 유지되는 것을 설명하기 위한 도면이다. 이하, 도 14를 참조하여 설명한다. 도 14에는 시간의 흐름인 가로축(3) 및 샘플 데이터의 엔트로피 값인 세로축(4)이 도시되어 있다.
맨 처음 샘플링 된 데이터가 블록 1(400a)이고, 이 때 가공함수 1이 적용되었으나(S30-1), 추가 샘플링 기준이 아직 만족되지는 않았다. 이해의 편의를 돕기 위해, 도 14의 상황에서 추가 샘플링 기준은 샘플 데이터 전체의 엔트로피 값이 한계치(5) 이하인 경우에 만족되는 것으로 전제한다.
다음으로 가공함수 2가 적용되면(S30-2), 현재 샘플 데이터의 엔트로피 값이 한계치(5) 이하로 떨어지게 되므로, 가공함수 2의 적용결과를 현 단계에서 현재 샘플 데이터에 반영하지는 않는다. 가공함수 2의 적용 결과 샘플 데이터에 대한 상기 추가 샘플링 기준이 만족되게 되므로, 그 결과 추가 샘플링이 수행되며, 그 추가 샘플링 대상으로 블록 3(400c)이 선정되면(S50-1), 블록 3의 레코드들에 대하여 가공 함수 1, 가공 함수 2가 순차적으로 적용되고(S30-2a), 그 결과 데이터가 상기 가공함수 2의 적용결과로 구성된 샘플 데이터에 추가됨으로써, 최종적인 가공함수 2의 적용결과 샘플 데이터가 생성되고, 이 샘플 데이터가 사용자 단말에 표시된다.
다음으로 가공함수 3이 적용되면(S30-3), 현재 샘플 데이터의 엔트로피 값이 한계치(5) 이하로 떨어지게 되므로, 가공함수 3의 적용결과를 현 단계에서 현재 샘플 데이터에 반영하지는 않는다. 가공함수 3의 적용 결과 샘플 데이터에 대한 상기 추가 샘플링 기준이 만족되게 되므로, 그 결과 추가 샘플링이 수행되며, 그 추가 샘플링 대상으로 블록 2(400b)가 선정되면(S50-2), 블록 2의 레코드들에 대하여 가공 함수 1, 가공 함수 2, 가공 함수 3이 순차적으로 적용되고(S30-3a), 그 결과 데이터가 상기 가공함수 3의 적용결과로 구성된 샘플 데이터에 추가됨으로써, 최종적인 가공함수 3의 적용결과 샘플 데이터가 생성되고, 이 샘플 데이터가 사용자 단말에 표시된다.
다음으로 가공함수 4가 적용되더라도(S30-4), 현재 샘플 데이터(블록 1, 블록3 및 블록 2로 구성된 것)의 엔트로피 값이 한계치(5)이하로 떨어지지는 않는다. 이 경우에는 추가 샘플링이 수행되지 않는 점은 이미 설명한 바 있다.
도 15는 도 14를 참조하여 설명된 방식에 따라 상기 추가 샘플링이 수행되는 경우, 가공 함수 적용 결과가 출력되는 화면이 시간 순서대로 바뀌는 과정을 설명하기 위한 도면이다. 도 15에 도시된 바와 같이, 사용자 단말에 표시되는 샘플 데이터는 최초 제1 샘플 데이터(7-1)에서, 가공 함수 1 적용 후의 제2 샘플 데이터(7-2)로, 다음으로 가공 함수 2 적용 후에 추가 샘플링을 통해 엔트로피가 보완된 제3 샘플 데이터(7-3)로, 그 다음으로 가공 함수 3 적용 후 에 추가 샘플링을 통해 엔트로피가 보완된 제4 샘플 데이터(7-4)로 순차적으로 갱신될 것이다.
도 16a 내지 도 16c는, 본 발명의 몇몇 실시예들에 따른 데이터 샘플링 및 분석을 위한 데이터 준비 방법이 수행됨에 따라, 사용자 단말에 표시되는 샘플 데이터 표시 GUI(Graphic User Interface)의 일예이다. 도 16a에 도시된 것은 초기 상태의 샘플 데이터와, 'company가 'A'인 것만 filtering'하는 가공 함수가 입력 완료 된 상태의 GUI이다. 도 16b에 도시된 것은, 도 16a의 가공 함수가 적용 된 결과 남은 샘플 데이터(8-1)가 표시된 상태의 GUI이다. 도 16c에 도시된 것은, 본 발명의 몇몇 실시예들에 따라 샘플 데이터(8-1)가 자동으로 보완 된 결과(8-2)가 표시된 상태의 GUI이다.
도 17은, 본 발명의 몇몇 실시예들에 따른 데이터 샘플링 및 분석을 위한 데이터 준비 방법이 수행됨에 따라, 데이터 준비 툴 환경 설정 GUI의 일예이다. 도 17에 도시된 바와 같이, 자동 추가 샘플링 방식(가공 함수 적용 결과를 선 출력하고 후 보완할 지, 선 보완하고 후 출력할지)을 설정하는 영역(9-1), 추가 샘플링의 사이즈를 설정하는 영역(9-2), 블록 별로 동일한 키 요소 컬럼을 이용하여 인덱스 키를 생성할지(정적 key indexing), 블록 별로 독자적인 키 요소 컬럼을 이용하여 인덱스 키를 생성할지(동적 key indexing)를 설정하는 영역(9-3) 및 키 요소 컬럼을 선정하는 기준을 설정하는 영역(9-4) 중 적어도 하나의 영역이 환경 설정 화면에 포함되어 사용자 단말에 디스플레이 될 수 있다.
도 16a 내지 도 17은, 본 발명의 몇몇 실시예들을 수행하는 데이터 준비 툴(data preparation tool)을 사용하는 사용자의 단말에서 볼 수 있는 화면으로 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 전자 장치로부터 제2 전자 장치에 전송되어 상기 제2 전자 장치에 설치될 수 있고, 이로써 상기 제2 전자 장치에서 사용될 수 있다. 상기 제1 전자 장치 및 상기 제2 전자 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 전자 장치를 모두 포함한다.
이하, 본 발명의 또 다른 실시예에 따른 데이터 프로세싱 시스템의 구성 및 동작을 도 18을 참조하여 설명한다. 본 실시예에 따른 데이터 프로세싱 시스템(101a)은 하나의 물리적 컴퓨팅 장치를 이용하여 구현 될 수도 있고, 복수의 서로 다른 물리적 컴퓨팅 장치를 이용하여 구현 될 수도 있는 점을 유의하여야 한다.
본 실시예에 따른 데이터 프로세싱 시스템은 엔트로피 연산부(101)를 포함할 수 있다. 엔트로피 연산부(101)는 복수의 컬럼을 가지는 레코드들을 포함하는 소스 데이터를 얻고, 상기 소스 데이터의 각 컬럼 별 엔트로피 값을 계산한다.
본 실시예에 따른 데이터 프로세싱 시스템은 인덱싱부(103)를 더 포함할 수 있다. 인덱싱부(103)는 상기 엔트로피 값을 기준으로 상기 복수의 컬럼 중 키 요소 컬럼을 선정하고, 상기 선정된 키 요소 컬럼의 값들을 이용하여 구성된 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성한다.
본 실시예에 따른 데이터 프로세싱 시스템은 샘플링 자동화부(107)를 더 포함할 수 있다. 샘플링 자동화부(107)는 소스 데이터의 일부가 샘플링 된 제1 샘플 데이터에 가공 함수를 적용한 결과인 제2 샘플 데이터를 얻고, 추가 샘플링 수행 기준의 만족시, 상기 엔트로피 테이블을 참조하여 상기 소스 데이터로부터 자동으로 추가 샘플링을 수행한다. 상기 추가 샘플링 기준은, 상기 제2 샘플 데이터의 엔트로피 값이 기준치에 미달하는 경우 추가 샘플링을 진행하는 것으로 정의된 것일 수 있다. 상기 추가 샘플링 기준은, 상기 제1 샘플 데이터에 적용되는 가공 함수를 참조하여 추가 샘플링의 진행여부가 결정되는 규칙일 수도 있다.
본 실시예에 따른 데이터 프로세싱 시스템은 인터넷(40)을 통해 연결되는 사용자 단말에 송신되는 전처리 결과 UI 구성 데이터를 생성하는 UI 제공부(111)를 더 포함할 수 있다.
일 실시예에서, 상기 전처리 결과 UI 구성 데이터는, 상기 제2 샘플 데이터를 표시하는 샘플 보충 전 UI를 구성하기 위한 데이터와, 상기 샘플 보충 전 UI의 표시 이후, 상기 사용자 단말을 통한 사용자 입력 없이 자동으로 제3 샘플 데이터를 표시하는 UI를 구성하기 위한 데이터를 포함하는 것이고, 상기 제3 샘플 데이터는, 상기 추가 샘플링 된 데이터에 상기 가공 함수가 적용된 결과 얻어진 데이터를 상기 제2 샘플 데이터에 추가한 것일 수 있다.
다른 실시예에서, 상기 전처리 결과 UI 구성 데이터는, 상기 제1 샘플 데이터를 표시하는 가공 함수 적용 전 UI를 구성하기 위한 데이터와, 상기 가공 함수 적용 전 UI에서 상기 가공 함수의 적용을 가리키는 사용자 입력에 응답하여, 제3 샘플 데이터가 상기 사용자 단말에 표시되도록 하는 UI를 구성하기 위한 데이터를 포함하는 것이고, 상기 제3 샘플 데이터는, 상기 추가 샘플링 된 데이터에 상기 가공 함수가 적용된 결과 얻어진 데이터를 상기 제2 샘플 데이터에 추가한 것일 수 있다.
본 실시예에 따른 데이터 프로세싱 시스템은 소스 데이터의 복수개 블록을 식별하는 블록화부(104), 엔트로피 테이블을 참조하여 추가 샘플링의 대상 블록을 선별하는 샘플링 대상 블록 선별부(105), 사용자에 의하여 정의된 가공 함수를 해석하여 현재의 샘플 데이터에 적용하는 function 해석기(109) 및 현재의 샘플 데이터를 기록하고 관리하는 샘플 데이터 관리부(113) 중 적어도 하나를 더 포함할 수 있다.
도 19는, 본 발명의 또 다른 실시예에 따른 데이터 프로세싱 시스템의 하드웨어 구성도이다.
본 실시예에 따른 데이터 프로세싱 시스템(100b)은, 프로세서(124), 네트워크 인터페이스(126), 스토리지(128), 메모리(122) 및 프로세서(124), 네트워크 인터페이스(126), 스토리지(128) 및 메모리(122) 사이의 데이터 송수신을 중계하는 시스템 버스(120)를 포함한다. 메모리(122)는 RAM(Random Access Memory)이다.
스토리지(128)에는 네트워크 인터페이스(126)를 통해 수신한 데이터로 구성된 소스 데이터(1280) 및 데이터 준비 소프트웨어의 데이터(실행 바이너리 및 관련 리소스 포함)(1282)가 저장된다.
프로세싱 시스템(100b)의 사용자의 명령 입력 또는, 기 정의된 트리거(trigger)의 발생에 응답하여, 데이터 준비 소프트웨어의 실행 바이너리가 메모리(122)로 로드(load)된다. 도 19에는 상기 메모리 로드의 결과, 추가 샘플링과 관련된 명령어들을 포함하는 샘플링 인스트럭션(1220), 엔트로피 기반 인덱싱과 관련된 명령어들을 포함하는 인덱싱 인스트럭션(1222), 및 사용자 단말에 대한 데이터 준비 툴(DATA PREPARATION TOOL)의 GUI를 제공한 인스트럭션(1224)가 메모리(122)에 저장되는 것이 도시되어 있다. 메모리에 로드된 인스트럭션들(1220, 1222, 1224)이 프로세스(124)에 페치(fetch)되어 실행됨으로써, 이상 설명한 본 발명의 실시예들이 수행될 것이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (28)

  1. 컴퓨팅 장치에 의하여 수행되는 소스 데이터의 프로세싱 방법에 있어서,
    복수의 컬럼을 가지는 레코드들을 포함하는 상기 소스 데이터를 얻는 단계;
    상기 소스 데이터의 각 컬럼 별 엔트로피(entropy) 값을 계산하는 단계; 및
    상기 엔트로피 값을 기준으로 상기 복수의 컬럼 중 키 요소 컬럼을 선정하는 단계;
    상기 선정된 키 요소 컬럼의 값들을 이용하여 구성된 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성하는 단계를 포함하되,
    상기 엔트로피 테이블은 인덱스 데이터 컬럼별 엔트로피 값을 상기 인덱스 키 값 별로 정리한 테이블이고, 상기 인덱스 데이터 컬럼은 상기 인덱스 키에 포함되지 않는 컬럼인,
    데이터 프로세싱 방법.
  2. 제1 항에 있어서,
    상기 소스 데이터는 분석 대상 전체 데이터를 포함하는 것인,
    데이터 프로세싱 방법.
  3. 제1 항에 있어서,
    상기 키 요소 컬럼은 복수의 컬럼으로 구성되고,
    상기 인덱스 키의 값은 상기 키 요소 컬럼의 값들을 조합하여 생성되는 것인,
    데이터 프로세싱 방법.
  4. 제3 항에 있어서,
    상기 키 요소 컬럼을 선정하는 단계는,
    상기 엔트로피 값이 낮은 하위 n(2<= n < M, n은 자연수, M은 소스 데이터의 컬럼 개수) 개의 컬럼을 상기 키 요소 컬럼으로 선정하는 단계를 포함하는,
    데이터 프로세싱 방법.
  5. 제4 항에 있어서,
    상기 n은, 상기 n의 결정에 따라 구성된는 인덱스 키의 개수가, 하한값 및 상한값 중 적어도 어느 하나가 사전 정의 된 범위 내에 있도록 결정되는 값인,
    데이터 프로세싱 방법.
  6. 제1 항에 있어서,
    상기 소스 데이터를 구성하는 제1 블록 및 제2 블록을 얻는 단계;
    상기 제1 블록의 제1 레코드들을 상기 인덱스 키를 이용하여 인덱싱하는 단계;
    상기 제1 레코드들 중 상기 인덱스 키의 값에 대응되는 레코드들을 이용하여, 제1 인덱스 데이터 컬럼 별로 엔트로피 값을 계산하는 단계;
    상기 제2 블록의 제2 레코드들을 상기 인덱스 키를 이용하여 인덱싱하는 단계; 및
    상기 제2 레코드들 중 상기 인덱스 키의 값에 대응되는 레코드들을 이용하여, 제2 인덱스 데이터 컬럼 별로 엔트로피 값을 계산하는 단계;
    상기 제1 인덱스 데이터 컬럼 및 상기 제2 인덱스 데이터 컬럼은, 상기 소스 데이터의 컬럼에서 상기 키 요소 컬럼을 제외한 나머지 컬럼 중 적어도 일부의 컬럼인,
    데이터 프로세싱 방법.
  7. 제6 항에 있어서,
    상기 제1 인덱스 데이터 컬럼 별로 엔트로피 값을 계산하는 단계는,
    상기 인덱스 키의 값 별 상기 제1 인덱스 데이터 컬럼의 엔트로피 값을 포함하는 상기 제1 블록의 엔트로피 테이블을 생성하는 단계를 포함하고,
    상기 제2 인덱스 데이터 컬럼 별로 엔트로피 값을 계산하는 단계는,
    상기 인덱스 키의 값 별 상기 제2 인덱스 데이터 컬럼의 엔트로피 값을 포함하는 상기 제2 블록의 엔트로피 테이블을 생성하는 단계를 포함하고,
    데이터 프로세싱 방법.
  8. 제6 항에 있어서,
    상기 제1 인덱스 데이터 컬럼에 포함된 컬럼과 상기 제2 인덱스 데이터 컬럼에 포함된 컬럼 중 적어도 하나는 다른 컬럼인,
    데이터 프로세싱 방법.
  9. 컴퓨팅 장치에 의하여 수행되는 소스 데이터의 처리 방법에 있어서,
    복수의 컬럼을 가지는 레코드들을 포함하는 상기 소스 데이터의 제1 부분 레코드들로 구성된 제1 블록(shard)와, 상기 소스 데이터의 제2 부분 레코드들로 구성된 제2 블록을 얻는 단계;
    상기 제1 블록의 각 컬럼 별 엔트로피(entropy) 값을 계산하는 단계;
    상기 제1 블록의 제1 인덱스 키의 값을 상기 제1 블록의 각 레코드 별로 생성하되, 상기 제1 인덱스 키의 값은 상기 제1 블록의 컬럼 별 엔트로피 값을 기준으로 선정된 제1 키 요소 컬럼의 값을 이용하여 생성되는 것인 단계;
    상기 제2 블록의 각 컬럼 별 엔트로피 값을 계산하는 단계; 및
    상기 제2 블록의 제2 인덱스 키의 값을 상기 제2 블록의 각 레코드 별로 생성하되, 상기 제2 인덱스 키의 값은 상기 제2 블록의 컬럼 별 엔트로피 값을 기준으로 선정된 제2 키 요소 컬럼의 값을 이용하여 생성되는 것인 단계를 포함하되,
    상기 제1 키 요소 컬럼에 포함된 컬럼과, 상기 제2 키 요소 컬럼에 포함된 컬럼 중 적어도 하나는 다른 컬럼인,
    데이터 프로세싱 방법.
  10. 제9 항에 있어서,
    상기 제1 키 요소 컬럼과 상기 제2 키 요소 컬럼 중 적어도 하나는 복수의 컬럼으로 구성되는 것이고,
    상기 제1 키 요소 컬럼과 상기 제2 키 요소 컬럼은 서로 다른 개수의 컬럼으로 구성되는 것인,
    데이터 프로세싱 방법.
  11. 제9 항에 있어서,
    상기 제1 키 요소 컬럼은, 상기 제1 블록의 각 컬럼 별 엔트로피 값이 낮은 하위 p(1<= p < M, l은 기 지정된 자연수, M은 소스 데이터의 컬럼 개수) 개의 컬럼을 포함하고,
    상기 제2 키 요소 컬럼은, 상기 제2 블록의 각 컬럼 별 엔트로피 값이 기준치 보다 낮은 모든 컬럼을 포함하는,
    데이터 프로세싱 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 하나 이상의 프로세서를 포함하는 데이터 프로세싱 시스템에 있어서,
    복수의 컬럼을 가지는 레코드들을 포함하는 소스 데이터를 얻고, 상기 소스 데이터의 각 컬럼 별 엔트로피 값을 계산하는 엔트로피 연산부;
    상기 엔트로피 값을 기준으로 상기 복수의 컬럼 중 키 요소 컬럼을 선정하고, 상기 선정된 키 요소 컬럼의 값들을 이용하여 구성된 인덱스 키를 이용하여 상기 소스 데이터의 엔트로피 테이블을 생성하는 인덱싱부; 및
    소스 데이터의 일부가 샘플링 된 제1 샘플 데이터에 가공 함수를 적용한 결과인 제2 샘플 데이터를 얻고, 추가 샘플링 수행 기준 만족시, 상기 엔트로피 테이블을 참조하여 상기 소스 데이터로부터 자동으로 추가 샘플링을 수행하는 샘플링 자동화부를 포함하는,
    데이터 프로세싱 시스템.
  22. 제21 항에 있어서,
    상기 추가 샘플링 기준은, 상기 제2 샘플 데이터의 엔트로피 값이 기준치에 미달하는 경우 추가 샘플링을 진행하는 것으로 정의된 것인,
    데이터 프로세싱 시스템.
  23. 제21 항에 있어서,
    상기 추가 샘플링 기준은, 상기 제1 샘플 데이터에 적용되는 가공 함수를 참조하여 추가 샘플링의 진행여부가 결정되는 규칙인,
    데이터 프로세싱 시스템.
  24. 삭제
  25. 제21 항에 있어서,
    사용자 단말에 송신되는 전처리 결과 UI(User Interface) 구성 데이터를 생성하는 UI 제공부를 더 포함하되,
    상기 전처리 결과 UI 구성 데이터는,
    상기 제1 샘플 데이터를 표시하는 가공 함수 적용 전 UI를 구성하기 위한 데이터와,
    상기 가공 함수 적용 전 UI에서 상기 가공 함수의 적용을 가리키는 사용자 입력에 응답하여, 제3 샘플 데이터가 상기 사용자 단말에 표시되도록 하는 UI를 구성하기 위한 데이터를 포함하는 것이고,
    상기 제3 샘플 데이터는, 상기 추가 샘플링 된 데이터에 상기 가공 함수가 적용된 결과 얻어진 데이터를 상기 제2 샘플 데이터에 추가한 것인,
    데이터 프로세싱 시스템.
  26. 삭제
  27. 삭제
  28. 삭제
KR1020180060258A 2018-05-28 2018-05-28 데이터 엔트로피 기반의 데이터 프로세싱 방법 KR102552833B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180060258A KR102552833B1 (ko) 2018-05-28 2018-05-28 데이터 엔트로피 기반의 데이터 프로세싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180060258A KR102552833B1 (ko) 2018-05-28 2018-05-28 데이터 엔트로피 기반의 데이터 프로세싱 방법

Publications (2)

Publication Number Publication Date
KR20190135158A KR20190135158A (ko) 2019-12-06
KR102552833B1 true KR102552833B1 (ko) 2023-07-06

Family

ID=68837145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180060258A KR102552833B1 (ko) 2018-05-28 2018-05-28 데이터 엔트로피 기반의 데이터 프로세싱 방법

Country Status (1)

Country Link
KR (1) KR102552833B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000506416A (ja) 1996-03-19 2000-05-30 シーメンス アクチエンゲゼルシヤフト 計算機による例えば電気信号の所定数のサンプリング値を有するタイムシーケンスの分類方法
JP2000513467A (ja) 1996-06-21 2000-10-10 シーメンス アクチエンゲゼルシヤフト コンピュータによって所定の個数のサンプル値を有する例えば電気信号の時系列を分類する方法
JP2009157906A (ja) 2007-12-03 2009-07-16 Fujitsu Ltd 電力指標算出プログラム、該プログラムを記録した記録媒体、電力指標算出装置、および電力指標算出方法
JP2015102981A (ja) 2013-11-22 2015-06-04 富士通株式会社 物理乱数生成装置、物理乱数生成方法、及び物理乱数生成システム
JP2015230514A (ja) 2014-06-03 2015-12-21 Kddi株式会社 属性値が付与された情報要素を絞り込んで検索する対話検索プログラム、装置及び方法
KR101644740B1 (ko) 2015-02-27 2016-08-01 충북대학교 산학협력단 데이터 품질 평가 방법 및 시스템
CN107665093A (zh) 2016-07-29 2018-02-06 深圳市深信服电子科技有限公司 数据存储方法及装置
JP2018022933A (ja) 2016-07-25 2018-02-08 株式会社高速屋 データ圧縮符号化方法、復号化方法、その装置、及び、そのプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140073294A (ko) * 2012-12-06 2014-06-16 한국전자통신연구원 심장 박동수 변화를 이용한 실시간 감성 인식장치 및 그 방법
KR101519449B1 (ko) * 2013-10-31 2015-05-12 한국과학기술원 전자의무기록의 정보 이론을 이용한 익명화 장치 및 방법
CH711922A2 (de) 2015-12-17 2017-06-30 Dentalpoint Ag Zahnersatzsystem mit einem ersten Versorgungsteil, insbesondere einem Keramikimplantat, und einem zweiten Versorgungsteil.
KR20170109378A (ko) 2016-03-21 2017-09-29 한국전자통신연구원 음향 신호기 및 음성 유도기 정보 관리 시스템 및 그 방법
KR101950238B1 (ko) 2017-03-28 2019-02-21 양희성 전선 포설을 위한 독립형 전선드럼 거치대
KR101965656B1 (ko) 2017-03-28 2019-04-03 박기철 동영상이 구현되는 로고라이트
KR102235164B1 (ko) 2017-03-28 2021-04-01 엘에스일렉트릭(주) 진공펌프용 인버터 제어방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000506416A (ja) 1996-03-19 2000-05-30 シーメンス アクチエンゲゼルシヤフト 計算機による例えば電気信号の所定数のサンプリング値を有するタイムシーケンスの分類方法
JP2000513467A (ja) 1996-06-21 2000-10-10 シーメンス アクチエンゲゼルシヤフト コンピュータによって所定の個数のサンプル値を有する例えば電気信号の時系列を分類する方法
JP2009157906A (ja) 2007-12-03 2009-07-16 Fujitsu Ltd 電力指標算出プログラム、該プログラムを記録した記録媒体、電力指標算出装置、および電力指標算出方法
JP2015102981A (ja) 2013-11-22 2015-06-04 富士通株式会社 物理乱数生成装置、物理乱数生成方法、及び物理乱数生成システム
JP2015230514A (ja) 2014-06-03 2015-12-21 Kddi株式会社 属性値が付与された情報要素を絞り込んで検索する対話検索プログラム、装置及び方法
KR101644740B1 (ko) 2015-02-27 2016-08-01 충북대학교 산학협력단 데이터 품질 평가 방법 및 시스템
JP2018022933A (ja) 2016-07-25 2018-02-08 株式会社高速屋 データ圧縮符号化方法、復号化方法、その装置、及び、そのプログラム
CN107665093A (zh) 2016-07-29 2018-02-06 深圳市深信服电子科技有限公司 数据存储方法及装置

Also Published As

Publication number Publication date
KR20190135158A (ko) 2019-12-06

Similar Documents

Publication Publication Date Title
US11670021B1 (en) Enhanced graphical user interface for representing events
US20210342394A1 (en) Defining a graphical visualization along a time-based graph lane using key performance indicators derived from machine data
CN106294478B (zh) 数据仓库的数据处理方法及装置
US9652497B2 (en) Processing queries using hybrid access paths
JP2019505912A (ja) ストリーミングデータのアウトライア検出
US10140739B1 (en) User interface for automatically generating charts
CN110543571A (zh) 用于水利信息化的知识图谱构建方法以及装置
KR101616544B1 (ko) Lda를 이용한 특허 문헌 분석 방법
KR101505546B1 (ko) 텍스트 마이닝을 이용한 키워드 도출 방법
US11461333B2 (en) Vertical union of feature-based datasets
JP5588811B2 (ja) データ分析支援システム及び方法
KR101973328B1 (ko) 하둡 기반 공작기계 환경 데이터의 상관관계 분석 및 시각화 방법
JP6540384B2 (ja) 評価プログラム、手順書評価方法、および評価装置
EP3422177A1 (en) Systems and methods for code parsing and lineage detection
KR102552833B1 (ko) 데이터 엔트로피 기반의 데이터 프로세싱 방법
US10467206B2 (en) Data sampling in a storage system
Patil et al. OLaaS: OLAP as a Service
US8316318B2 (en) Named calculations and configured columns
CN114896418A (zh) 知识图谱构建方法、装置、电子设备及存储介质
JP6201053B2 (ja) 素性データ管理システム、および素性データ管理方法
JP2017076161A (ja) 分析方法、分析装置、および分析プログラム
CN112380215B (zh) 一种基于交叉聚合的自动特征生成方法
CN112286800B (zh) 一种功能测试点辅助分析方法与系统
JP2013125429A (ja) 分析対象決定装置
Pavlov et al. Relevance and Problems for Application of Big Data in Engineering Industry

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant