KR102202792B1 - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치 - Google Patents
클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치 Download PDFInfo
- 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
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24544—Join order optimisation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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/24—Querying
- G06F16/248—Presentation 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
본 발명은 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치에 관한 것이다.
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은 본 발명의 일 실시예에 따른 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하기 위한 빅데이터 클러스터 관리 장치를 개략적으로 도시한 것이고,
도 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)
- 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
(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 부분 세트로서 획득하는 것을 특징으로 하는 방법. - 삭제
- 제1항에 있어서,
상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 제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) 단계의 상기 (iv)에서,
상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색에 포함된 상기 결합 연산 중 적어도 일부를 적용해야 하는 제1 데이터 세트 내지 제n 데이터 세트 전체 중 적어도 일부의 데이터 세트가 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않을 경우, (iv-1) 상기 실행 계획에 따라 상기 마스터 노드 혹은 상기 워커 노드에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 전체 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하는 특정 데이터 세트를 획득하고, (iv-2) 상기 실행 계획에 따라 적어도 하나의 상기 외부 데이터 소스에 상기 데이터 검색 연산을 적용함으로써, 상기 제1 데이터 세트 내지 상기 제n 데이터 세트 중 상기 마스터 노드 혹은 상기 워커 노드에 존재하지 않는 나머지 데이터 세트를 획득한 후, (iv-3) 상기 마스터 노드가 상기 특정 데이터 세트들과 상기 나머지 데이터 세트에 대해 상기 결합 연산을 적용함으로써, 그 결과를 상기 제2 부분 세트로서 획득하는 것을 특징으로 하는 방법. - 제4항에 있어서,
상기 빅데이터 클러스터 관리 장치가, 상기 2차 캐시 데이터를 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법. - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
(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 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 빅데이터 클러스터 관리 장치가, 상기 데이터 검색 연산 및 상기 데이터 처리 연산을 파일 기반으로 처리하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 (c) 단계에서,
상기 데이터 처리 연산은, 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법. - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법에 있어서,
(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차 캐시 데이터를 상기 질의 요청에 대한 결과가 포함되도록 업데이트하는 것을 특징으로 하는 방법. - 제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 부분 세트로서 획득하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 삭제
- 제11항에 있어서,
상기 프로세서가, 상기 2차 캐시 데이터를 상기 제1 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
인스트럭션들을 저장하는 하나 이상의 메모리; 및
상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
상기 프로세서가, (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 부분 세트로서 획득하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 제14항에 있어서,
상기 프로세서가, 상기 2차 캐시 데이터를 상기 나머지 데이터 세트 및 상기 제2 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
인스트럭션들을 저장하는 하나 이상의 메모리; 및
상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
상기 프로세서가, (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 부분 세트가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 제11항에 있어서,
상기 프로세서가, 상기 데이터 검색 연산 및 상기 데이터 처리 연산을 파일 기반으로 처리하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 제11항에 있어서,
상기 (III) 프로세스에서,
상기 데이터 처리 연산은, 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산 및 데이터 자르기 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 빅데이터 클러스터 관리 장치에 있어서,
인스트럭션들을 저장하는 하나 이상의 메모리; 및
상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
상기 프로세서가, (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차 캐시 데이터를 상기 질의 요청에 대한 결과가 포함되도록 업데이트하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치. - 제11항에 있어서,
상기 (III) 프로세스에서,
상기 데이터 출력 연산은, 화면 출력 연산, 원격지 RDB 저장 연산 및 파일저장 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 빅데이터 클러스터 관리 장치.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948430A (zh) * | 2021-03-30 | 2021-06-11 | 建信金融科技有限责任公司 | 一种日期数据查询方法和装置 |
Citations (3)
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)
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 |
-
2020
- 2020-08-06 KR KR1020200098450A patent/KR102202792B1/ko active IP Right Grant
- 2020-10-13 US US17/069,027 patent/US11636113B2/en active Active
Patent Citations (3)
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)
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 |