KR101515304B1 - 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 - Google Patents
하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 Download PDFInfo
- Publication number
- KR101515304B1 KR101515304B1 KR1020130135266A KR20130135266A KR101515304B1 KR 101515304 B1 KR101515304 B1 KR 101515304B1 KR 1020130135266 A KR1020130135266 A KR 1020130135266A KR 20130135266 A KR20130135266 A KR 20130135266A KR 101515304 B1 KR101515304 B1 KR 101515304B1
- Authority
- KR
- South Korea
- Prior art keywords
- join
- bif
- query
- hadoop
- key value
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 68
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 70
- 239000003638 chemical reducing agent Substances 0.000 claims abstract description 15
- 238000001914 filtration Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 39
- 230000000875 corresponding effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000208140 Acer Species 0.000 description 1
- 208000024780 Urticaria Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에 관한 것으로, a) 조인 질의의 결과로부터 추출된 결과키 값에 기초하여 비트맵 구간 필터 데이터가 생성되어 BIF 데이터베이스에 저장되는 단계와, (b) 신규 조인 질의가 입력되는 경우, 상기 BIF 데이터베이스에 상기 신규 조인 질의에 대응하는 비트맵 구간 필터 데이터가 검색되는 단계와, (c) 상기 (b) 단계에서 비트맵 구간 필터 데이터가 검색되는 경우, 상기 하둡의 각 맵퍼로 상기 검색된 비트맵 구간 필터 데이터가 전송되는 단계와, (d) 상기 각 맵퍼가 상기 비트맵 구간 필터 데이터에 기초한 필터링을 통해 필터링된 레코드를 상기 하둡의 리듀서로 전송하는 단계와, (e) 상기 리듀서가 상기 각 맵퍼로부터 전송된 레코드에 기초하여 상기 신규 조인 질의에 대한 결과를 출력하는 단계를 포함한다.
Description
본 발명은 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에 관한 것으로서, 보다 상세하게는 조인 질의와 상관이 없는 레코드들에 의해 발생하는 네트워크 및 컴퓨팅 비용을 구간필터를 이용하여 감소시키고, 구간필터를 비트로 표현하여 메모리 사용의 최적화가 가능한 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에 관한 것이다.
근래에 빅 데이터(Big data)에 관한 관심과 연구가 증가하고 있다. 기존에는 빅 데이터를 분석하고 관리하는 기술의 부족과, 분석 및 관리에 소요되는 비용의 과다로 인해 빅 데이터를 활용할 수 없었다. 그러나 최근의 클라우드 컴퓨팅 기술의 발전으로 빅 데이터를 보다 쉽고 저렴하게 관리 및 분석이 가능해졌다. 이에 맞춰, 정치, 사회, 경제 및 문화 등 다양한 분야로 빅 데이터의 활용범위가 넓어지고 있다.
기존 데이터 웨어하우스 분야에서도 클라우드 컴퓨팅 기술들이 적용되고 있다. 데이터 웨어하우스는 다양한 운영시스템의 데이터베이스로부터 추출하고 통합한 대형 데이터베이스를 운영한다. 데이터 웨어하우스의 주요 특징으로는 반복되는 패턴 질의가 많고 대량의 데이터가 일정 주기 별로 업로드 되는 특징을 가지고 있다. 데이터 웨어하우스 시스템은 또한 대량의 정형, 비정형 데이터를 처리하기 위하여 하둡(Hadoop)과 하이브(Hive) 등을 활용하고 있다.
아파치(Apache) 오픈 소스 프로젝트인 하둡은 대표적인 클라우드 컴퓨팅 기술로 대량의 데이터를 분산처리해주는 맵리듀스(Mapreduce)와, 대량의 데이터를 저장하는 HDFS(Hadoop Distributed File System)로 구성된다. 그리고 하이브는 하둡을 기반으로 SQL과 유사한 HiveQL을 통하여 맵리듀스를 보다 쉽게 사용하고 관리할 수 있도록 지원한다.
그러나, 하둡과 하이브는 관계형 DBMS(Database management system)와 다른 구조를 가지고 있기 때문에 기존의 관계형 DBMS에서 처리되던 데이터 연산을 처리하는데 많은 비용이 소모된다. 하둡과 하이브에서 데이터 처리 역할을 하는 맵리듀스는 비공유(Shared Nothing) 구조를 가지고 있다. 맵리듀스는 다양한 데이터를 입력으로 받을 수 있는 장점이 있는 반면, 데이터를 처리하기 위한 단순한 구조를 가지고 있다.
맵리듀스의 처리과정은 크게 맵과 리듀스로 분리할 수 있는데 분산되어 있는 데이터를 각 맵 노드의 맵퍼에서 가공을 하고, 그 작업결과를 소수의 리듀스로 전송하여 리듀스를 통해 처리된다. 이 때, 맵리듀스의 분산구조에서 맵과 리듀스로 넘어가는 단계에서만 데이터간의 이동이 이루어지기 때문에 이 과정에서 병목현상이 일어난다.
도 1은 하둡을 구성하는 맵리듀스의 데이터 처리 과정을 설명하기 위한 도면이다. 여기서, 조인 질의(Join Query)의 처리과정을 도 1을 참조하여 설명하면, 랩리듀스의 데이터 처리 과정은 세 가지 과정으로 구성된다. 첫 번째 처리 과정인 맵 과정에서는 분산되어 있는 데이터를 읽어 들여 키(Key)와 밸류(Value)의 쌍으로 가공한다.
맵퍼와 리듀스 사이의 셔플 과정은 하둡 프레임 워크에 의해 맵에서 출력된 데이터를 키 값에 따라 정렬한 후 밸류들의 리스트로 변환하여 리듀스로 전송한다. 그리고 리듀스 과정은 키와 리스트의 형태로 넘어온 데이터를 처리하여 결과물을 출력하게 된다.
하둡은 다양한 종류의 데이터를 처리할 수 있는 유연성을 제공하는 반면 하둡을 사용하고자 하는 프로그래머들뿐만 아니라 기존에 데이터 분석가들에게 하둡이 요구하는 분산처리 프로그램 구성을 위한 학습을 요구하고 있다.
하이브는 이러한 사용자들에게 SQL 언어와 유사한 방식으로 데이터 처리 편의를 제공하는 프레임워크이다. 하이브는 하둡의 내부 프로젝트로 페이스북(facebook)에서 만든 하둡 기반의 데이터 웨어하우스 시스템이다. 하둡의 개념이나 구조는 기존 데이터베이스 툴을 이용하던 사용자들에게 생소하고 많은 노력과 시간을 요구하는데, 기존 사용자들에게 보다 쉬운 스크립트 언어나 SQL 형태를 제공하기 위한 연구가 이루어져 왔다. 이에, 하이브는 SQL과 유사한 HiveQL 언어를 통해 보다 쉽게 맵리듀스 프로그래밍이 가능하게 한다.
한편, 조인 질의의 처리와 관련하여, 하둡의 맵리듀스는 대표적으로 맵-사이드 조인 방법과, 리듀스-사인 조인 방법을 제공하고 있다.
맵-사이드 조인은 맵퍼에서 조인이 이루어지는 조인 방법으로 맵퍼에서 조인이 이루어지기 때문에 리듀스 단계가 없어 리듀스-사이드 조인보다 빠른 장점을 가지고 있다. 그러나 맵-사이드 조인 방법은 특정요구사항을 만족할 경우만 사용가능한데, 조인에 사용할 각각의 입력 데이터가 동일한 개수의 파티션으로 나뉘어져 있어야하고 동일한 데이터 내에서는 동일한 조인키에 의해 정렬되어 있는 경우에만 사용 가능한 제약이 있다.
반면, 리듀스-사이드 조인 방법은 보다 일반적인 경우에 쓰이는 조인으로 리듀스 과정에서 조인이 이루어진다. 도 2를 참조하여 설명하면, 맵에서는 맵이 블록으로부터 레코드들을 읽어들이고, 조인키 값을 키로 각 레코드에 테이블 정보를 담은 태그를 붙여 밸류로 출력한다.
이와 같은 맵의 결과물은 정렬되어 각 맵의 로컬 디스크에 임시로 저장되고, 각각의 맵의 처리가 완료되면, 모든 결과물이 조인키 별로 네트워크를 통해 각 리듀서의 로컬 디스크로 복사된다. 그리고 리듀스에서는 이 임시 파일을 병합/정렬과정을 거친 뒤에 각 조인키 별로 모인 레코드들을 태그를 이용하여 조인을 실행한다.
그러나 하둡의 맵리듀스의 리듀스-사이드 조인 방법은 조인 질의와 상관이 없는 레코드들이 네트워크를 통해 리듀서로 전송되고, 리듀서 또한 이를 포함하여 정렬 등의 처리 과정을 수행하기 때문에, 네트워크 및 컴퓨팅 비용의 불필요한 낭비를 야기하는 문제가 있다.
도 3은 하둡의 맵리듀스의 리듀스-사이드 조인 방법에서 일어나는 네트워크 및 컴퓨팅 비용의 소모 과정을 설명하기 위한 도면이다. 도 3을 참조하여 설명하면, 상술한 바와 같이, 맵 과정에서 Table1과 Table2의 모든 레코드들을 읽어 들여 리듀스 과정으로 보내지게 된다. 그리고 리듀스 과정에서 두 테이블에 공통적으로 조인키 B를 가지고 있음을 알고 조인키 B를 가진 레코드를 결과로 출력하게 된다.
하지만, 이 과정에서 조인이 일어나지 않는 조인키 A의 레코드들과 조인키 C의 레코드들까지 리듀스 과정으로 전송되며, 조인키 A와 조인키 C를 가진 레코드들을 셔플 과정과 리듀스 과정에서 처리하는 불필요한 비용이 소모됨을 알 수 있다.
이에, 본 발명은 상기와 같은 문제점을 해소하기 위해 안출된 것으로서, 조인 질의와 상관이 없는 레코드들에 의해 발생하는 네트워크 및 컴퓨팅 비용을 감소시키고, 메모리 사용의 최적화가 가능한 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법을 제공하는데 그 목적이 있다.
상기 목적은 본 발명에 따라, 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에 있어서, (a) 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에서 조인 질의의 결과로부터 추출된 결과키 값에 기초하여 비트맵 구간 필터 데이터가 생성되어 BIF 데이터베이스에 저장되는 단계와, (b) 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 신규 조인 질의가 입력되는 경우, 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에서 상기 BIF 데이터베이스에 상기 신규 조인 질의에 대응하는 비트맵 구간 필터 데이터가 검색되는 단계와, (c) 상기 (b) 단계에서 비트맵 구간 필터 데이터가 검색되는 경우, 상기 하둡의 각 맵퍼로 상기 검색된 비트맵 구간 필터 데이터가 전송되는 단계와, (d) 상기 각 맵퍼가 상기 비트맵 구간 필터 데이터에 기초한 필터링을 통해 필터링된 레코드를 상기 하둡의 리듀서로 전송하는 단계와, (e) 상기 리듀서가 상기 각 맵퍼로부터 전송된 레코드에 기초하여 상기 신규 조인 질의에 대한 결과를 출력하는 단계를 포함하며; 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 수행되는 상기 (a) 단계는 (a1) 상기 조인 질의의 결과로부터 상기 결과키 값이 추출되는 단계와; (a2) 조인키 도메인이 BIF 간격 단위로 복수의 BIF 구간으로 분할되는 단계와; (a3) 상기 추출된 결과키 값이 상기 각 BIF 구간에 속하는지 여부가 체크되는 단계와; (a4) 상기 복수의 BIF 구간에 대한 정보와, 상기 추출된 결과키 값이 상기 각 BIF 구간에 속하는지 여부에 대한 BIF 값이 포함된 비트맵 구간 필터 데이터가 생성되어 상기 BIF 데이터베이스에 저장되는 단계를 포함하며; 상기 (d) 단계에서 상기 맵퍼는 상기 비트맵 구간 필터 데이터의 상기 복수의 BIF 구간 중 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간 내의 레코드를 상기 리듀서로 전송하는 것을 특징으로 하는 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법.에 의해서 달성된다.
여기서, 상기 (a2) 단계에서 상기 BIF 간격은 수학식 L = D/R (여기서, L은 상기 BIF 간격이고, D는 상기 조인키 도메인의 원소 개수이고, R은 상기 추출된 결과키 값의 개수이다)에 의해 산출될 수 있다.
그리고, 상기 비트맵 구간 필터 데이터는 상기 BIF 간격과 상기 조인키 도메인의 시작 조인키 값을 더 포함하며, 상기 (d) 단계에서 상기 맵퍼는 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값과 상기 시작 조인키 값 간의 간격에 기초하여 오프셋 값을 산출하고, 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값, 상기 오프셋 값, 상기 BIF 간격에 기초하여 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간을 추출하며, 상기 추출된 BIF 구간의 상기 BIF 값에 기초하여, 상기 조회된 BIF 구간 내의 레코드의 상기 리듀서로의 전송 여부를 판단할 수 있다.
또한, 상기 맵퍼는 수학식 I = (V-Base)/L (여기서, I는 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간의 인덱스이고, V는 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이고, Base는 상기 조인키 도메인의 시작 조인키 값이고, L는 상기 BIF 구간이다)에 의해 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간을 추출할 수 있다.
여기서, (f1) 상기 (b) 단계에서 비트맵 구간 필터 데이터가 검색되지 않는 경우, 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 기 설정된 처리 방법을 통해 상기 신규 조인 질의의 결과가 출력되는 단계와; (f2) 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 상기 (f1) 단계에서 출력되는 상기 신규 조인 질의의 결과로부터 결과키 값을 추출하는 단계와; (f3) 상기 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 상기 (f2) 단계에서 추출된 결과키 값에 대해 상기 (a2) 단계 내지 상기 (a4) 단계가 수행되어 상기 신규 조인 질의에 대한 비트맵 구간 필터 데이터가 생성되어 상기 BIF 데이터베이스에 저장되는 단계를 더 포함할 수 있다.
상기와 같은 구성을 통해, 본 발명에 따르면, 조인 질의와 상관이 없는 레코드들에 의해 발생하는 네트워크 및 컴퓨팅 비용을 감소시키고, 메모리 사용의 최적화가 가능한 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법이 제공된다.
도 1은 하둡을 구성하는 맵리듀스의 데이터 처리 과정을 설명하기 위한 도면이고,
도 2는 하둡의 맵리듀스의 리듀스-사인 조인 방법을 설명하기 위한 도면이고,
도 3은 하둡의 맵리듀스의 리듀스-사이드 조인 방법에서 일어나는 네트워크 및 컴퓨팅 비용의 소모 과정을 설명하기 위한 도면이고,
도 4는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법을 설명하기 위한 도면이고,
도 5는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에서 비트맵 구간 필터 데이터가 생성되는 과정을 설명하기 위한 도면이고,
도 6은 본 발명에 따른 비트맵 구간 필터 데이터를 이용한 필터링의 효과를 설명하기 위한 도면이고,
도 7은 본 발명에 따른 비트맵 구간 필터 데이터의 각 요소들의 관계를 나타낸 도면이고,
도 8은 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법을 구현하기 위한 하이브 시스템의 예를 나타낸 도면이고,
도 9 내지 도 12는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법의 실험 결과를 나타낸 도면이다.
도 2는 하둡의 맵리듀스의 리듀스-사인 조인 방법을 설명하기 위한 도면이고,
도 3은 하둡의 맵리듀스의 리듀스-사이드 조인 방법에서 일어나는 네트워크 및 컴퓨팅 비용의 소모 과정을 설명하기 위한 도면이고,
도 4는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법을 설명하기 위한 도면이고,
도 5는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에서 비트맵 구간 필터 데이터가 생성되는 과정을 설명하기 위한 도면이고,
도 6은 본 발명에 따른 비트맵 구간 필터 데이터를 이용한 필터링의 효과를 설명하기 위한 도면이고,
도 7은 본 발명에 따른 비트맵 구간 필터 데이터의 각 요소들의 관계를 나타낸 도면이고,
도 8은 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법을 구현하기 위한 하이브 시스템의 예를 나타낸 도면이고,
도 9 내지 도 12는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법의 실험 결과를 나타낸 도면이다.
이하에서는 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 여기서, 본 명세서에 기재된 BIF는 'Bitmap for Interval Filter' 의 약자로 본 발명의 기술적 사상을 표현하기 위해 임의로 정의된 명칭이다.
도 4는 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법을 설명하기 위한 도면이다. 도 4를 참조하여 설명하면, 하둡 기반의 리듀스-사이드 조인 처리 시스템에 질의가 입력되면(S40), 입력된 질의가 조인 질의인지 여부가 판단된다(S41). 여기서, 본 발명에서는 하둡 기반의 리듀스-사이드 조인 처리 시스템이 하둡 기반의 하이브 시스템인 것을 예로 하여 설명한다.
S41 단계에서 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 입력된 질의가 조인 질의가 아닌 것으로 판단되면, 기존의 하둡 기반의 리듀스-사이드 조인 처리 시스템, 예를 들어 하둡 기반의 하이브 시스템의 질의 처리 과정이 수행되고(S50), 그 결과가 출력된다(S46).
S41 단계에서 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 입력된 질의가 조인 질의가 아닌 것으로 판단되면, 기존의 하둡 기반의 리듀스-사이드 조인 처리 시스템, 예를 들어 하둡 기반의 하이브 시스템의 질의 처리 과정이 수행되고(S50), 그 결과가 출력된다(S46).
반면, S41 단계에서 입력된 질의가 조인 질의인 것으로 판단되면, 하둡 기반의 리듀스-사이드 조인 처리 시스템이 BIF 데이터베이스에 입력된 질의, 즉 조인 질의에 대응하는 비트맵 구간 필터 데이터가 존재하는지 여부를 검색한다(S42). 여기서, 비트맵 구간 필터 데이터는 해당 비트맵 구간 필터 데이터의 생성시 입력된 조인 질의와, S40 단계에서 입력된 조인 질의가 유사 질의인지 여부에 따라 결정된다. 여기서, 유사 질의란 동일한 테이블들을 동일한 조인 조건으로 조인하는 질의를 의미하는 것으로 sql 문의 select 절이나 group by 절, having 절은 다를 수 있고, where 절에 상수와 비교하는 다른 조건이 추가될 수도 있다.
여기서, BIF 데이터베이스에 저장된 비트맵 구간 필터 데이터는 이전의 조인 질의 처리 과정에서 해당 조인 질의에 대한 결과를 이용하여 생성되어 BIF 데이터베이스에 등록되어 업데이트되는데, 이하에서는 도 5를 참조하여 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템의 하둡 기반 리듀스-사이드 조인 질의 처리 방법에서의 비트맵 구간 필터 데이터 생성 과정에 대해 상세히 설명한다.
먼저, 조인 질의의 결과로부터 결과키 값이 추출된다(S60). 여기서, 결과키 값은 조인 질의의 결과, 즉 결과 레코드들이 갖는 조인키 값들이다. 그런 다음, 조인키 도메인이 BIF 간격 단위로 복수의 BIF 구간으로 분할된다(S62). 여기서, BIF 간격은 하나의 BIF 구간의 길이, 즉 BIF 구간 길이를 의미한다.
여기서, BIF 구간의 분할을 위한 BIF 간격은 사용자의 설정에 따라 등록될 수 있으며, 본 발명에서는 BIF 간격이 조인키 도메인의 원소 개수와, 추출된 결과키 값의 개수에 기초하여 [수학식 1]을 통해 산출되는 것을 예로 한다.
[수학식 1]
L = D/R
[수학식 1]에서 L은 BIF 간격이고, D는 조인키 도메인의 원소 개수이고, R은 추출된 결과키 값의 개수이다.
그런 다음, 분할된 각각의 BIF 구간에 결과키 값이 속하는지 여부, 즉 해당 BIF 구간에 결과키 값이 존재하는지 여부를 체크한다(S63). 여기서, 해당 BIF 구간에 결과키 값이 존재하는 경우, 해당 BIF 구간에 결과키 값이 존재하는지 여부에 대한 BIF 값이 1로 설정된다(S64). 즉, BIF 값의 비트 값이 1로 설정된다. 반면, 해당 BIF 구간에 결과키 값이 존재하지 않는 경우, 해당 BIF 구간에 대한 BIF 값이 0으로 설정된다(S65). 즉, BIF 값의 비트 값이 0으로 설정된다.
상기 과정에서, 모든 BIF 구간의 설정이 완료될 때까지(S68), 다음 BIF 구간에 대한 조회를 진행하여(S68), BIF 구간에 대한 BIF 값을 설정하게 된다.
이하에서는, [표 1]을 참조하여, 상기와 같은 과정을 통해 비트맵 구간 필터 데이터가 생성되는 예에 대해 설명한다.
[표 1]
[표 1]에서는 두 개의 테이블에 대한 조인 질의가 수행되는 것을 예로 하고 있다. 테이블 A와 테이블 B를 조인하는 경우, 두 테이블의 조인키 값의 조인키 도메인은 0 ~ 39의 값을 가진다.
그리고, 그리고 조인키 도메인 상의 조인키 값 중 두 테이블에 모두 속하는 질의 결과의 레코드의 조인키 값, 즉 결과키 값은 0, 1, 5, 9, 19, 23, 29, 36, 37, 39이 된다. 즉, 결과로 출력된 레코드의 조인키 값들이 결과키 값으로 추출된다.
여기서, BIF 간격은 조인키 도메인의 원소 개수에서 결과키 값의 개수로 나눈 값으로 산출되는 바, 상기 예제에서는 40 / 10 = 4가 된다. 그리고, BIF 간격을 이용하여 전체 조인키 도메인을 분할하면, [표 2]의 같이 10개의 BIF 구간으로 분할된다.
[표 2]
[표 2]에서 인덱스 값은 BIF 구간을 구분하기 위한 ID이고, BIF 값은 각각의 BIF 구간에 결과키 값인 0, 1, 5, 9, 19, 23, 29, 36, 37, 39이 존재하는지 여부에 따라 설정된다.
BIF 값은 결과키 값이 해당 BIF 구간에 존재하는 경우 1로, 존재하지 않는 경우에는 O으로 설정된다. BIF 값에 의해 조인 질의에 대한 결과 레코드와 상관이 없는 조인키 값의 구간을 확인할 수 있게 된다.
이와 같이, BIF 값이 0인 BIF 구간을 활용하여 필터링하면, 테이블 A에서 5, 7, 12, 21, 23, 27, 35과 테이블 B에서 4, 5, 23, 26, 32, 34의 조인키 값을 가진 레코드들을 제거할 수 있다.
상기와 같은 과정을 통해, 복수의 BIF 구간에 대한 정보와, 결과키 값이 각 BIF 구간에 속하는지 여부에 대한 BIF 값이 포함된 비트맵 구간 필터 데이터가 생성되어(S69) BIF 데이터베이스에 저장된다. 여기서, 본 발명에서는 비트맵 구간 필터 데이터에 BIF 간격과, 조인키 도메인의 시작 조인키 값, 즉, [표 1]에서 조인키 값 '0'이 포함되어 생성될 수 있다.
도 6은 본 발명에 따른 비트맵 구간 필터 데이터를 이용한 필터링의 효과를 설명하기 위한 도면이다. 도 6을 참조하여 설명하면, 본 발명에 따른 비트맵 구간 필터 데이터의 기본 개념은, 상술한 바와 같이, 조인키 값 하나하나가 아닌 조인키 값들의 구간을 이용하여 필터링하는 방식이다. 즉, 전체의 조인키 도메인의 구간을 일정한 간격, 예컨대, 상술한 BIF 간격으로 나누고, 해당 BIF 구간에 결과키 값이 존재하는지 여부를 체크하게 된다.
그리고 비트맵 구간 필터 데이터를 비트맵 형태로 저장하여, 조인키 값들 하나하나가 아닌 구간을 저장함으로써, 보다 많은 양의 조인키 값의 정보를 메모리에 저장할 수 있게 되어, 메모리 사용의 최적화가 가능하게 된다.
다시, 도 4를 참조하여 설명하면, S42 단계에서 S40 단계에서 입력된 조인 질에 대응하는 비트맵 구간 필터 데이터가 검색되면, 비트맵 구간 필터 데이터가 하둡의 각 맵퍼로 전송된다(S43). 여기서, 비트맵 구간 필터 데이터의 분배는 하둡의 DistributedCashe에 의해 수행되는 것을 예로 한다.
그리고, 각 맵퍼는 비트맵 구간 필터 데이터를 이용하여, 자신의 테이블의 레코드를 필터링하게 된다(S44). 여기서, 각 맵퍼는 비트맵 구간 필터 데이터의 복수의 BIF 구간 중 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간 내의 레코드 만을 리듀서로 전송하여, 나머지 레코드들을 필터링하게 된다.
이하에서는 본 발명에 따른 맵퍼의 필터링 방법을, 도 7을 참조하여 설명한다. 도 7은 본 발명에 따른 비트맵 구간 필터 데이터의 각 요소들의 관계를 나타낸 도면이다.
도 7에서, D는 조인키 도메인을 나타내고, Base는 조인키 도메인의 시작 조인키 값이다. 그리고 L은 BIF 구간이고, I는 BIF 구간의 인덱스 값이다. 오프셋 값인 Offset은 시작 조인키 값과 조인키 값 간의 거리를 나타내며, 현재 입력된 조인 질의에 포함된 테이블 레코드의 조인키 값이 V로 정의된다.
먼저, 맵퍼는 현재 입력된 조인 질의에 포함된 테이블 레코드의 조인키 값과 시작 조인키 값 간의 간격을 이용하여 오프셋 값을 산출한다. 현재 조인 질의에 포함된 테이블 레코드의 조인키 값이 37인 것을 예로 하여, [표 1]과 [표 2]의 예제를 참조하여 설명하면, 조인키 값 V가 37이고, BIF 간격은 4이고, 시작 조인키 값 Base는 0이다.
오프셋 값은 V와 Base 간의 거리, 즉 편차에 의해 계산되어 37로 산출된다. 여기서, 맵퍼는 산출된 오프셋 값과 BIF 간격을 이용하여 조인키 값 V가 속하는 BIF 구간을 추출한다. 즉, BIF 간격이 4이고 오프셋 값이 37인 경우, 오프셋 값을 BIF 간격으로 나눈 몫을 이용하여 조인키 값 V가 속한 BIF 구간을 추출할 수 있게 된다.
이와 같은 방법은 [수학식 2]와 같이 정의될 수 있다.
[수학식 2]
I = (V-Base)/L
여기서, I는 현재 입력된 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간의 인덱스이고, V는 현재 입력된 조인 질의에 포함된 테이블 레코드의 조인키 값이고, Base는 조인키 도메인의 시작 조인키 값이고, L는 BIF 구간이다)이다.
본 예제에서는 조인키 값 37이 인덱스 값이 9인 BIF 구간에 속하는 것으로 추출되는데, 인덱스 값이 0부터 시작되는 것을 예로 한 것으로, 인덱스 값의 시작 번호에 따라 그 계산이 달라질 수 있음은 물론이다.
상기와 같이 현재의 조인키 값이 속한 BIF 구간이 추출되면, 맵퍼는 추출된 BIF 구간의 BIF 값, 즉 비트 값에 기초하여, 해당 BIF 구간에 속한 레코드의 전송 여부를 결정함으로써, 필터링 과정을 수행하게 된다. 즉, BIF 값이 1인 경우에는 해당 BIF 구간에 속하는 레코드들은 리듀서로 전송되며(S45), BIF 값이 0인 경우에는 필터링되어 제거된다.
상기와 같은 과정을 통해 각 맵퍼들은 BIF 값이 1인 BIF 구간의 레코드 들만을 리듀서로 전송하게 됨으로써, 입력된 조인 질의에 무관한 레코드들의 전송에 따른 네트워크 부하를 제거할 수 있게 된다.
또한, 리듀서의 경우에도 맵퍼에 의해 필터링된 레코드들만을 수신하여 조인 질의를 처리하여 결과를 출력(S46)함으로써, 기존의 리듀스-사이드 조인 방법에서보다 적은 레코드를 처리하게 되어 컴퓨팅 비용을 줄일 수 있게 된다.
그리고, 맵퍼에 의한 필터링 과정에서 조인키 값이 속하는 BIF 구간을 검색하고, BIF 값, 즉 비트 값을 찾는데 소요되는 시간이 필터의 크기, 즉 비트맵 구간 필터 데이터의 크기와 무관하게 빠르게 처리될 수 있게 된다.
한편, 도 4의 S42 단계에서 비트맵 구간 필터 데이터가 검색되지 않는 경우, 본 발명에 따른 하둡 기반의 리듀스-사이드 조인 처리 시스템은 기존의 방식, 예컨대, 기존의 하둡 기반의 하이브 시스템으로 조인 질의 처리를 수행하게 된다(S47). 예컨대, 기존의 맵리듀스의 리듀스-사인 조인 방법이나 맵-사이드 조인 방법, 또는 그 조합을 통해 조인 질의의 결과를 생성하게 된다.
이 때, 기존의 방식을 통해 처리된 조인 질의의 결과로부터 결과키 값이 추출되며(S48), 도 5에 도시된 바와 같은 과정의 수행을 통해 해당 조인 질의에 대한 비트맵 구간 필터 데이터가 생성되어 BIF 데이터베이스에 저장(S49)됨으로써, 이후의 유사한 조인 질의의 입력시 활용될 수 있게 된다.
도 8은 본 발명에 따른 하둡 기반 리듀스-사이드 조인 질의 처리 방법을 구현하기 위한 하이브 시스템의 예를 나타낸 도면이다. 기존의 하둡 기반 하이브 시스템에 본 발명에 따른 조인 질의 처리 방법의 구현을 위해 QueryMatcher, JoinkeyDistributer, RecordFilter, JoinkeyExtractor, 및 BIFGenerator가 추가된다.
사용자로부터 들어온 질의를 QueryMatcher가 조인 질의 여부를 판단하고, 조인 질의인 경우 BIF 데이터베이스에 비트맵 구간 필터 데이터가 존재하는지 검색하게 된다.
비트맵 구간 필터 데이터가 존재하는 경우, JoinkeyDistributer가 검색된 비트맵 구간 필터 데이터를 각 맵퍼로 분배한다. 그리고, 각 맵퍼에 구현된 RecordFilter가 비트맵 구간 필터 데이터를 이용하여 상술한 필터링 과정을 수행하게 된다.
반면, 비트맵 구간 필터 데이터가 존재하지 않는 경우, JoinkeyExtractor가 결과키 값을 추출하고, 추출된 결과키 값을 이용하여 BIFGenerator가 해당 조인 질의의 구긴 필터 비트맵 데이터를 생성하게 된다.
도 8에서는 QueryMatcher가 질의를 분석하는 SemanticAnalyzer에 구현되고, JoinkeyDistributer가 ExecDrier에 구현되고, RecordFilter가 맵퍼, 즉 ExecMapper에 구현되고, JoinkeyExtrator가 ExecReducer에 구현되는 것을 예로 하고 있다. 여기서, BIFGenerator는 조인 질의의 질의 흐름과 무관하게 동작하도록 설계되는 것을 예로 하고 있다.
이하에서는, 도 9 내지 도 12를 참조하여 본 발명에 따른 하둡 기반 리듀스-사이드 조인 질의 처리 방법을 하이브(HIVE)에 적용한 실험 결과를 예로 하여 설명한다.
실험에서는 본 발명에 따른 하둡 기반 리듀스-사이드 조인 질의 처리 방법의 처리 동작을 두 가지로 분류하여 진행하였다. 사용자 질의에 해당하는 구간 필터 미트맵 데이터가 없을 경우는 질의 처리 과정에서 결과키 값을 추출한다. 그리고 구간 필터 미트맵 데이터가 있을 경우에는 질의에 해당하는 구간 필터 미트맵 데이터를 각 맵퍼에 분배하여 조인결과와 상관이 없는 레코드들을 제거한다. 이 두 과정과 기존의 하이브의 질의 처리 성능을 실험을 통해 비교하였다.
실험은 이진조인, 즉 하나의 맵리듀스 잡으로 조인을 처리하는 경우과 멀티웨이조인, 즉 두 개 이상의 맵리듀스 잡으로 조인을 처리하는 경우로 나누어 실험하였다. 실험에 사용되는 데이터 모델은 데이터 웨어하우스 시스템의 성능측정에 주로 사용되는 TPC-H의 데이터 모델을 사용한다. 그 중에서도 이진조인은 LineItem 테이블과 Orders 테이블을 사용하였고, 멀티웨이조인은 두 테이블의 customer 테이블을 추가하여 사용하였다. 여기서 사용된 SF(Scale Factor)는 테이블 별 레코드 생성 개수를 결정하는 계수이다.
실험에 사용된 조인 질의는 [표 3]과 같다. TPC-H의 실험 질의는 집계함수와 같이 다른 요인들에 대한 영향이 많이 있기 때문에 다음과 같은 조인조건과 간단한 where조건을 질의를 사용하였다. where절을 붙이는 이유는 조인키를 조인 결과로부터 추출하기 때문에 조인 조건뿐 만 아니라 where절 조건도 담고 있기 때문이다. 또한 where절 조건은 조인 선택율을 주기 위해 사용한다. 이진조인에서는 orderdate를 where절 조건으로 사용하였고, 아래의 값의 도메인을 갖는다. 그리고 멀티웨이조인에서는 mktsegment조건을 where절 조건에 추가적으로 사용하였다.
orderdate :1992-01-01 ~ 1998-12-31
mktsegment : AUTOMOBILE, BUILDING, FURNITURE, MACHINERY, HOUSEHOLD
[표 3]
도 9는 이진조인에서 노드수 증에 따른 조인질의 처리 시간을 측정한 그래프이다. 그래프를 설명하는데 있어, 비트맵 구간 필터 데이터가 없는 경우를 'BIF가 없는'것으로, 비트맵 구간 필터 데이터가 있는 경우를 'BIF를 사용'한 것으로 정의하여 설명한다.
도 9를 참조하여 설명하면, 기존의 하이브와 BIF가 없는 경우의 실험 결과를 함께 살펴보면, 두 그래프 모두 노드 수가 증가할수록 질의 처리시간이 감소하는 것을 볼 수 있다. BIF가 없는 경우는 질의처리 중에 결과키 값을 추출해 내므로, 도 9에 도시된 바와 같이, 조인키 값을 추출하는 과정은 성능의 큰 영향을 미치지 않음을 볼 수 있다.
BIF를 사용한 경우와 기존의 하이브의 실험 결과를 함께 살펴보면 BIF를 사용한 경우의 질의 처리시간이 기존의 하이브에 비해 20% ~ 26% 정도 성능이 개선이 되었음을 확인할 수 있다. 이는 맵퍼에서 필터링을 통해 조인 질의와 무관한 레코드들이 제거되어 셔플과정에서의 파일 I/O와 네트워크 비용이 감소하기 때문이다.
도 10은 멀티웨이조인에서 노드 수의 증에 따른 조인질의 처리 시간을 측정한 그래프이고, 도 11은 이진조인에서 데이터 크기에 따른 조인질의 처리 시간을 측정한 그래프이고, 도 12는 멀티웨이조인에서 데이터 크기에 따른 조인질의 처리 시간을 측정한 그래프이다.
도 10 내지 도 12에 도시된 바와 같이, BIF를 사용한 경우, 즉 본 발명에 따른 하둡 기반 리듀스-사이드 조인 질의 처리 방법이 적용된 경우, 기존의 하이브와 비교할 때 그 성능이 향상되었음을 확인할 수 있다.
비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.
Claims (5)
- 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법에 있어서,
(a) 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에서 조인 질의의 결과로부터 추출된 결과키 값에 기초하여 비트맵 구간 필터 데이터가 생성되어 BIF 데이터베이스에 저장되는 단계와,
(b) 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 신규 조인 질의가 입력되는 경우, 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에서 상기 BIF 데이터베이스에 상기 신규 조인 질의에 대응하는 비트맵 구간 필터 데이터가 검색되는 단계와,
(c) 상기 (b) 단계에서 비트맵 구간 필터 데이터가 검색되는 경우, 상기 하둡의 각 맵퍼로 상기 검색된 비트맵 구간 필터 데이터가 전송되는 단계와,
(d) 상기 각 맵퍼가 상기 비트맵 구간 필터 데이터에 기초한 필터링을 통해 필터링된 레코드를 상기 하둡의 리듀서로 전송하는 단계와,
(e) 상기 리듀서가 상기 각 맵퍼로부터 전송된 레코드에 기초하여 상기 신규 조인 질의에 대한 결과를 출력하는 단계를 포함하며;
상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 수행되는 상기 (a) 단계는
(a1) 상기 조인 질의의 결과로부터 상기 결과키 값이 추출되는 단계와;
(a2) 조인키 도메인이 BIF 간격 단위로 복수의 BIF 구간으로 분할되는 단계와;
(a3) 상기 추출된 결과키 값이 상기 각 BIF 구간에 속하는지 여부가 체크되는 단계와;
(a4) 상기 복수의 BIF 구간에 대한 정보와, 상기 추출된 결과키 값이 상기 각 BIF 구간에 속하는지 여부에 대한 BIF 값이 포함된 비트맵 구간 필터 데이터가 생성되어 상기 BIF 데이터베이스에 저장되는 단계를 포함하며;
상기 (d) 단계에서 상기 맵퍼는 상기 비트맵 구간 필터 데이터의 상기 복수의 BIF 구간 중 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간 내의 레코드를 상기 리듀서로 전송하는 것을 특징으로 하는 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법.
- 제1항에 있어서,
상기 (a2) 단계에서 상기 BIF 간격은 수학식 L = D/R (여기서, L은 상기 BIF 간격이고, D는 상기 조인키 도메인의 원소 개수이고, R은 상기 추출된 결과키 값의 개수이다)에 의해 산출되는 것을 특징으로 하는 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법.
- 제2항에 있어서,
상기 비트맵 구간 필터 데이터는 상기 BIF 간격과 상기 조인키 도메인의 시작 조인키 값을 더 포함하며,
상기 (d) 단계에서 상기 맵퍼는
상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값과 상기 시작 조인키 값 간의 간격에 기초하여 오프셋 값을 산출하고,
상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값, 상기 오프셋 값, 상기 BIF 간격에 기초하여 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간을 추출하며,
상기 추출된 BIF 구간의 상기 BIF 값에 기초하여, 상기 추출된 BIF 구간 내의 레코드의 상기 리듀서로의 전송 여부를 판단하는 것을 특징으로 하는 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법.
- 제3항에 있어서,
상기 맵퍼는 수학식
I = (V-Base)/L
(여기서, I는 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간의 인덱스이고, V는 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이고, Base는 상기 조인키 도메인의 시작 조인키 값이고, L는 상기 BIF 구간이다)에 의해 상기 신규 조인 질의에 포함된 테이블 레코드의 조인키 값이 속하는 BIF 구간을 추출하는 것을 특징으로 하는 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,
(f1) 상기 (b) 단계에서 비트맵 구간 필터 데이터가 검색되지 않는 경우, 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 기 설정된 처리 방법을 통해 상기 신규 조인 질의의 결과가 출력되는 단계와;
(f2) 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 상기 (f1) 단계에서 출력되는 상기 신규 조인 질의의 결과로부터 결과키 값을 추출하는 단계와;
(f3) 상기 상기 하둡 기반의 리듀스-사이드 조인 처리 시스템에 의해 상기 (f2) 단계에서 추출된 결과키 값에 대해 상기 (a2) 단계 내지 상기 (a4) 단계가 수행되어 상기 신규 조인 질의에 대한 비트맵 구간 필터 데이터가 생성되어 상기 BIF 데이터베이스에 저장되는 단계를 더 포함하는 것을 특징으로 하는 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130135266A KR101515304B1 (ko) | 2013-11-08 | 2013-11-08 | 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130135266A KR101515304B1 (ko) | 2013-11-08 | 2013-11-08 | 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101515304B1 true KR101515304B1 (ko) | 2015-07-02 |
Family
ID=53788063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130135266A KR101515304B1 (ko) | 2013-11-08 | 2013-11-08 | 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101515304B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701295B1 (ko) | 2015-08-31 | 2017-02-01 | 고려대학교 산학협력단 | 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법 |
KR101772955B1 (ko) | 2016-07-12 | 2017-08-31 | 성균관대학교산학협력단 | 맵리듀스 기반의 분산 처리 시스템에서 인덱스를 이용하여 레코드를 처리하는 방법 |
US11068504B2 (en) | 2016-08-31 | 2021-07-20 | Daegu Gyeongbuk Institute Of Science And Technology | Relational database storage system and method for supporting fast query processing with low data redundancy, and method for query processing based on the relational database storage method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050085133A (ko) * | 2002-12-23 | 2005-08-29 | 인터내셔널 비지네스 머신즈 코포레이션 | 투명한 네트워크 에지의 데이터 캐시 |
KR20090002351A (ko) * | 2007-06-28 | 2009-01-09 | 주식회사 퓨전소프트 | 제한합 기법을 이용한 데이터베이스에서의 효율적인 다중질의 수행 방법 |
US20110131198A1 (en) * | 2009-11-30 | 2011-06-02 | Theodore Johnson | Method and apparatus for providing a filter join on data streams |
-
2013
- 2013-11-08 KR KR1020130135266A patent/KR101515304B1/ko active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050085133A (ko) * | 2002-12-23 | 2005-08-29 | 인터내셔널 비지네스 머신즈 코포레이션 | 투명한 네트워크 에지의 데이터 캐시 |
KR20090002351A (ko) * | 2007-06-28 | 2009-01-09 | 주식회사 퓨전소프트 | 제한합 기법을 이용한 데이터베이스에서의 효율적인 다중질의 수행 방법 |
US20110131198A1 (en) * | 2009-11-30 | 2011-06-02 | Theodore Johnson | Method and apparatus for providing a filter join on data streams |
Non-Patent Citations (1)
Title |
---|
Adaptive join plan generation in hadoop, Duke University, Durham NC, USA, 2010 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701295B1 (ko) | 2015-08-31 | 2017-02-01 | 고려대학교 산학협력단 | 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법 |
KR101772955B1 (ko) | 2016-07-12 | 2017-08-31 | 성균관대학교산학협력단 | 맵리듀스 기반의 분산 처리 시스템에서 인덱스를 이용하여 레코드를 처리하는 방법 |
US11068504B2 (en) | 2016-08-31 | 2021-07-20 | Daegu Gyeongbuk Institute Of Science And Technology | Relational database storage system and method for supporting fast query processing with low data redundancy, and method for query processing based on the relational database storage method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291807B (zh) | 一种基于图遍历的sparql查询优化方法 | |
Zhang et al. | EAGRE: Towards scalable I/O efficient SPARQL query evaluation on the cloud | |
WO2015126343A1 (en) | Apparatus and method for processing distributed relational algebra operators in a distributed database | |
US20140280159A1 (en) | Database search | |
CN103116625A (zh) | 一种基于Hadoop的海量RDF数据分布式查询处理方法 | |
CN103177094A (zh) | 一种物联网数据清洗方法 | |
Zhang et al. | Recognizing patterns in streams with imprecise timestamps | |
CN113779349A (zh) | 数据检索***、装置、电子设备和可读存储介质 | |
US20170308578A1 (en) | A method for efficient one-to-one join | |
KR101515304B1 (ko) | 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Chu et al. | Automatic data extraction of websites using data path matching and alignment | |
Karras et al. | Query optimization in NoSQL databases using an enhanced localized R-tree index | |
Feng et al. | SPARQL query parallel processing: a survey | |
Malhotra et al. | An ingenious pattern matching approach to ameliorate web page rank | |
Imawan et al. | Road traffic analytic query processing based on a timeline modeling | |
CN108121807A (zh) | Hadoop环境下多维索引结构OBF-Index的实现方法 | |
Nakabasami et al. | Optimization of row pattern matching over sequence data in spark SQL | |
Paradies et al. | Robust cardinality estimation for subgraph isomorphism queries on property graphs | |
Qi et al. | PreKar: A learned performance predictor for knowledge graph stores | |
Thi-To-Quyen et al. | Optimization for large-scale fuzzy joins using fuzzy filters in mapreduce | |
Wang et al. | RDF Multi-query optimization algorithm based on triple pattern reordering | |
Keawpibal et al. | DistEQ: Distributed equality query processing on encoded bitmap index | |
Rheinländer et al. | Scalable sequence similarity search and join in main memory on multi-cores | |
Li et al. | A novel approach for mining probabilistic frequent itemsets over uncertain data streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Annual fee payment |
Payment date: 20180312 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190408 Year of fee payment: 5 |