1 |
1
PPO(Proximal Policy Optimization) 모델을 학습시키기 위한 데이터 셋과 쿼리 셋(Dataset/QuerySet)을 로드하는 하둡 분산 파일 시스템(HDFS);상기 하둡 분산 파일 시스템에서 리드한 쿼리를 입력받아 내부의 PPO 모델에 의해 특정 조인 순서를 가진 쿼리 플랜을 생성하는 PPO 기반 최적화부; 및상기 HDFS에서 데이터 셋을 테이블로 읽어 상기 쿼리 플랜을 Spark SQL에 의해 실행 시간을 도출하는 Spark SQL부;를 포함하되,상기 PPO 기반 최적화부는, 상기 쿼리 플랜의 실행 시간을 보상(reward)으로 사용하여 상기 PPO 모델을 학습하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 장치
|
2 |
2
제 1항에 있어서, 상기 PPO 기반 최적화부는,모델 학습이 시작되면, 쿼리(Query)를 상기 하둡 분산 파일 시스템에서 읽어와 PPO 모델의 입력으로 사용하기 위해 쿼리를 파싱하고, 파싱된 정보를 기반으로 강화학습 환경(Environment)의 상태(State)와 행동(Action)을 초기화(Initialize)하는 초기화 작업을 수행하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 장치
|
3 |
3
제 2항에 있어서, 상기 PPO 기반 최적화부는,쿼리의 정보를, 릴레이션 상태, 조인 술어 상태, 및 셀렉션 상태인 3가지 상태(State)로 표현하고, 쿼리의 정보에 따라, 조인이 가능한 임의의 두 릴레이션을 조인하는 형식을 가진 행동에 해당하는 행동(action)의 기본 형식을 설정하고, 상기 3가지 상태와 행동 형식을 PPO 모델의 입력으로 사용하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 장치
|
4 |
4
제 1항에 있어서, 상기 PPO 모델은,입력된 상태를 기반으로 하여 가능한 행동들의 후보를 도출하고 행동을 선택하며, 환경에서는 선택된 행동을 기반으로 기존의 상태를 새로운 상태로 업데이트하고, 행동에 대한 보상을 에이전트에게 전달하되, 이 때 최종 조인 순서가 도출되지 않았으면 항상 0값으로 전달되며, 최종적으로 조인 순서가 도출되면 PPO 기반 최적화부와 Spark SQL에 의해 최종 조인 순서에 대한 보상이 결정되고,상기 에이전트는 새로운 상태를 기반으로 하여 행동을 선택하는 과정을 계속해서 반복하며, 더 이상 선택할 행동이 없이, 조인 대상 릴레이션의 수가 1이 되는 종료 상태가 될 때까지 이 과정을 반복하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 장치
|
5 |
5
제 1항에 있어서, 상기 PPO 기반 최적화부는,상기 PPO 모델이 종료 상태가 된 경우 도출된 조인 순서를 기반으로 Spark SQL이 인식할 수 있는 형태의 쿼리 플랜을 생성하여 Spark SQL부에 전달하며,상기 Spark SQL부는 HDFS에 저장된 데이터 셋을 테이블로 읽어 이를 기반으로 상기 쿼리 플랜을 Spark SQL에서 실행하여 실제 실행 시간을 도출하여 이를 다시 상기 PPO 기반 최적화부에 전달하며,상기 PPO 기반 최적화부에 지정된 보상 함수에 의해 보상으로 변환되어, 상기 PPO 모델을 학습하는데 사용하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 장치
|
6 |
6
제 1항에 있어서, 상기 PPO 기반 최적화부는,도출한 쿼리 플랜의 실행 시간을, 실행 시간(Timen)에 역수를 취하고, 실행 시간이 많이 소요되는 플랜에 대해 임계 시간(k)을 정하여, 임계 시간을 초과할 경우 보상을 -1로 부여하여 이를 기준으로 실행 시간을 보상(Reward)으로 변환하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 장치
|
7 |
7
하둡 분산 파일 시스템(HDFS)이 PPO(Proximal Policy Optimization) 모델을 학습시키기 위한 데이터 셋과 쿼리 셋(Dataset/QuerySet)을 로드하는 단계; PPO 기반 최적화부가 상기 하둡 분산 파일 시스템에서 리드한 쿼리를 입력받아 내부의 PPO 모델에 의해 특정 조인 순서를 가진 쿼리 플랜을 생성하는 단계;Spark SQL부가 HDFS에서 데이터 셋을 테이블로 읽어 상기 쿼리 플랜을 Spark SQL에 의해 실행하여 실행 시간을 도출하는 단계; 및상기 PPO 기반 최적화부가 실행 시간을 보상(reward)으로 사용하여 상기 PPO 모델을 학습하는 단계;를 포함하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 방법
|
8 |
8
제 7항에 있어서, 상기 모델 학습이 시작되면, 상기 PPO 기반 최적화부는,쿼리(Query)를 상기 하둡 분산 파일 시스템에서 읽어와 PPO 모델의 입력으로 사용하기 위해 쿼리를 파싱하고, 파싱된 정보를 기반으로 강화학습 환경(Environment)의 상태(State)와 행동(Action)을 초기화(Initialize)하는 초기화 작업을 수행하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 방법
|
9 |
9
제 8항에 있어서, 상기 PPO 기반 최적화부는,쿼리의 정보를, 릴레이션 상태, 조인 술어 상태, 및 셀렉션 상태인 3가지 상태(State)로 표현하고, 쿼리의 정보에 따라, 조인이 가능한 임의의 두 릴레이션을 조인하는 형식을 가진 행동에 해당하는 행동(action)의 기본 형식을 설정하고, 상기 3가지 상태와 행동 형식을 PPO 모델의 입력으로 사용하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 방법
|
10 |
10
제 7항에 있어서, 상기 PPO 모델은,입력된 상태를 기반으로 하여 가능한 행동들의 후보를 도출하고 행동을 선택하며, 선택된 행동을 기반으로 기존의 상태를 새로운 상태로 업데이트하고, 행동에 대한 보상을 에이전트에게 전달하되, 이 때 최종 조인 순서가 도출되지 않았으면 항상 0값으로 전달되며, 최종적으로 조인 순서가 도출되면 PPO 기반 최적화부와 Spark SQL에 의해 최종 조인 순서에 대한 보상이 결정되고,상기 에이전트는 새로운 상태를 기반으로 하여 행동을 선택하는 과정을 계속해서 반복하며, 더 이상 선택할 행동이 없이, 조인 대상 릴레이션의 수가 1이 되는 종료 상태가 될 때까지 이 과정을 반복하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 방법
|
11 |
11
제 7항에 있어서, 상기 PPO 모델이 종료 상태가 된 경우,상기 PPO 기반 최적화부는, 도출된 조인 순서를 기반으로 Spark SQL이 인식할 수 있는 형태의 쿼리 플랜을 생성하여 Spark SQL부에 전달하며,상기 Spark SQL부는 HDFS에 저장된 데이터 셋을 테이블로 읽어 이를 기반으로 상기 쿼리 플랜을 Spark SQL에서 실행하여 실제 실행 시간을 도출하여 이를 다시 상기 PPO 기반 최적화부에 전달하며,상기 PPO 기반 최적부에 지정된 보상 함수에 의해 보상으로 변환되어, 상기 PPO 모델을 학습하는데 사용하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 방법
|
12 |
12
제 7항에 있어서, 상기 PPO 기반 최적화부는,도출한 쿼리 플랜의 실행 시간을, 실행 시간(Timen)에 역수를 취하고, 실행 시간이 많이 소요되는 플랜에 대해 임계 시간(k)을 정하여, 임계 시간을 초과할 경우 보상을 -1로 부여하여 이를 기준으로 실행 시간을 보상(Reward)으로 변환하는 것을 특징으로 하는 PPO 모델 기반 SPARK SQL 조인 최적화 방법
|