KR101955376B1 - 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents
비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDFInfo
- Publication number
- KR101955376B1 KR101955376B1 KR1020160182576A KR20160182576A KR101955376B1 KR 101955376 B1 KR101955376 B1 KR 101955376B1 KR 1020160182576 A KR1020160182576 A KR 1020160182576A KR 20160182576 A KR20160182576 A KR 20160182576A KR 101955376 B1 KR101955376 B1 KR 101955376B1
- Authority
- KR
- South Korea
- Prior art keywords
- operator
- distributed
- data
- operators
- query
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000003672 processing method Methods 0.000 title description 6
- 238000000638 solvent extraction Methods 0.000 claims description 56
- 230000000903 blocking effect Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 7
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 abstract description 11
- 238000007405 data analysis Methods 0.000 abstract description 4
- 238000005457 optimization Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- SILSDTWXNBZOGF-KUZBFYBWSA-N chembl111058 Chemical compound CCSC(C)CC1CC(O)=C(\C(CC)=N\OC\C=C\Cl)C(=O)C1 SILSDTWXNBZOGF-KUZBFYBWSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query 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/2453—Query 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
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 관계형 질의에 사용되는 연산자들을 나타낸 표이다.
도 3은 본 발명의 일 실시예에 따른 윈도우 연산자의 입력과 출력을 보여주는 예시 도면이다.
도 4는 본 발명의 일 실시예에 따른 집계(AGGREGATE) 연산자의 변환을 보여주는 예시 도면이다.
도 5는 본 발명의 일 실시예에 따른 정렬(Sort) 연산자의 변환을 보여주는 예시 도면이다.
도 6은 본 발명의 일 실시예에 따른 각 연산자의 변환의 요약을 나타내는 표이다.
도 7은 본 발명의 일 실시예에 따른 데이터 플로우 그래프(Data-Flow Graph) 생성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 최적화 기법을 데이터 플로우 그래프(Data-Flow Graph)에 적용한 경우의 예를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 따른 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 장치의 블록도이다.
100: 쿼리 플래너
300: 전달부
500: 관계형 질의 변환부
700: DFG 생성부
Claims (14)
- 데이터베이스 시스템에 입력되는 스트림 데이터에 대한 관계형 질의 언어(Relational Query Language)를 분석하여, 스트림 처리와 관련이 없는 구문을 제외한 다수의 연산자를 포함하는 관계형 질의 계획을 생성하는 단계 - 상기 다수의 연산자는 블로킹 연산자 및 논블로킹 연산자로 분류되며, 상기 블로킹 연산자는 윈도우(WINDOW) 연산자, 조인(JOIN) 연산자, 집합 연산자, 중복 제거(Duplicate-elimination) 연산자, 집계(AGGREGATE) 연산자, 및 정렬(Sort) 연산자 중 하나 이상을 포함함;
시간 범위 데이터를 포함하는 윈도우(WINDOW) 연산자가 입력 스트림의 후속에 추가되어 스트림 데이터의 변화를 상기 다수의 연산자들의 후속 연산자로 전달하는 단계;
상기 관계형 질의 계획이 포함하는 다수의 연산자를 분산시켜 PE(Processing Element)에서 처리할 수 있는 형태로 변환하는 단계; 및
변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계를 포함하되,
상기 관계형 질의 계획이 포함하는 다수의 연산자에 기초하여 PE(Processing Element)에서 처리할 수 있는 형태로 변환하는 단계는,
블로킹(blocking) 연산자인 경우, 각 연산자에 대해 미리 정해진 파티셔닝 방법으로 상기 다수의 연산자를 분산시켜 각 연산자에 대해 미리 정해진 결합 연산자를 적용하는 단계를 포함하며,
조인(JOIN) 연산자인 경우, 해시 기반 파티셔닝 방법으로 분산하고, UNION ALL 을 결합 연산자로 사용하여 PE(Processing Element)에서 처리할 수 있는 형태로 변환하고,
집합 연산자인 경우, 해시 기반 파티셔닝 방법으로 분산하고, UNION ALL 을 결합 연산자로 사용하여 PE(Processing Element)에서 처리할 수 있는 형태로 변환하고,
중복 제거(Duplicate-elimination) 연산자인 경우, 해시 기반 파티셔닝 방법으로 분산하고, UNION ALL 을 결합 연산자로 사용하여 PE(Processing Element)에서 처리할 수 있는 형태로 변환하고
집계(AGGREGATE) 연산자인 경우, 해시 기반 파티셔닝 방법으로 분산하고, GROUP BY 구문이 있는 경우 UNION ALL 을 결합 연산자로 사용하고 GROUP BY 구문이 없는 경우 SUM을 결합 연산자로 사용하여 PE(Processing Element)에서 처리할 수 있는 형태로 변환하고,
정렬(Sort) 연산자인 경우, 랜덤 파티셔닝 방법으로 분산하고, 병합 정렬(merge sort)을 결합 연산자로 사용하여 PE(Processing Element)에서 처리할 수 있는 형태로 변환하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 삭제
- 제1항에 있어서,
윈도우(WINDOW) 연산자인 경우, 랜덤 파티셔닝 방법으로 분산하고, 상기 윈도우(WINDOW) 연산자가 포함하는 시간 범위 데이터의 변화에 따라 + 기호 및 - 기호 중 하나의 기호를 추가하여 출력하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제3항에 있어서,
상기 윈도우(WINDOW) 연산자가 포함하는 시간 범위 데이터는, 윈도우(WINDOW) 연산자의 길이를 나타내는 RANGE 파라미터 및 윈도우(WINDOW) 연산자의 갱신 주기를 나타내는 SLIDE 파라미터 중 적어도 하나를 포함하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 삭제
- 제1항에 있어서,
상기 관계형 질의 계획이 포함하는 다수의 연산자를 분산시켜 PE(Processing Element)에서 처리할 수 있는 형태로 변환하는 단계는,
논블로킹(non-blocking) 연산자인 경우, 분할하여 처리한 결과를 UNION 연산자로 합치고, 상기 논블로킹(non-blocking) 연산자는 SELECT, PROJECT, COMPUTE 중 하나의 연산자인, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항에 있어서, 상기 변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계는,
윈도우(WINDOW) 연산자가 논블로킹 연산자와 직접 연결된 경우, 두 연산자의 순서를 바꾸는 단계를 포함하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항에 있어서, 상기 변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계는,
랜덤 파티셔닝 방법을 해시 기반 파티셔닝 방법으로 변환하는 단계를 포함하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항에 있어서, 상기 변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계는,
동일한 파티셔닝 방법으로 연결되어 있는 다수의 연산자를 동일한 PE에서 실행하도록 상기 데이터 플로우 그래프를 최적화하는 단계를 포함하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항에 있어서, 상기 변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계는,
셀렉트(SELECT) 연산자를 상기 데이터 플로우 그래프의 최대한 선행 부분에서 처리하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항에 있어서, 상기 변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계는,
해시 기반 파티셔닝 방법보다 우선적으로 랜덤 파티셔닝 방법을 적용하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항에 있어서, 상기 변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 단계는,
블로킹 연산자를 상기 데이터 플로우 그래프의 최대한 후위에서 처리하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법.
- 제1항, 제3항, 제4항 및 제6항 내지 제12항 중 어느 하나의 항에 따른 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
- 데이터베이스 시스템에 입력되는 스트림 데이터에 대한 관계형 질의 언어(Relational Query Language)를 분석하여, 스트림 처리와 관련이 없는 구문을 제외한 다수의 연산자를 포함하는 관계형 질의 계획을 생성하는 쿼리 플래너(query planner);
시간 범위 데이터를 포함하는 윈도우(WINDOW) 연산자를 상기 다수의 연산자 간에 후속 연산자로 전달하는 전달부;
상기 관계형 질의 계획이 포함하는 다수의 연산자를 분산시켜 PE(Processing Element)에서 처리할 수 있는 형태로 변환하는 관계형 질의 변환부; 및
변환된 연산자를 연결하여 분산 스트림 처리 엔진에서 실행할 수 있는 데이터 플로우 그래프(Data-Flow Graph)를 생성하는 DFG 생성부를 포함하는, 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160182576A KR101955376B1 (ko) | 2016-12-29 | 2016-12-29 | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160182576A KR101955376B1 (ko) | 2016-12-29 | 2016-12-29 | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180077830A KR20180077830A (ko) | 2018-07-09 |
KR101955376B1 true KR101955376B1 (ko) | 2019-03-08 |
Family
ID=62919053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160182576A Active KR101955376B1 (ko) | 2016-12-29 | 2016-12-29 | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101955376B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11409746B2 (en) | 2019-11-18 | 2022-08-09 | Daegu Gyeongbuk Institute Of Science And Technology | Method and apparatus for processing query using N-ary join operators |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026749B (zh) * | 2019-11-11 | 2023-06-30 | 支付宝(杭州)信息技术有限公司 | 业务告警方法及装置 |
CN113806429B (zh) * | 2020-06-11 | 2024-10-11 | 深信服科技股份有限公司 | 基于大数据流处理框架的画布式日志分析方法 |
US11775529B2 (en) | 2020-07-06 | 2023-10-03 | Ocient Holdings LLC | Recursive functionality in relational database systems |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101525529B1 (ko) | 2014-09-30 | 2015-06-05 | 주식회사 비트나인 | 데이터 처리장치 및 그 데이터 매핑방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100789771B1 (ko) | 2005-12-08 | 2007-12-28 | 한국전자통신연구원 | 트리거를 이용한 입력 데이터 스트림과 저장 데이터의 통합질의 처리 시스템 및 그 방법 |
KR101014492B1 (ko) | 2009-03-26 | 2011-02-14 | 박재홍 | 관계형 데이터 모델 기반 스트리밍 데이터 처리를 위한 연속질의 언어 기반 연속질의 처리기 및 방법 |
-
2016
- 2016-12-29 KR KR1020160182576A patent/KR101955376B1/ko active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101525529B1 (ko) | 2014-09-30 | 2015-06-05 | 주식회사 비트나인 | 데이터 처리장치 및 그 데이터 매핑방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11409746B2 (en) | 2019-11-18 | 2022-08-09 | Daegu Gyeongbuk Institute Of Science And Technology | Method and apparatus for processing query using N-ary join operators |
Also Published As
Publication number | Publication date |
---|---|
KR20180077830A (ko) | 2018-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402995B (zh) | 一种分布式newSQL数据库系统及方法 | |
US10642831B2 (en) | Static data caching for queries with a clause that requires multiple iterations to execute | |
CN106934014B (zh) | 一种基于Hadoop的网络数据挖掘与分析平台及其方法 | |
CN103020204B (zh) | 一种对分布式顺序表进行多维区间查询的方法及其系统 | |
Bao et al. | Managing massive trajectories on the cloud | |
JP6964384B2 (ja) | 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム | |
JP2017157229A (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
Xiao et al. | SWEclat: a frequent itemset mining algorithm over streaming data using Spark Streaming | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
CN104111958B (zh) | 一种数据查询方法及装置 | |
US20150006509A1 (en) | Incremental maintenance of range-partitioned statistics for query optimization | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN105164673A (zh) | 跨数据库和文件系统的查询一体化 | |
CN107784030A (zh) | 一种处理连接查询的方法及装置 | |
US11675769B2 (en) | On-demand, dynamic and optimized indexing in natural language processing | |
CN106897374A (zh) | 一种基于轨迹大数据最近邻查询的个性化推荐方法 | |
CN107330098A (zh) | 一种自定义报表的查询方法、计算节点及查询系统 | |
CN106570145A (zh) | 一种基于分层映射的分布式数据库结果缓存方法 | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
WO2024239782A1 (zh) | 查询计划构建方法、装置、电子设备和存储介质 | |
Abdel Azez et al. | Optimizing join in HIVE star schema using key/facts indexing | |
Theeten et al. | Chive: Bandwidth optimized continuous querying in distributed clouds | |
US9229969B2 (en) | Management of searches in a database system | |
US20150293971A1 (en) | Distributed queries over geometric objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20161229 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20180720 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190114 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190228 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190304 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20220114 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20221229 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20240125 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20250124 Start annual number: 7 End annual number: 7 |