KR102202792B1 - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치 - Google Patents

클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR102202792B1
KR102202792B1 KR1020200098450A KR20200098450A KR102202792B1 KR 102202792 B1 KR102202792 B1 KR 102202792B1 KR 1020200098450 A KR1020200098450 A KR 1020200098450A KR 20200098450 A KR20200098450 A KR 20200098450A KR 102202792 B1 KR102202792 B1 KR 102202792B1
Authority
KR
South Korea
Prior art keywords
data
result
master node
node
query request
Prior art date
Application number
KR1020200098450A
Other languages
English (en)
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 KR1020200098450A priority Critical patent/KR102202792B1/ko
Priority to US17/069,027 priority patent/US11636113B2/en
Application granted granted Critical
Publication of KR102202792B1 publication Critical patent/KR102202792B1/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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24544Join order optimisation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법이 개시된다. 즉, (a) 빅데이터 클러스터 관리 장치가, 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터가 마스터 노드 혹은 워커 노드에 존재하는지 확인하는 단계; (b) 빅데이터 클러스터 관리 장치가, (b1) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (b2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 단계; 를 포함하는 것을 특징으로 하는 방법.

Description

클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치 {METHOD AND DEVICE FOR PERFORMING MULTI-CACHING ON DATA SOURCES OF SAME OR DIFFERENT TYPES BY USING CLUSTER-BASED PROCESSING SYSTEM}
본 발명은 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치에 관한 것이다.
IT/OT 기술의 발달로 인해 수집되는 데이터의 양이 기하급수적으로 증가하는 상황에서, 빅데이터를 활용해 부가적인 가치를 창출하기 위한 연구들이 속속 진행되고 있다. 이와 함께, 빅데이터를 관리하고 이용하는 기술 및 도구들도 지속적으로 발전하고 있으며, 그 중에서도, 오픈소스로 제공되는 빅데이터 분석시스템인 Apache Solr, Elasticsearch등에 관심이 집중되고 있다.
그러나, Apache Solr 및 Elasticsearch는 검색엔진인 Lucene을 기반으로 구축되었기 때문에, 인덱스 기반 데이터 검색 및 저장하는 기능이나 간단한 통계분석을 처리하는 기능에는 특화되어 있지만, 검색된 데이터를 수정하거나 둘 이상의 데이터 세트를 연관 분석하거나 집계하는 등의 질의언어 처리는 지원하지 못한다는 한계를 갖는다.
또한, SQL등의 질의언어를 이용해 둘 이상의 데이터 세트와 관련된 질의를 처리하는 RDB와 같은 경우에도 그 기능이 단일 데이터소스 내로 한정되어 있어, 이기종 데이터 소스 내 데이터 세트 간의 연관분석의 기능은 지원하고 있지 않다.
이 때문에, 현재로서는 이기종 데이터 소스 간 연관분석이 필요할 경우, 이기종 데이터 소스 간 연관분석을 지원하는 별도의 어플리케이션을 매번 구현하거나, 이기종 데이터소스 내 데이터세트들을 추출, 변환 후 단일 데이터 소스에 적재하는 과정을 거치는 방식을 사용하고 있다. 하지만 이와 같은 방식은 데이터 복제 과정에 리소스 낭비가 발생하며, 처리 과정에 많은 시간이 소요된다는 한계를 갖고 있다.
이러한 문제를 해결하기 위해 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법을 제시한다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 발명은 원본 데이터 세트의 이동 없이 이기종 데이터 소스 간 연관 분석을 처리하는 방법을 제안하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서, (a) 빅데이터 클러스터 관리 장치가, 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 단계; (b) 빅데이터 클러스터 관리 장치가, (b1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (b2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 단계; 및 (c) 상기 빅데이터 클러스터 관리 장치가, 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 단계;를 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b2) 단계의 상기 (iii)에서, 상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색 연산에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체가 상기 마스터 노드 혹은 상기 워커 노드에 포함되어 있을 경우, 상기 실행 계획에 따라 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체를 획득한 후 상기 결합 연산을 적용하여 상기 제1 부분 세트로서 획득하는 대신, 상기 마스터 노드 혹은 상기 워커 노드가 상기 제1 데이터 세트 내지 상기 제n 데이터 세트에 대해 상기 결합 연산을 적용하도록 함으로써 그 결과를 상기 제1 부분 세트로서 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 제1 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b2) 단계의 상기 (iii) 및 상기 (iv)에서, 상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체 중 적어도 일부에 데이터 세트가 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않을 경우, (i) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 특정 데이터 세트를 획득하고, (ii) 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 나머지 데이터 세트를 획득한 후, (iii) 상기 마스터 노드가 상기 특정 데이터 세트들과 상기 나머지 데이터 세트에 대해 상기 결합 연산을 적용함으로써, 그 결과를 상기 제2 부분 세트로서 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b2) 단계의 상기 (iv) 에서, 상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색 연산 및 상기 데이터 처리 연산을 파일 기반으로 처리하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 데이터 처리 연산은, 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 빅데이터 클러스터 관리 장치가, 상기 1차 캐시 데이터를 상기 질의 요청에 대한 결과가 포함되도록 업데이트하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (c) 단계에서, 상기 데이터 출력 연산은, 화면 출력 연산, 원격지 RDB 저장 연산 및 파일저장 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서, 인스트럭션들을 저장하는 하나 이상의 메모리; 및 상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서가, (I) 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 프로세스; (II) (II-1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (II-2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 프로세스; 및 (III) 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 프로세스를 수행하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 (II-2) 프로세스의 상기 (iii)에서, 상기 프로세서가, 상기 데이터 검색 연산에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체가 상기 마스터 노드 혹은 상기 워커 노드에 포함되어 있을 경우, 상기 실행 계획에 따라 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체를 획득한 후 상기 결합 연산을 적용하여 상기 제1 부분 세트로서 획득하는 대신, 상기 마스터 노드 혹은 상기 워커 노드가 상기 제1 데이터 세트 내지 상기 제n 데이터 세트에 대해 상기 결합 연산을 적용하도록 함으로써 그 결과를 상기 제1 부분 세트로서 획득하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 프로세서가, 상기 2차 캐시 데이터를 상기 제1 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 (II-2) 프로세스의 상기 (iii) 및 상기 (iv)에서, 상기 프로세서가, 상기 데이터 검색에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체 중 적어도 일부에 데이터 세트가 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않을 경우, (i) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 특정 데이터 세트를 획득하고, (ii) 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 나머지 데이터 세트를 획득한 후, (iii) 상기 마스터 노드가 상기 특정 데이터 세트들과 상기 나머지 데이터 세트에 대해 상기 결합 연산을 적용함으로써, 그 결과를 상기 제2 부분 세트로서 획득하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 프로세서가, 상기 2차 캐시 데이터를 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 (II-2) 프로세스의 상기 (iv) 에서, 상기 프로세서가, 상기 2차 캐시 데이터를 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 프로세서가, 상기 데이터 검색 연산 및 상기 데이터 처리 연산을 파일 기반으로 처리하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 (III) 프로세스에서, 상기 데이터 처리 연산은, 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 (III) 프로세스에서, 상기 프로세서가, 상기 1차 캐시 데이터를 상기 질의 요청에 대한 결과가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
일례로서, 상기 (III) 프로세스에서, 상기 데이터 출력 연산은, 화면 출력 연산, 원격지 RDB 저장 연산 및 파일저장 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치가 개시된다.
본 발명은 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법을 제공할 수 있는 효과가 있다.
본 발명은 원본 데이터 세트의 이동 없이 이기종 데이터 소스 간 연관 분석의 결과를 제공할 수 있는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 “통상의 기술자”)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하기 위한 빅데이터 클러스터 관리 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 상기 클러스터 기반 처리 시스템의 구성을 개략적으로 도시한 것이며,
도 3은 본 발명의 일 실시예에 따른 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 과정을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하기 위한 빅데이터 클러스터 관리 장치를 개략적으로 도시한 것으로, 도 1을 참조하면, 빅데이터 클러스터 관리 장치(100)는 사용자의 질의 요청을 수신하여 상기 질의 요청에 대한 결과를 출력하기 위한 인스트럭션들이 저장된 메모리(110)와 저장된 인스트럭션들에 따라 사용자의 질의 요청을 수신하여 상기 질의 요청에 대한 결과를 출력하기 위한 동작을 수행하는 프로세서(120)를 포함할 수 있다.
구체적으로, 빅데이터 클러스터 관리 장치(100)는 전형적인 컴퓨팅 장치(일례로, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 빅데이터 클러스터 관리 장치가 포함된 클러스터 기반 처리 시스템의 구성 및 기능에 대해 설명하기 위해 도 2를 참조하도록 한다.
도 2는 본 발명의 일 실시예에 따른 빅데이터 클러스터 관리 장치가 포함된 클러스터 기반 처리 시스템의 구성을 개략적으로 도시한 도면이다.
이때, 클러스터 기반 처리 시스템(1000)은 외부 데이터 소스(200)와 연결될 수 있으며, 빅데이터 클러스터 관리 장치(100), 적어도 하나 이상의 마스터 노드(150) 및 적어도 하나 이상의 워커 노드(160)로 구성되어 있을 수 있다.
구체적으로는, 사용자 질의 요청 입력 UI는 클러스터 기반 처리 시스템(1000)에 포함된 빅데이터 클러스터 관리 장치(100)에 접근 가능하도록 하는 유저 인터페이스일 수 있고, 외부 데이터 소스(200)는 클러스터 기반 처리 시스템(1000)에 포함된 마스터 노드(150)와 연결될 수 있으며, 빅데이터 클러스터 관리 장치(100)는 클러스터 기반 처리 시스템(1000) 내부에서 마스터 노드(150) 및 워커 노드(160)와 각각 연결될 수 있다.
이때, 빅데이터 클러스터 관리 장치(100)는 상기 사용자 질의 요청 입력 UI로부터 상기 질의 요청을 수신할 수 있고, 상기 질의 요청을 참조하여 마스터 노드(150), 워커 노드(160) 및 외부 데이터 소스(200)에 저장되어 있는 데이터 및/또는 캐시 데이터(즉, 상기 질의 요청에 대한 결과에 대응하는 1차 캐시 데이터의 전체 세트 및 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터)를 이용해 상기 질의 요청에 포함된 소정의 연산을 수행할 수 있다. 아울러, 빅데이터 클러스터 관리 장치(100)는 마스터 노드(150)와 별개의 장치일 수 있으나 이에 한정되지 않으며, 마스터 노드(150)중 일부가 빅데이터 클러스터 관리 장치(100)에 포함되어 구성될 수도 있을 것이다.
한편, 마스터 노드(150)는 외부 데이터 소스(200) 및 워커 노드(160) 와 직접 또는 간접적 연결을 형성할 수 있으며, 상기 1차 캐시 데이터의 전체 세트 및 상기 2차 캐시 데이터를 저장할 수 있고, 상기 질의 요청을 참조하여 마스터 노드(150), 워커 노드(160) 및 외부 데이터 소스(200)에 저장되어 있는 데이터 및/또는 캐시 데이터(즉, 상기 1차 캐시 데이터 및/또는 상기 2차 캐시 데이터)를 이용해 상기 질의 요청에 포함된 소정의 연산을 수행할 수 있다. 또한, 마스터 노드(150)를 클러스터 기반 처리 시스템(1000)에 둘 이상 포함함으로써 마스터 노드(150)의 이중화 구성을 구현할 수도 있다.
한편, 워커 노드(160)는 상기 1차 캐시 데이터의 전체 세트 및 상기 2차 캐시 데이터를 저장할 수 있고, 상기 질의 요청을 참조하여 워커 노드(160)에 저장되어 있는 캐시 데이터(즉, 상기 1차 캐시 데이터 및/또는 상기 2차 캐시 데이터)를 이용해 상기 질의 요청에 포함된 소정의 연산을 수행할 수 있다. 또한, 워커 노드(160)를 클러스터 기반 처리 시스템(1000)에 둘 이상 포함함으로써 워커 노드(160)로 구성된 클러스터의 구성을 구현할 수도 있다.
이상 클러스터 기반 처리 시스템의 구성 및 기능에 대해 설명한 바, 이하 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 과정을 도 3를 참조하여 설명하면 다음과 같다.
먼저, 빅데이터 클러스터 관리 장치(100)는, 301 단계에서, 상기 질의 요청이 수신되면, 302 단계에서, 상기 질의 요청에 대한 결과에 대응되는 상기 1차 캐시 데이터의 전체 세트가 마스터 노드(150) 혹은 워커 노드(160)에 존재하는지 확인할 수 있다.
만약, 상기 1차 캐시 데이터의 전체 세트가 마스터 노드(150) 혹은 워커 노드(160)에 존재한다면, 빅데이터 클러스터 관리 장치(100)는, 303 단계 내지 307 단계를 건너뛰고, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득할 수 있다.
반면, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트 중 적어도 일부인 특정 세트가 마스터 노드(150) 혹은 워커 노드(160)에 존재하지 않는다면, 빅데이터 클러스터 관리 장치(100)는, 303 단계에서, 상기 질의 요청을 compile하고, 이를 바탕으로, 304 단계에서, 상기 질의 요청을 수행하기 위한 실행 계획을 수립할 수 있다.
이때, 상기 실행 계획은, 상기 질의 요청에 포함된 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행할 수 있도록 수립될 수 있다.
이후, 빅데이터 클러스터 관리 장치(100)는, 305 단계에서, 상기 실행 계획에 따라 마스터 노드(150) 혹은 워커 노드(160)에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 상기 2차 캐시 데이터의 전체 세트 중 마스터 노드(150) 혹은 워커 노드(160)에 존재하는 제1 부분 세트를 획득할 수 있다.
이때, 상기 실행 계획에 포함된 결합 연산(상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함) 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체가 마스터 노드(150) 혹은 워커 노드(160)에 상기 제1 부분 세트로서 존재한다면, 빅데이터 클러스터 관리 장치(100)는, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체를 상기 제1 부분 세트로서 획득하는 대신, 마스터 노드(150) 혹은 워커 노드(160)가 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체에 상기 결합 연산을 적용하도록 함으로써, 그 결과를 상기 제1 부분 세트로서 획득할 수 있다. 이때, 빅데이터 클러스터 관리 장치(100)는, 상기 제1 부분 세트가 포함되도록 상기 2차 캐시 데이터를 업데이트할 수 있다.
이후, 빅데이터 클러스터 관리 장치(100)는, 306 단계에서, 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 상기 2차 캐시 데이터의 전체 세트 중 마스터 노드(150) 혹은 워커 노드(160)에 존재하지 않으며, 상기 제1 부분 세트에 상기 결합 연산을 적용해 획득할 수 없는 제2 부분 세트를 획득할 수 있다.
이때, 상기 제2 부분 세트를 획득하기 위해 필요한 제1 데이터 세트 내지 제n 데이터 세트 전체 중 적어도 일부가 마스터 노드(150) 혹은 워커 노드(160)에 존재한다면, 빅데이터 클러스터 관리 장치(100)는, 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 특정 데이터 세트를 획득할 수 있으며, 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 나머지 데이터 세트를 획득할 수 있다. 이후, 빅데이터 클러스터 관리 장치(100)는, 상기 특정 데이터 세트와 상기 나머지 데이터 세트에 상기 결합 연산을 적용함으로써, 그 결과를 상기 제2 부분 세트로서 획득할 수 있다. 이때, 빅데이터 클러스터 관리 장치(100)는, 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 상기 2차 캐시 데이터를 업데이트할 수 있다.
이후, 빅데이터 클러스터 관리 장치(100)는, 307 단계에서, 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 상기 결합 연산 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하고, 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력할 수 있다.
이때, 빅데이터 클러스터 관리 장치(100)는, 상기 결합 연산 및 상기 데이터 처리 연산을 메모리 기반 대신 파일 기반으로 처리함으로써 대용량 데이터 분석 시 할당 메모리 부족으로 인한 문제를 방지할 수 있다.
또한, 상기 데이터 처리 연산에는 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부가 포함되나 이에 한정되지 않고, 상기 데이터 출력 연산에는 화면 출력 연산, 원격지 RDB 저장 연산 및 파일저장 연산 중 적어도 일부를 포함되나 이에 한정되지 않는다.
아울러, 빅데이터 클러스터 관리 장치(100)는, 상기 질의 요청에 대한 결과가 포함되도록 상기 1차 캐시 데이터를 업데이트할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
    (a) 빅데이터 클러스터 관리 장치가, 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 단계;
    (b) 빅데이터 클러스터 관리 장치가, (b1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (b2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 단계; 및
    (c) 상기 빅데이터 클러스터 관리 장치가, 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 단계;
    를 포함하되,
    상기 (b2) 단계의 상기 (iii)에서,
    상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색 연산에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체가 상기 마스터 노드 혹은 상기 워커 노드에 포함되어 있을 경우, 상기 실행 계획에 따라 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체를 획득한 후 상기 결합 연산을 적용하여 상기 제1 부분 세트로서 획득하는 대신, 상기 마스터 노드 혹은 상기 워커 노드가 상기 제1 데이터 세트 내지 상기 제n 데이터 세트에 대해 상기 결합 연산을 적용하도록 함으로써 그 결과를 상기 제1 부분 세트로서 획득하는 것을 특징으로 하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 제1 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법.
  4. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
    (a) 빅데이터 클러스터 관리 장치가, 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 단계;
    (b) 빅데이터 클러스터 관리 장치가, (b1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (b2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 단계; 및
    (c) 상기 빅데이터 클러스터 관리 장치가, 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 단계;
    를 포함하되,
    상기 (b2) 단계의 상기 (iv)에서,
    상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체 중 적어도 일부의 데이터 세트가 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않을 경우, (iv-1) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 특정 데이터 세트를 획득하고, (iv-2) 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 나머지 데이터 세트를 획득한 후, (iv-3) 상기 마스터 노드가 상기 특정 데이터 세트들과 상기 나머지 데이터 세트에 대해 상기 결합 연산을 적용함으로써, 그 결과를 상기 제2 부분 세트로서 획득하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법.
  6. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
    (a) 빅데이터 클러스터 관리 장치가, 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 단계;
    (b) 빅데이터 클러스터 관리 장치가, (b1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (b2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 단계; 및
    (c) 상기 빅데이터 클러스터 관리 장치가, 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 단계;
    를 포함하되,
    상기 (b2) 단계의 상기 (iv) 에서,
    상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색 연산 및 상기 데이터 처리 연산을 파일 기반으로 처리하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 데이터 처리 연산은, 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법.
  9. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
    (a) 빅데이터 클러스터 관리 장치가, 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 단계;
    (b) 빅데이터 클러스터 관리 장치가, (b1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (b2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 단계; 및
    (c) 상기 빅데이터 클러스터 관리 장치가, 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 단계;
    를 포함하되,
    상기 (c) 단계에서,
    상기 빅데이터 클러스터 관리 장치가, 상기 1차 캐시 데이터를 상기 질의 요청에 대한 결과가 포함되도록 업데이트하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 데이터 출력 연산은, 화면 출력 연산, 원격지 RDB 저장 연산 및 파일저장 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법.
  11. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
    상기 프로세서가, (I) 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 상 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 프로세스; (II) (II-1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (II-2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 프로세스; 및 (III) 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 프로세스를 수행하되,
    상기 (II-2) 프로세스의 상기 (iii)에서,
    상기 프로세서가, 상기 데이터 검색 연산에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체가 상기 마스터 노드 혹은 상기 워커 노드에 포함되어 있을 경우, 상기 실행 계획에 따라 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체를 획득한 후 상기 결합 연산을 적용하여 상기 제1 부분 세트로서 획득하는 대신, 상기 마스터 노드 혹은 상기 워커 노드가 상기 제1 데이터 세트 내지 상기 제n 데이터 세트에 대해 상기 결합 연산을 적용하도록 함으로써 그 결과를 상기 제1 부분 세트로서 획득하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  12. 삭제
  13. 제11항에 있어서,
    상기 프로세서가, 상기 2차 캐시 데이터를 상기 제1 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  14. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
    상기 프로세서가, (I) 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 상 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 프로세스; (II) (II-1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (II-2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 프로세스; 및 (III) 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 프로세스를 수행하되,
    상기 (II-2) 프로세스의 상기 (iv)에서,
    상기 프로세서가, 상기 데이터 검색에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체 중 적어도 일부의 데이터 세트가 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않을 경우, (iv-1) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 특정 데이터 세트를 획득하고, (iv-2) 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 나머지 데이터 세트를 획득한 후, (iv-3) 상기 마스터 노드가 상기 특정 데이터 세트들과 상기 나머지 데이터 세트에 대해 상기 결합 연산을 적용함으로써, 그 결과를 상기 제2 부분 세트로서 획득하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  15. 제14항에 있어서,
    상기 프로세서가, 상기 2차 캐시 데이터를 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  16. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
    상기 프로세서가, (I) 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 상 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 프로세스; (II) (II-1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (II-2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 프로세스; 및 (III) 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 프로세스를 수행하되,
    상기 (II-2) 프로세스의 상기 (iv) 에서,
    상기 프로세서가, 상기 2차 캐시 데이터를 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  17. 제11항에 있어서,
    상기 프로세서가, 상기 데이터 검색 연산 및 상기 데이터 처리 연산을 파일 기반으로 처리하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  18. 제11항에 있어서,
    상기 (III) 프로세스에서,
    상기 데이터 처리 연산은, 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  19. 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
    상기 프로세서가, (I) 사용자의 질의 요청이 수신되면, 상기 질의 요청에 대한 결과에 대응되는 1차 캐시 데이터의 전체 세트가 상 적어도 하나의 마스터 노드 혹은 적어도 하나의 워커 노드 - 상기 워커 노드는 상기 마스터 노드와 동일한 시스템 내에 존재하며 상기 마스터 노드와 통신 가능함 - 에 존재하는지 확인하는 프로세스; (II) (II-1) 상기 마스터 노드 혹은 상기 워커 노드 중 적어도 하나에 상기 1차 캐시 데이터의 전체 세트가 존재할 경우, 상기 1차 캐시 데이터의 전체 세트를 상기 질의 요청에 대한 결과로서 획득하고, (II-2) 상기 마스터 노드 혹은 상기 워커 노드에 상기 1차 캐시 데이터의 전체 세트 중 적어도 일부인 특정 세트가 존재하지 않을 경우, (i) 상기 질의 요청을 compile하고, (ii) 상기 질의 요청을 compile한 결과를 바탕으로 상기 질의 요청을 수행하기 위해 데이터 검색 연산, 데이터 처리 연산 및 데이터 출력 연산을 순차적으로 수행하는 실행 계획을 수립하며, (iii) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 1차 캐시 데이터의 전체 세트를 획득하기 위해 필요한 부분 세트에 대응되는 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 제1 부분 세트를 획득하고, (iv) 상기 실행 계획에 따라 적어도 하나의 외부 데이터 소스에 상기 데이터 검색 연산을 적용한 결과를 이용해, 상기 2차 캐시 데이터의 전체 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 제2 부분 세트를 획득하며, (v) 상기 실행 계획에 따라 상기 제1 부분 세트와 상기 제2 부분 세트에 상기 데이터 검색 연산에 포함된 결합 연산 - 상기 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 중 적어도 일부를 적용함으로써 그 결과를 데이터 검색 연산의 결과로서 획득하는 프로세스; 및 (III) 상기 실행 계획에 따라 상기 데이터 검색 연산의 결과에 상기 데이터 처리 연산 및 상기 데이터 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 획득 및 출력하는 프로세스를 수행하되,
    상기 (III) 프로세스에서,
    상기 프로세서가, 상기 1차 캐시 데이터를 상기 질의 요청에 대한 결과가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
  20. 제11항에 있어서,
    상기 (III) 프로세스에서,
    상기 데이터 출력 연산은, 화면 출력 연산, 원격지 RDB 저장 연산 및 파일저장 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
KR1020200098450A 2020-08-06 2020-08-06 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치 KR102202792B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200098450A KR102202792B1 (ko) 2020-08-06 2020-08-06 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치
US17/069,027 US11636113B2 (en) 2020-08-06 2020-10-13 Method for performing multi-caching on data sources of same type and different types by using cluster-based processing system and device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200098450A KR102202792B1 (ko) 2020-08-06 2020-08-06 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102202792B1 true KR102202792B1 (ko) 2021-01-15

Family

ID=74127132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200098450A KR102202792B1 (ko) 2020-08-06 2020-08-06 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치

Country Status (2)

Country Link
US (1) US11636113B2 (ko)
KR (1) KR102202792B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948430A (zh) * 2021-03-30 2021-06-11 建信金融科技有限责任公司 一种日期数据查询方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090014259A (ko) * 2006-02-16 2009-02-09 모바일 컨텐트 네트웍스, 인크. 관련있는 소스를 결정하고, 질의를 하며 다수의 컨텐츠 소스로부터의 결과를 병합하는 방법 및 시스템
KR20100106348A (ko) * 2007-11-08 2010-10-01 알엔에이 네트웍스 인코퍼레이티드 분산 공유 메모리를 갖는 네트워크
US9847907B2 (en) * 2012-11-26 2017-12-19 Amazon Technologies, Inc. Distributed caching cluster management

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073129A (en) * 1997-12-29 2000-06-06 Bull Hn Information Systems Inc. Method and apparatus for improving the performance of a database management system through a central cache mechanism
US6601062B1 (en) * 2000-06-27 2003-07-29 Ncr Corporation Active caching for multi-dimensional data sets in relational database management system
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7698334B2 (en) * 2005-04-29 2010-04-13 Netapp, Inc. System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US7689602B1 (en) * 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US8949455B2 (en) * 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US8868504B2 (en) * 2007-03-07 2014-10-21 Oracle International Corporation Database system with active standby and nodes
US8943271B2 (en) * 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
CN102667761B (zh) * 2009-06-19 2015-05-27 布雷克公司 可扩展的集群数据库
US9195599B2 (en) * 2013-06-25 2015-11-24 Globalfoundries Inc. Multi-level aggregation techniques for memory hierarchies
US10002148B2 (en) * 2014-07-22 2018-06-19 Oracle International Corporation Memory-aware joins based in a database cluster
US10120904B2 (en) * 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
US10642814B2 (en) * 2015-10-14 2020-05-05 Paxata, Inc. Signature-based cache optimization for data preparation
US20180181491A1 (en) * 2016-12-22 2018-06-28 Apple Inc. Targeted cache flushing
WO2018197084A1 (en) * 2017-04-25 2018-11-01 Murex S.A.S Query plan generation and execution in a relational database management system with a temporal-relational database
US10866894B2 (en) * 2017-12-13 2020-12-15 Salesforce.Com, Inc. Controlling memory usage in a cache
US11321344B2 (en) * 2019-09-20 2022-05-03 Sap Se Virtual database tables with updatable logical table pointers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090014259A (ko) * 2006-02-16 2009-02-09 모바일 컨텐트 네트웍스, 인크. 관련있는 소스를 결정하고, 질의를 하며 다수의 컨텐츠 소스로부터의 결과를 병합하는 방법 및 시스템
KR20100106348A (ko) * 2007-11-08 2010-10-01 알엔에이 네트웍스 인코퍼레이티드 분산 공유 메모리를 갖는 네트워크
US9847907B2 (en) * 2012-11-26 2017-12-19 Amazon Technologies, Inc. Distributed caching cluster management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948430A (zh) * 2021-03-30 2021-06-11 建信金融科技有限责任公司 一种日期数据查询方法和装置

Also Published As

Publication number Publication date
US11636113B2 (en) 2023-04-25
US20220043821A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
US11971890B2 (en) Database management system for optimizing queries via multiple optimizers
US11556534B2 (en) Subquery predicate generation to reduce processing in a multi-table join
US10565201B2 (en) Query processing management in a database management system
US10885031B2 (en) Parallelizing SQL user defined transformation functions
US20060271504A1 (en) Performance data for query optimization of database partitions
US20130198231A1 (en) Distributed query cache in a database system
US20070083573A1 (en) Reduction of join operations when archiving related database tables
US9569485B2 (en) Optimizing database query
US20160342646A1 (en) Database query cursor management
US11720561B2 (en) Dynamic rebuilding of query execution trees and reselection of query execution operators
US11354313B2 (en) Transforming a user-defined table function to a derived table in a database management system
US10606837B2 (en) Partitioned join with dense inner table representation
KR102202792B1 (ko) 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치
CN112970011A (zh) 记录查询优化中的谱系
KR102200010B1 (ko) 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치
US20170262507A1 (en) Feedback mechanism for query execution
US20090171921A1 (en) Accelerating Queries Based on Exact Knowledge of Specific Rows Satisfying Local Conditions
US11055285B2 (en) Access path optimization
US11847121B2 (en) Compound predicate query statement transformation
US11657069B1 (en) Dynamic compilation of machine learning models based on hardware configurations
JP2001142898A (ja) 問合せ処理の実行可否判定方法
Minukhin et al. Experimental research of optimizing the Apache Spark tuning: RDD vs Data Frames
CN117493327A (zh) 数据质量检测方法、装置、设备及介质
Mach et al. Optimized Workflow Orchestration of Database Aggregate Operations on Heterogenous Grids

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant