KR101599718B1 - 데이터베이스 성능 관리 방법 및 장치 - Google Patents
데이터베이스 성능 관리 방법 및 장치 Download PDFInfo
- Publication number
- KR101599718B1 KR101599718B1 KR1020150028255A KR20150028255A KR101599718B1 KR 101599718 B1 KR101599718 B1 KR 101599718B1 KR 1020150028255 A KR1020150028255 A KR 1020150028255A KR 20150028255 A KR20150028255 A KR 20150028255A KR 101599718 B1 KR101599718 B1 KR 101599718B1
- Authority
- KR
- South Korea
- Prior art keywords
- time
- database
- target
- prediction model
- space
- Prior art date
Links
Images
Classifications
-
- G06F17/30289—
-
- 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/21—Design, administration or maintenance of 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/25—Integrating or interfacing systems involving database management systems
-
- G06F17/30557—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
Abstract
본 발명의 일 실시예에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 테이블 재정렬(Table Reorg)를 수행할 필요성이 있을 것으로 예측되는 대상 테이블을 선정하는 단계; 상기 대상 테이블의 재정렬(Reorg)이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및 상기 예측 모델을 이용하여 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계를 포함할 수 있다.
Description
본 발명은 데이터베이스 성능 관리 방법 및 장치에 관한 것이다. 보다 자세하게는, 데이터베이스의 성능을 예측하여 데이터베이스 성능을 관리하는 데이터베이스 성능 관리 방법 및 장치에 관한 것이다.
저장 및 처리하는 데이터의 양이 방대해짐에 따라서 데이터베이스를 이용하는 기업이나 사용자가 증가하고 있다.
이러한 데이터베이스의 성능을 관리하는 기존 기술로는 데이터베이스에 장애가 발생한 경우 빠르게 대응할 수 있는 기능을 지원하거나 단순히 데이터베이스의 성능 상태를 실시간 모니터링 하는 것에 불과하였다.
본 발명이 해결하고자 하는 기술적 과제는 미래 시점에서 발생할 가능성이 높은 성능 및 장애 위험 요소를 사전에 대비할 수 있는 데이터베이스 성능 관리 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명이 해결하고자 하는 다른 기술적 과제는 미래 시점에서 발생할 가능성이 높은 성능 및 장애 위험 요소의 예측 정확도를 향상시킬 수 있도록 예측 모델을 생성하는 데이터베이스 성능 관리 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 제1 태양(Aspect)에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 테이블 재정렬(Table Reorg)를 수행할 필요성이 있을 것으로 예측되는 대상 테이블을 선정하는 단계; 상기 대상 테이블의 재정렬(Reorg)이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및 상기 예측 모델을 이용하여 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 데이터베이스 성능 관리 방법은, 상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 대상 테이블을 선정하는 단계는, 상기 수집된 데이터베이스의 성능 관련 정보를 이용하여 상기 데이터베이스에 포함되는 테이블마다 할당 공간 대비 데이터 저장 공간의 비율을 산출하는 단계; 상기 데이터베이스에 포함되는 테이블 중에서 상기 산출된 데이터 저장 공간의 비율이 제1 기 설정된 저장 공간 비율 이상이고 할당 공간이 기 설정된 용량 이상을 차지하는 테이블을 1차적으로 선정하는 단계; 및 상기 1차적으로 선정하는 단계에서 선정된 테이블 중에서 상기 데이터 저장 공간의 비율이 제2 기 설정된 저장 공간 비율 이하인 테이블을 상기 대상 테이블로 선정하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 예측 모델을 생성하는 단계는, 상기 대상 테이블의 데이터 저장 공간의 비율에 관한 정보 및 선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 시점을 예측하는 단계는, 상기 선형회귀분석의 결정계수(Coefficient of Determination)의 값이 기 설정된 값 이상인 경우에만 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 선형회귀분석의 결정계수(Coefficient of Determination)의 값이 기 설정된 값 미만인 경우, 상기 예측 모델을 생성하는 단계는, 상기 대상 테이블의 데이터 저장 공간의 비율에 관한 정보 및 적어도 하나의 비선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 시점을 예측하는 단계는, 상기 예측 모델을 이용하여 기 설정된 테이블 재정렬 필요 기준에 부합하는 시점을 산출하는 단계; 및 상기 산출된 시점을 상기 대상 테이블의 재정렬이 수행되어야 할 시점으로 예측하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제2 태양(Aspect)에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 단계; 상기 대상 테이블의 재정렬(Reorg)이 수행되어야 할 시점을 예측하기 위하여 기 설정된 예측 모델을 이용하여 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계; 및 상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제3 태양(Aspect)에 따른 데이터베이스 성능 관리 장치는, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 테이블 재정렬(Table Reorg)를 수행할 필요성이 있을 것으로 예측되는 대상 테이블을 선정하는 대상 객체 선정부; 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 예측 모델 생성부; 및 상기 예측 모델을 이용하여 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 시점 예측부를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제4 태양(Aspect)에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 단계; 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및 상기 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 수집된 데이터베이스의 성능 관련 정보에는 각 테이블 스페이스에 할당된 데이터 파일 별 디스크 응답 속도에 관한 정보가 포함되며, 상기 대상 테이블 스페이스를 선정하는 단계는, 상기 데이터 파일 별 디스크 응답 속도에 관한 정보를 이용하여 테이블 스페이스 별 디스크 응답 속도의 평균값을 산출하는 단계; 및 상기 데이터베이스에 포함되는 테이블 스페이스 중에서 상기 산출된 디스크 응답 속도의 평균값이 제1 기 설정된 응답 속도 이하이면서, 제2 기 설정된 응답 속도 이상인 경우 상기 대상 테이블 스페이스로 선정하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 예측 모델을 생성하는 단계는, 상기 산출된 디스크 응답 속도 및 선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제5 태양(Aspect)에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 단계; 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 단계; 및 상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제6 태양(Aspect)에 따른 데이터베이스 성능 관리 장치는, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 대상 객체 선정부; 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 예측 모델 생성부; 및 상기 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 시점 예측부를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제7 태양(Aspect)에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 단계; 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및 상기 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 대상 메모리 영역을 선정하는 단계는, 상기 수집된 데이터베이스의 성능 관련 정보를 이용하여 상기 각 메모리 공간 별로 평균 메모리 적중률(Hit Ratio)을 산출하는 단계; 및 상기 산출된 평균 메모리 적중률이 제1 기 설정된 적중률 이상이면서 제2 기 설정된 적중률 이하인 메모리 공간을 상기 대상 메모리 공간으로 선정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 예측 모델을 생성하는 단계는, 상기 산출된 평균 메모리 적중률 및 선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제8 태양(Aspect)에 따른 데이터베이스 성능 관리 방법은, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 단계; 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 단계; 및 상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제9 태양(Aspect)에 따른 데이터베이스 성능 관리 장치는, 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 대상 객체 선정부; 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 예측 모델 생성부; 및 상기 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 시점 예측부를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제10 태양(Aspect)에 따른 컴퓨터 프로그램은 하드웨어와 결합되며, 데이터베이스 성능 관리 방법을 수행하기 위하여 매체에 저장될 수 있다.
상기와 같은 본 발명에 따르면, 미래 시점에서 발생할 가능성이 높은 성능 및 장애 위험 요소를 사전에 대비할 수 있는 효과가 있다.
구체적으로 예를 들면, 본 발명은 데이터베이스의 성능 관련 정보를 이용하여 테이블 재정렬(Reorg), 디스크 재배치 및/또는 메모리 크기 조정 등이 필요한 시점을 미리 예측하여 대비할 수 있는 효과가 있다.
또한, 본 발명에 따르면, 고정된 예측 모델을 사용하는 것이 아니라 시점을 예측할 때 예측 모델을 생성하거나 변경하여 테이블 재정렬(Reorg), 디스크 재배치 및/또는 메모리 크기 조정 등이 필요한 시점을 보다 정확하게 예측할 수 있다.
또한, 본 발명을 이용하면 데이터베이스의 성능 지연 위험 요소를 사전에 차단할 수 있으며, 성능 지연을 방지하기 위한 작업 수행도 여유와 계획을 가지고 수행할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치가 적용되는 시스템에 관한 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치에 관한 블록도이다.
도 3은 대상 객체 선정부에 관한 일 예를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치의 하드웨어 구성의 일 예를 나타내는 도면이다.
도 5는 본 발명의 다른 실시예에 따른 데이터베이스 성능 관리 방법의 순서도를 나타내는 도면이다.
도 6은 S200 단계에 관한 구체적인 예를 나타내는 도면이다.
도 7은 S210 단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 8은 S220 단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 9는 S230단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 10은 컴퓨팅 장치가 예측 모델을 생성하는 일 예를 나타내는 순서도이다.
도 11 내지 13은 예측 모델 생성에 이용되는 정보를 나타내는 도면이다.
도 14는 예측된 시점이 남아 있는 정도에 따라서 사용자에게 제공하는 정보가 상이할 수 있는 예를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치에 관한 블록도이다.
도 3은 대상 객체 선정부에 관한 일 예를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치의 하드웨어 구성의 일 예를 나타내는 도면이다.
도 5는 본 발명의 다른 실시예에 따른 데이터베이스 성능 관리 방법의 순서도를 나타내는 도면이다.
도 6은 S200 단계에 관한 구체적인 예를 나타내는 도면이다.
도 7은 S210 단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 8은 S220 단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 9는 S230단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 10은 컴퓨팅 장치가 예측 모델을 생성하는 일 예를 나타내는 순서도이다.
도 11 내지 13은 예측 모델 생성에 이용되는 정보를 나타내는 도면이다.
도 14는 예측된 시점이 남아 있는 정도에 따라서 사용자에게 제공하는 정보가 상이할 수 있는 예를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함될 수 있다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
도 1은 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치가 적용되는 시스템에 관한 도면이다.
도 1을 참조하면, 데이터베이스 성능 관리 장치(1000)는 데이터베이스(2000)로부터 데이터베이스(2000)의 성능 관련 정보를 수신한다.
데이터베이스(2000)의 성능 관련 정보는 AWR(Automatic Workload Repository)과 같이 데이터베이스(2000)의 성능 정보에 대한 저장소의 정보를 이용할 수 있다. 예를 들면, 데이터베이스(2000)의 성능과 관련된 다양한 데이터를 스냅샷의 형태로 AWR에 저장될 수 있다.
데이터베이스 성능 관리 장치(1000)는 데이터베이스(2000)로부터 성능 관련 정보를 직접 수집할 수도 있으며, AWR에 저장된 정보를 획득할 수도 있다.
구체적으로 예를 들면, 데이터베이스(2000)의 성능 관련 정보는 테이블 별 개체 할당 공간, 사용 공간, 테이블 스페이스 별 데이터 파일들의 평균 응답 속도, 메모리 적중률에 관한 정보 등이 포함될 수 있다. 이러한 데이터베이스(2000)의 성능 관련 정보에 포함된 정보의 예에 관해서는 도 7 내지 12를 참조하여 보다 자세하게 이해할 수 있다.
데이터베이스 성능 관리 장치(1000)는 데이터베이스(2000)의 성능 관련 정보는 분, 시간 등의 단위로 수집하거나 일자 별 단위로 수집할 수도 있다.
데이터베이스 성능 관리 장치(1000)는 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 미래 시점에서 일어날 수 있는 데이터베이스(2000) 성능 저하 문제 및 시점을 예측한다.
데이터베이스 성능 관리 장치(1000)는 소정의 기간 이상 동안 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 미래 시점에서 일어날 수 있는 데이터베이스(2000) 성능 저하 문제 및 시점을 예측할 수 있다. 소정의 기간 이상 동안 수집된 데이터베이스(2000)의 성능 관련 정보는 수집된 기간을 의미하는 것보다는 소정의 기간 이상 동안 데이터베이스(2000)의 성능과 관련된 정보를 의미한다.
예측에 이용되는 데이터의 양이 많고 수집된 기간이 길수록 데이터베이스 성능 관리 장치(1000)의 예측은 정확도가 향상될 수 있다. 일정 수준의 정확도를 유지하기 위해서 최소한 소정의 기간 이상 동안은 데이터베이스(2000)의 성능 관련 정보가 수집되어 있어야 한다. 소정의 기간은 예를 들면 2주 정도일 수 있다.
데이터베이스 성능 관리 장치(1000)는 미래 시점에서 일어날 수 있는 데이터베이스(2000) 성능 저하 문제 및 시점에 관하여 예측한 정보를 사용자에게 제공할 수 있다.
데이터베이스 성능 관리 장치(1000)에 관한 보다 자세한 설명은 도 2를 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치(1000)에 관한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치(1000)는 성능 정보 수집부(1100), 대상 객체 선정부(1200), 예측 모델 생성부(1300), 예측 모델 저장부(1400), 시점 예측부(1500) 및 예측 정보 제공부(1600)를 포함할 수 있다.
성능 정보 수집부(1100)는 데이터베이스(2000)로부터 성능 관련 정보를 수집할 수 있다. 또는 성능 정보 수집부(1100)는 데이터베이스(2000)의 성능 관련 정보를 수집한 AWR로부터 성능 관련 정보를 획득할 수도 있다.
대상 객체 선정부(1200)는 구체적으로 성능을 예측하고자 하는 대상 객체를 선정할 수 있다. 데이터베이스(2000)의 모든 테이블 등 모든 객체에 대하여 성능을 예측할 경우 시간 소모가 크며, 효율성이 낮아지므로 대상 객체를 선정하는 과정이 필요하다.
본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치(1000)의 대상 객체 선정부(1200)는 현재 시점 이후로부터 기 설정된 기간 내에 테이블 재정렬, 디스크 재배치 및/또는 메모리 크기 조정 등의 작업이 필요한 객체를 대상 객체로 선정할 수 있다.
도 3은 대상 객체 선정부(1200)에 관한 일 예를 나타내는 도면이다.
도 3을 참조하면, 대상 객체 선정부(1200)는 대상 테이블 선정부(1210), 대상 테이블 스페이스 선정부(1220) 및 대상 메모리 영역 선정부(1230) 중 적어도 어느 하나를 포함할 수 있다.
데이터베이스 성능 관리 장치(1000)는 테이블 재정렬(Reorg), 디스크 재배치 및/또는 메모리 크기 조정이 필요한 시점을 예측할 수 있다. 이러한 경우, 대상 객체 선정부(1200)는 테이블 재정렬이 필요한 테이블, 디스크 재배치가 필요한 테이블 스페이스 및/또는 메모리 크기 조정이 필요한 메모리 영역을 대상 객체로 선정할 수 있다.
대상 테이블 선정부(1210)는 데이터베이스(2000)의 성능 관련 정보를 이용하여 테이블 재정렬을 수행할 필요성이 있을 것으로 예측되는 대상 테이블을 대상 객체로 선정할 수 있다.
구체적으로 대상 테이블 선정부(1210)는 현재 즉시 테이블 재정렬을 수행해야 할 필요성이 있는 테이블이 아니라, 미래의 어느 시점에 테이블 재정렬을 수행할 필요성이 있을 것으로 예측되는 테이블을 대상 객체로 선정할 수 있다.
대상 테이블 선정에 관한 보다 구체적인 내용은 도 7을 참조하여 설명한다.
대상 테이블 스페이스 선정부(1220)는 데이터베이스(2000)의 성능 관련 정보를 이용하여 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 대상 객체로 선정할 수 있다.
구체적으로 대상 테이블 선정부(1210)는 현재 즉시 디스크 재배치를 수행해야 할 필요성이 있는 테이블 스페이스가 아니라, 미래의 어느 시점에 디스크 재배치를 수행해야 할 것으로 예측되는 테이블 스페이스를 대상 객체로 선정할 수 있다.
대상 테이블 스페이스에 관한 보다 구체적인 내용은 도 8을 참조하여 설명한다.
대상 메모리 영역 선정부(1230)는 데이터베이스(2000)의 성능 관련 정보를 이용하여 메모리 크기 조정을 수행할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 대상 객체로 선정할 수 있다.
구체적으로 대상 메모리 영역 선정부(1230)는 현재 즉시 메모리 크기 조정을 수행해야 할 필요성이 있는 메모리 영역이 아니라, 미래의 어느 시점에 메모리 크기 조정을 수행해야 할 것으로 예측되는 메모리 영역을 대상 객체로 선정할 수 있다.
대상 메모리 영역 선정부(1230)에 관한 보다 구체적인 내용은 도 9를 참조하여 설명한다.
다시 도 2를 참조하면, 예측 모델 생성부(1300)는 성능 정보 수집부(1100)에 의하여 수집된 데이터베이스(2000)의 성능에 관한 정보 중 선정된 대상 객체에 관한 성능 정보를 이용하여 테이블 재정렬(Reorg), 디스크 재배치 및/또는 메모리 크기 조정 등의 성능 유지/향상을 위한 작업을 수행할 필요성이 있는 시점을 예측하기 위한 예측 모델을 생성할 수 있다.
예측 모델 생성부(1300)는 선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다. 또한, 예측 모델 생성부(1300)는 예측 모델의 정확도 향상을 위하여 비선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다.
예측 모델 생성에 관한 보다 구체적인 내용은 도 10 내지 13을 참조하여 설명한다.
예측 모델 생성부(1300)는 기 설정된 예측 모델 또는 이전에 생성된 예측 모델을 이용하여 작업을 수행할 필요성이 있는 시점을 예측할 수 있다.
기 설정된 예측 모델 또는 이전에 생성된 예측 모델은 예측 모델 저장부(1400)에 저장될 수 있다.
또는, 예측 모델 생성부(1300)는 대상 객체에 대한 특정한 작업 수행 시점을 예측하기 위한 예측 모델을 예측을 수행할 때마다 생성할 수 있다. 또는, 예측 모델 생성부(1300)는 대상 객체에 대한 특정한 작업 수행 시점을 예측하기 위한 예측 모델을 주기적으로 생성할 수도 있다. 여기서 주기는 시간 단위일 수도 있으나, 예측을 수행하는 횟수 단위일 수도 있다.
시점 예측부(1500)는 생성 또는 저장된 예측 모델을 이용하여 데이터베이스(2000)의 성능 유지/향상을 위하여 대상 객체에 필요한 작업의 종류와 시점을 예측할 수 있다.
구체적으로 예를 들면, 시점 예측부(1500)는 대상 테이블에 테이블 재정렬이 필요한 시점을 예측할 수 있다. 또는, 시점 예측부(1500)는 대상 테이블 스페이스에 디스크 재배치가 필요한 시점을 예측할 수 있다. 또는, 시점 예측부(1500)는 대상 메모리 영역에 메모리 크기 조정이 필요한 시점을 예측할 수 있다.
예측 정보 제공부(1600)는 시점 예측부(1500)에서 예측된 시점에 관한 정보를 사용자에게 제공할 수 있다.
예를 들면, 예측 정보 제공부(1600)는 디스플레이 장치를 통하여 시각적으로 상기 예측된 시점에 관한 정보를 사용자에게 제공할 수 있다. 상기 디스플레이 장치는 사용자의 단말에 포함된 장치일 수 있다.
사용자 단말(3000)은 데스크탑 컴퓨터, 워크스테이션, PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 텔레비전, 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크(telematics network)를 구성하는 다양한 전자 장치들 중 하나, 스마트 카드, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공될 수 있다.
예측 정보 제공부(1600)는 예측된 시점에 관한 정보를 시각적으로 제공함과 동시에 소리 및/또는 진동으로 예측 정보가 존재함을 사용자에게 알려줄 수 있다.
예측 정보 제공부(1600)는 예측된 시점이 남아있는 정도에 따라서 제공하는 정보가 상이할 수 있다. 이에 관한 보다 구체적인 설명은 도 14를 참조하여 설명한다.
도 4는 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치(1000)의 하드웨어 구성의 일 예를 나타내는 도면이다.
본 실시예에 따른 데이터베이스 성능 관리 장치(1000)는 도 4의 구성을 가질 수 있다.
도 4에 도시된 바와 같이, 데이터베이스 성능 관리 장치(1000)는 데이터베이스 성능 관리 프로세서(10), 스토리지(20), 메모리(30) 및 네트워크 인터페이스(40)를 포함할 수 있다.
또한, 데이터베이스 성능 관리 장치(1000)는 데이터베이스 성능 관리 프로세서(10) 및 메모리(30)와 연결되어 데이터 이동 통로가 되는 시스템 버스(50)를 포함할 수 있다.
네트워크 인터페이스(40)에는 다른 컴퓨팅 장치가 연결 될 수 있다. 예를 들면, 네트워크 인터페이스(40)에 연결되는 다른 컴퓨팅 장치는 디스플레이 장치, 사용자 단말(3000) 등이 될 수 있다.
네트워크 인터페이스(40)는 이더넷, FireWire, USB 등이 될 수 있다.
스토리지(20)는 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자, 하드 디스크 등으로 구현될 수 있으나 이에 한정되지는 않는다.
스토리지(20)는 데이터베이스 성능 관리용 컴퓨터 프로그램(21)의 데이터를 저장한다. 데이터베이스 성능 관리용 컴퓨터 프로그램(21)의 데이터는 바이너리 실행 파일 및 기타 리소스 파일을 포함할 수 있다.
또한, 스토리지(20)는 수집된 데이터베이스(2000) 성능 관련 정보(21)도 저장할 수 있다.
메모리(30)는 데이터베이스 성능 관리용 컴퓨터 프로그램(21)를 로딩한다. 데이터베이스 성능 관리용 컴퓨터 프로그램(21)은 데이터베이스 성능 관리 프로세서(10)에 제공 되고, 데이터베이스 성능 관리 프로세서(10)에 의하여 실행 된다.
데이터베이스 성능 관리 프로세서(10)는 데이터베이스 성능 관리용 컴퓨터 프로그램(21)을 실행할 수 있는 프로세서이다. 다만, 데이터베이스 성능 관리 프로세서(10)는 데이터베이스 성능 관리용 컴퓨터 프로그램(21)만을 실행할 수 있는 프로세서는 아닐 수 있다. 예를 들면, 데이터베이스 성능 관리 프로세서(10)는 데이터베이스 성능 관리용 컴퓨터 프로그램(21) 외에 다른 프로그램을 실행할 수도 있다.
데이터베이스 성능 관리용 컴퓨터 프로그램(21)은, 소정의 기간 이상 동안 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 과정, 상기 대상 테이블의 재정렬(Reorg)이 수행되어야 할 시점을 예측하기 위하여 기 설정된 예측 모델을 이용하여 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 과정 및 상기 예측된 시점에 관한 정보를 사용자에게 제공하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.
또한, 데이터베이스 성능 관리용 컴퓨터 프로그램(21)은, 소정의 기간 이상 동안 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 과정, 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 과정 및 상기 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.
또한, 데이터베이스 성능 관리용 컴퓨터 프로그램(21)은, 소정의 기간 이상 동안 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 과정, 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 과정 및 상기 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 과정을 수행하는 일련의 오퍼레이션을 포함할 수 있다.
스토리지(20)에는 기 설정된 예측 모델 또는 과거에 생성된 예측 모델에 관한 정보가 저장되어 있을 수 있다. 데이터베이스 성능 관리용 컴퓨터 프로그램(21)은, 예측 모델을 생성하는 과정 없이 저장된 기 설정된 예측 모델 또는 과거에 생성된 예측 모델을 이용하는 과정을 수행할 수도 있다.
이하, 도 5 내지 14를 참조하여 본 발명의 다른 실시예에 따른 데이터베이스 성능 관리 방법을 설명한다. 본 실시예는 연산 수단을 구비한 컴퓨팅 장치에 의하여 수행 될 수 있다. 상기 컴퓨팅 장치는, 예를 들어 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치(1000)일 수 있다. 상기 데이터베이스 성능 관리 장치(1000)의 구성 및 동작에 대하여는 도 1 및 도 4를 참조하여 설명한 내용을 통해 이해할 수 있다.
도 5 내지 14를 참조하여 설명하는 데이터베이스 성능 관리 방법에 관한 내용도 본 발명의 일 실시예에 따른 데이터베이스 성능 관리 장치(1000)에 적용될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 데이터베이스 성능 관리 방법의 순서도를 나타내는 도면이다.
도 5를 참조하면, 컴퓨팅 장치가 데이터베이스(2000) 선은 관련 정보를 수집한다(S100).
컴퓨팅 장치가 성능을 예측하고자 하는 대상 객체를 선정한다(S200).
컴퓨팅 장치는 예측 모델이 존재하지 않는 경우 예측 모델을 생성할 수 있다(S300, S400).
컴퓨팅 장치는 생성된 예측 모델을 이용하여 대상 객체의 성능을 예측할 수 있다(S500).
컴퓨팅 장치는 예측 모델이 존재하는 경우에는 존재하는 예측 모델을 이용하여 대상 객체의 성능을 예측할 수 있다(S300, S500).
컴퓨팅 장치는 예측된 정보를 사용자에게 제공할 수 있다(S600).
도 6은 S200 단계에 관한 구체적인 예를 나타내는 도면이다.
도 6을 참조하면, 컴퓨팅 장치는 데이터베이스(2000) 내에 포함된 테이블들 중에서 테이블 재정렬이 필요할 수 있는 테이블들을 대상 객체로 선정할 수 있다(S210).
S210 단계에 관하여 도 7을 참조하여 보다 상세하게 설명한다.
도 7은 S210 단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 7을 참조하여 테이블 재정렬이 필요한 대상 객체로 대상 테이블을 선정하는 방법의 일 예를 설명한다.
컴퓨팅 장치는 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 데이터베이스(2000)에 포함되는 테이블마다 할당 공간 대비 데이터 저장 공간의 비율을 산출한다(S211).
예를 들면, 데이터 저장 공간의 비율은 하기 수학식 1을 이용하여 산출할 수 있다.
[수학식 1]
데이터 저장 공간의 비율 = (num_row X avg_row_len)/(blocks X block_size) X 100
데이터 저장 공간의 비율은 현재 테이블이 차지하고 있는 영역에서 비어있는 공간을 제외하고 실제 데이터가 차지하는 영역의 비율을 의미한다.
구체적으로 예를 들면 수학식 1과 같이 데이터 저장 공간 비율을 산출할 수 있다. 수학식 1에서 num_row는 테이블에 들어있는 레코드 수를 의미한다. avg_row_len는 테이블에 들어있는 레코드의 평균 길이를 의미한다. Blocks는 블록수를 의미하며 block_size는 블록의 크기를 의미한다. 블록의 크기는 데이터베이스의 설정 등에 따라 상이해 질 수 있다.
컴퓨팅 장치는 데이터베이스(2000)에 포함되는 테이블들 중에서 산출된 데이터 저장 공간의 비율이 제1 기 설정된 저장 공간 비율 이상이고 할당 공간이 기 설정된 용량 이상을 차지하는 테이블을 1차적으로 선정한다(S213).
컴퓨팅 장치는 1차적으로 선정된 테이블 중에서 데이터 저장 공간의 비율이 제2 기 설정된 저장 공간 비율 이하인 테이블을 상기 대상 테이블로 선정할 수 있다(S215).
제2 기 설정된 저장 공간 비율은 제1 기 설정된 저장 공간 비율보다 크다.
기 설정된 용량은 DML(Data Manipulation Language) 작업이 많은 트랜잭션(Transaction) 테이블로 간주하여 재정렬 대상 테이블로 지정할 수 있다. 예를 들어 기 설정된 용량은 100MB 정도 일 수 있다. 또한, 제1 기 설정된 데이터 저장 비율은 풀 테이블 스캔(FTS, Full Table Scan)시 멀티 블록(Multi Block) I/O가 인덱스 룩업(Index Lookup)의 싱글 블록(Single Block) I/O 보다 많아 지는 시점을 기준으로 설정할 수 있다.
예를 들면, 제1 데이터 저장 비율은 50% 정도로 설정될 수 있다. 제2 데이터 저장 비율을 예를 들면 80% 정도로 설정될 수 있다.
데이터 저장 비율이 50% 미만인 경우에는 현시점에서 바로 테이블 재정렬이 필요한 경우로 설정할 수 있다.
이러한 경우, 컴퓨팅 장치는 작업이 필요한 시점을 예측할 필요 없이 대상 테이블에 대하여 즉시 테이블 재정렬이 필요함을 사용자에게 제공할 수 있다. 즉, 데이터 저장 비율이 50% 미만인 테이블을 테이블 재정렬이 필요한 시점을 예측할 필요성이 있는 대상 테이블에 포함되지 않는다.
컴퓨팅 장치는 산출된 데이터 저장 공간의 비율이 제2 기 설정된 데이터 저장 비율을 초과하는 테이블은 일정 기간 내에는 테이블 재정렬이 필요하지 않는 것으로 보아 대상 객체에 포함시키지 않을 수 있다.
다시 도 6을 참조하면, 컴퓨팅 장치는 데이터베이스(2000) 내에 포함된 테이블 스페이스들 중에서 디스크 재배치가 필요할 수 있는 테이블 스페이스들을 대상 객체로 선정할 수 있다(S220).
도 8은 S220 단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 8을 참조하여 디스크 재배치가 필요한 대상 객체로 대상 테이블 스페이스를 선정하는 방법의 일 예를 설명한다.
컴퓨팅 장치는 각 테이블 스페이스에 할당된 데이터 파일 별 디스크 응답 속도에 관한 정보를 이용하여 테이블 스페이스 별 디스크 응답 속도의 평균값을 산출할 수 있다(S221). 디스크 응답 속도의 평균값은 물리적인 디스크에서 데이터를 읽은 평균 시간을 의미하는 것이다.
예를 들어, 컴퓨팅 장치는 하기 수학식 2를 이용하여 디스크 응답 속도의 평균값을 산출할 수 있다.
[수학식 2]
디스크 응답 속도의 평균값 = avg(read time 합 / physical read 수)
디스크 응답 속도의 평균값은 사용자가 요청한 데이터가 메모리에 존재하지 않음으로 인하여 디스크에서 읽어 오는데 소요되는 평균 시간을 의미한다.
디스크 응답 속도의 평균값은 상기 수학식 2를 이용하여 산출할 수 있다.
수학식 2에서 physical read 수는 디스크에서 메모리로 읽어온 데이터베이스의 블록 수를 의미한다. read time 합은 디스크에서 읽어 오는데 걸리는 시간의 합을 의미한다.
컴퓨팅 장치는 데이터베이스(2000)에 포함되는 테이블 스페이스들 중에서 산출된 디스크 응답 속도의 평균값이 제1 기 설정된 응답 속도 이하이면서, 제2 기 설정된 응답 속도 이상인 테이블 스페이스를 대상 객체로 선정할 수 있다(S223).
제2 기 설정된 응답 속도는 제1 기 설정된 응답 속도보다 작은 값이다. 즉, 제2 기 설정된 응답 속도에 해당하는 응답이 제1 기 설정된 응답 속도에 해당하는 응답보다 빠르다. 예를 들면, 제1 기 설정된 응답 속도는 20ms 정도일 수 있다. 제2 기 설정된 응답 속도는 10ms 정도 일 수 있다.
컴퓨팅 장치는 디스크 응답 속도의 평균값이 제1 기 설정된 응답 속도를 초과하는 경우에는 미래 시점이 아닌 현재 시점에서 즉시 디스크 재배치가 필요한 것으로 보고 사용자에게 정보를 제공할 수 있다.
즉, 컴퓨팅 장치는 디스크 응답 속도의 평균값이 제1 기 설정된 응답 속도를 초과하는 경우에는 예측 모델을 통한 시점 예측이 적용될 필요성이 없는 경우이다.
컴퓨팅 장치는 산출된 디스크 응답 속도의 평균값이 제2 기 설정된 응답 속도 미만인 테이블 스페이스는 일정 기간 내에는 디스크 재배치가 필요하지 않는 것으로 보아 대상 객체에 포함시키지 않을 수 있다.
다시 도 6을 참조하면, 컴퓨팅 장치는 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정할 수 있다(S230).
도 9는 S230단계에 관하여 보다 구체적인 예를 나타내는 도면이다.
도 9를 참조하여 메모리 크기 조정이 필요한 대상 객체로 대상 메모리 영역을 선정하는 방법의 일 예를 설명한다.
컴퓨팅 장치가 수집된 데이터베이스(2000)의 성능 관련 정보를 이용하여 메모리 공간 별로 평균 메모리 적중률(Hit Ratio)를 산출할 수 있다(S231).
예를 들면, 컴퓨팅 장치는 하기 수학식 3을 이용하여 메모리 적중률을 산출할 수 있다.
[수학식 3]
평균 메모리 적중률 = avg(각 metric_name의 snap_id 별 평균 적중률)
평균 메모리 적중률은 처음 사용된 데이터 및 실행된 SQL은 메모리에 임시 저장하게 되는데 이때 사용자에 의하여 사용 요청된 데이터와 SQL이 메모리에 이미 존재할 확률을 의미한다.
평균 메모리 적중률은 수학식 3을 이용하여 산출할 수 있다. Metric은 변화량을 의미하며, 수학식 3에서 metric_name은 변화량명을 의미하며 예를 들면, Buffer Cache Hit(%), Library Cache Hit(%) 등이 존재한다. snap_id는 주기적으로 저장되는 스냅샷의 식별정보(ID)를 의미한다. 예를 들면 1시간 단위 주기로 ID가 순차적인 숫자로 부여될 수 있다.
컴퓨팅 장치는 산출된 평균 메모리 적중률이 제1 기 설정된 적중률 이상이면서 제2 기 설정된 적중률 이하인 메모리 공간을 대상 객체인 대상 메모리 공간으로 선정할 수 있다(S233).
제2 기 설정된 적중률은 제1 기 설정된 적중률 보다 큰 값을 가진다.
제1 기 설정된 적중률은 90% 정도로 설정될 수 있으며, 제2 기 설정된 적중률은 95% 정도로 설정될 수 있다.
컴퓨팅 장치는 산출된 평균 메모리 적중률이 제1 기 설정된 적중률 이하인 경우에는 미래 시점이 아닌 현재 시점에 즉시 메모리 크기 조정이 필요한 것으로 보아 사용자에게 알릴 수 있다.
컴퓨팅 장치는 산출된 평균 메모리 적중률이 제2 기 설정된 적중률 이상인 메모리 영역은 미래의 일정 기간 내에는 메모리 크기 조정이 필요하지 않는 것으로 보아 대상 객체에 포함시키지 않을 수 있다.
제1 기 설정된 저장 공간 비율, 제2 기 설정된 저장 공간 비율, 기 설정된 용량, 제1 기 설정된 응답 속도, 제2 기 설정된 응답 속도, 제1 기 설정된 적중률 및/또는 제2 기 설정된 적중률은 사용자의 요청, 데이터베이스(2000)의 유지 요구 성능, 데이터베이스(2000)의 최고 성능, 데이터베이스(2000)의 평균 성능 등에 따라서 변경될 수 있다.
데이터베이스(2000)에는 수학식 1 내지 3을 이용하여 데이터 저장 공간의 비율, 디스크 응답 속도의 평균값, 평균 메모리 적중률을 산출하기 위하여 필요한 정보가 포함될 수 있다. 필요한 정보란 수학식 1 내지 3의 각 항목에 해당하는 정보 또는 각 항목에 해당하는 정보를 도출하는데 필요한 정보가 포함될 수 있다.
다시 도 5를 참조하면, 컴퓨팅 장치는 대상 객체에 대하여 작업이 필요한 시점을 예측하기 위한 예측 모델이 존재하면 존재하는 예측 모델을 이용하여 대상 객체의 성능을 예측한다(S300, S500).
컴퓨팅 장치는 예측 모델이 존재하지 않거나 존재하더라도 현재 상황에 보다 적합한 예측 모델을 적용하기 위하여 예측 모델을 생성할 수 있다(S400).
도 10은 컴퓨팅 장치가 예측 모델을 생성하는 일 예를 나타내는 순서도이다.
도 10을 참조하면, 컴퓨팅 장치는 선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다(S410).
컴퓨팅 장치는 선형회귀분석법을 이용하여 생성한 예측 모델의 결정 계수의 값이 기 설정된 값 이상인 경우에는 생성된 예측 모델을 이용하여 대상 객체의 성능을 예측한다(S420, S500). 즉, 컴퓨팅 장치는 선형회귀분석법을 이용하여 생성된 예측 모델을 이용하여 대상 객체의 성능을 유지하기 위하여 작업이 수행되어야 할 시점을 예측할 수 있다.
컴퓨팅 장치는 선형회귀분석법을 이용하여 생성한 예측 모델의 결정 계수 값이 기 설정된 값 미만인 경우에는 적어도 하나의 비선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다(S420, S440).
기 설정된 값은 90정도 일 수 있다. 기 설정된 값이 높을수록 예측 시점에 대한 정확도 및 신뢰도는 향상될 수 있다.
적어도 하나의 비선형회귀분석법을 이용하여 생성한 예측 모델 중에서 결정 계수의 값이 가장 큰 예측 모델을 이용하여 대상 객체의 성능을 예측할 수 있다(S500).
또는 하나의 비선형회귀분석법을 이용하여 생성한 예측 모델의 결정 계수 값이 기 설정된 값을 넘으면 바로 해당 예측 모델을 이용하고, 값을 넘지 못하면 다른 비선형회귀분석법을 이용하여 예측 모델을 생성하는 과정을 수행할 수도 있다.
도 11 내지 13 및 수학식 4 내지 13을 참조하여 컴퓨팅 장치가 예측 모델을 생성하는 방법을 설명한다.
[수학식 4]
Y = b0 + b1 * X
상기 수학식 4에서 Y 는 선형회귀분석법을 이용한 예측 모델이다.
b0는 상수로 Y-b1*X를 의미한다. b1도 상수로 Σ[(Xi-X)*(Yi-Y)]/Σ[(Xi-X)2]을 의미한다.
결정 계수 값은 하기 수학식 5를 이용하여 산출할 수 있다.
[수학식 5]
R2 = {(1 / N) * ∑ [(Xi - X) * (Yi - Y)] / (σX * σY)}2
수학식 5에서 R2이 결정계수의 값이며, X와 Y는 평균을 의미한다. 예를 들면, X는 도 11 내지 13에서 Avg(Xi)에 해당하는 값이며, Y는 Avg(Yi)에 해당하는 값일 수 있다. σX와 σY는 표준편차를 의미한다.
도 11 내지 13은 예측 모델 생성에 이용되는 정보를 나타내는 도면이다.
도 11을 참조하면, 대상 객체가 테이블이고 수행 작업이 테이블 재정렬인 경우 예측 모델 생성에 이용되는 정보를 나타낸다.
컴퓨팅 장치는 대상 테이블에 대하여 테이블 재정렬이 어느 시점에 수행되어야 하는지에 관한 예측을 위하여 대상 테이블의 데이터 저장 공간의 비율에 관한 정보 및 수학식 4 내지 5를 참조하여 설명한 선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다.
점검 일자는 데이터베이스(2000) 성능을 점검한 일자 또는 스냅샷을 찍은 일자 등이 될 수 있다. 1부터 N은 시간 순서를 의미하며 몇 시간 단위일 수 있으며 몇 일 단위일 수도 있다.
도 12를 참조하면, 대상 객체가 테이블 스페이스이고 수행 작업이 디스크 재배치인 경우 예측 모델 생성에 이용되는 정보를 나타낸다.
컴퓨팅 장치는 대상 테이블 스페이스에 대하여 디스크 재배치가 어느 시점에 수행되어야 하는지에 관한 예측을 위하여 대상 테이블 스페이스의 디스크 별 응답 속도 평균값에 관한 정보 및 수학식 4 내지 5를 참조하여 설명한 선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다.
수집 식별자는 데이터베이스(2000) 성능을 점검한 일자 또는 스냅샷을 찍은 일자 등이 될 수 있다. 각각의 수집 식별자 101부터 N은 시간 순서를 의미할 수 있으며, 몇 시간 단위일 수 있으며 몇 일 단위일 수도 있다.
도 13을 참조하면, 대상 객체가 메모리 영역이고 수행 작업이 메모리 크기 조정인 경우 예측 모델 생성에 이용되는 정보를 나타낸다.
컴퓨팅 장치는 대상 메모리 영역에 대하여 메모리 크기 조정이 어느 시점에 수행되어야 하는지에 관한 예측을 위하여 평균 메모리 적중률에 관한 정보 및 수학식 4 내지 5를 참조하여 설명한 선형회귀분석법을 이용하여 예측 모델을 생성할 수 있다.
수집 식별자는 도 12에서 설명한 바와 같다.
컴퓨팅 장치가 수집한 데이터베이스(2000) 성능 관련 정보에는 개체 할당 공간(720), 사용 공간(730), 테이블 스페이스 명(820), 데이터 파일 명(830), Metric 명(920), 데이터 파일 명(930) 등에 관한 정보가 포함될 수 있다.
컴퓨팅 장치는 데이터 저장 비율(740), 평균 Read 시간(840), 평균 적중률(940)에 관한 정보는 수집한 데이터베이스(2000) 성능 관련 정보에 포함된 정보 및 수학식 1 내지 3을 이용하여 산출하여 획득할 수 있다.
도 11 내지 13에서 Xi(710, 810, 910), Yi(740, 840, 940), ∑Xi(750, 850, 950), ∑Yi(760, 860, 960), Avg(Xi)(770, 870, 970), Avg(Yi)(780, 880, 980)은 수학식 4 내지 5에 이용되는 것을 알 수 있다.
비선형회귀분석법을 이용하여 예측 모델을 생성하는 방법은 수학식 6 내지 9를 참조하여 설명한다. 다만, 비선형회귀분석법을 이용하여 예측 모델을 생성하는 방법은 수학식 6 내지 9를 참조하여 설명하는 바에 한정되지 않으며, 다른 비선형회귀분석법을 이용할 수도 있다.
[수학식 6]
lnY = b0 + b1 * X
수학식 6에서 b0는 수학식 7과 같은 상수를 의미한다. b1은 수학식 8과 같은 상수를 의미한다.
[수학식 7]
b1 = Σ [(Xi - X) * (lnYi - lnY)] / Σ [(Xi - X)2]
[수학식 8]
b0 = lnY - b1 * X
예측 모델의 신뢰도 또는 정확도는 하기 수학식 9에 따른 결정 계수 값을 이용하여 산출할 수 있다.
[수학식 9]
R2 = {(1 / N) * ∑ [(Xi - X) * (lnYi - InY)] / (σX * σlnY)}2
수학식 9에서 R2이 결정계수의 값이다. 상기 수학식 6 내지 9에서 X와 Y는 평균을 의미한다. 예를 들면, X는 도 11 내지 13에서 Avg(Xi)에 해당하는 값이며, Y는 Avg(Yi)에 해당하는 값일 수 있다. σX와 σInY표준편차를 의미한다.
컴퓨팅 장치는 예측 모델을 이용하기 위해 이용한 수학식 6 내지 9을 이용한 비선형회귀분석법 외에 다른 비선형회귀분석법을 이용할 수도 있다.
예를 들면 컴퓨팅 장치는 수학식 10을 이용하는 Quadratic Model, 수학식 11을 이용하는 Reciprocal Model, 수학식 12를 이용하는 Logarithmic Model, 수학식 13을 이용하는 Power Model 중 적어도 어느 하나를 더 이용하여 예측 모델을 생성할 수도 있다.
[수학식 10]
Y = (b0 + b1 * X)2
[수학식 11]
Y = 1 / (b0 + b1 * X)
[수학식 12]
Y = b0 + b1 * log(X)
[수학식 13]
Y = 10( b0 + b1 * log (X))
도 13에는 컴퓨팅 장치가 예측 모델을 생성하기 위하여 우선적으로 선형회기분석법을 이용하는 것을 제안하고 있으나 이에 한정되지 않으며 선형회기분석법 및 비선형회기분석법을 이용하여 병렬적으로 예측 모델을 생성하고 결정 계수 값이 가장 큰 예측 모델을 이용할 수도 있다.
컴퓨팅 장치는 예측 모델을 이용하여 수행하고자 하는 작업이 필요한 시점을 예측한다.
구체적으로 예측 모델로 선형회귀분석법을 이용하여 생성된 예측 모델을 이용할 경우 컴퓨팅 장치는 예측 모델의 Y값이 기 설정된 예측 기준값이 되는 시점을 산출한다.
예를 들어, 테이블 재정렬 작업의 경우 예측 기준값은 0.5로 설정될 수 있다. 이는 데이터 저장 공간의 비율 50%를 기준으로 설정된 값이다.
또한, 디스크 재배치 작업의 경우 예측 기준값은 20으로 설정될 수 있다. 이는 디스크 응답 속도 평균값 20ms를 기준으로 설정된 값이다.
또한, 메모리 크기 조정 작업의 경우 예측 기준값은 0.9로 설정될 수 있다. 이는 메모리 적중률 90%를 기준으로 설정된 값이다.
예측 기준값은 사용자의 요구 사항, 데이터베이스(2000)의 최적 성능, 데이터베이스(2000)의 유지 성능 수준 등에 따라서 변경될 수 있다.
컴퓨팅 장치는 Y값이 0.5가 되는 시점을 산출하여 테이블 재정렬 작업이 필요한 시점을 산출할 수 있다. 또한, 컴퓨팅 장치는 Y값이 20이 되는 시점을 산출하여 디스크 재배치 작업이 필요한 시점을 산출할 수 있다. 또한, 컴퓨팅 장치는 Y값이 0.9가 되는 시점을 산출하여 테이블 재정렬 작업이 필요한 시점을 산출할 수 있다. 각각의 Y을 구성하는 상수 값(b0, b1)은 수행되는 작업에 따라서 이용되는 정보가 상이(도 11 내지 13 참고)하다.
컴퓨팅 장치는 예측되는 시점이 산출되면 산출된 시점에 관한 정보를 사용자에게 제공할 수 있다. 사용자는 시점에 관한 정보를 제공받아 그 시점 이전에 해당 작업을 수행해야 함을 인지할 수 있다.
도 14는 예측된 시점이 남아 있는 정도에 따라서 사용자에게 제공하는 정보가 상이할 수 있는 예를 나타내는 도면이다.
도 14를 참조하면, 컴퓨팅 장치는 예측된 시점이 남아 있는 정도에 따라서 사용자에게 제공하는 정보를 상이하게 할 수 있다.
컴퓨팅 장치는 예측된 시점이 많이 남아 있는 경우 간단한 정보만 알려주는 정도로 사용자에게 정보를 제공할 수 있다. 반면에, 컴퓨팅 장치는 예측된 시점이 임박한 경우에는 경보 수준을 높이거나 구체적인 대응 방안에 관한 정보를 함께 사용자에게 제공할 수 있다.
예를 들면, 컴퓨팅 장치는 예측된 시점이 1개월 이상인 경우에는 예측 시점에 관한 정보를 사용자에게 제공한다(S610, S620). 컴퓨팅 장치는 예측된 시점이 1개월 미만인 경우에는 예측 시점에 관한 정보 조기 경보로 제공하고 수행해야 하는 작업과 대처 방안 등에 관하여 상세한 정보를 제공할 수 있다(S610, S630). 상기 1개월의 시간은 사용자의 요청, 수행되는 작업의 종류 등에 따라서 변경될 수 있다.
유사하게, 도면에서 동작들이 특정한 순서로 도시되어 있지만, 원하는 결과를 얻기 위해서 그러한 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시된 동작들이 실행되어야만 하는 것으로 이해되어서는 안된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지될 수 있음을 이해하여야 한다.
지금까지 도 2, 3의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
Claims (24)
- 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 테이블 재정렬(Table Reorg)를 수행할 필요성이 있을 것으로 예측되는 대상 테이블을 선정하는 단계;
상기 대상 테이블의 재정렬(Reorg)이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및
상기 예측 모델을 이용하여 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제1 항에 있어서,
상기 데이터베이스 성능 관리 방법은,
상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 더 포함하는, 데이터베이스 성능 관리 방법. - 제1 항에 있어서,
상기 대상 테이블을 선정하는 단계는,
상기 수집된 데이터베이스의 성능 관련 정보를 이용하여 상기 데이터베이스에 포함되는 테이블마다 할당 공간 대비 데이터 저장 공간의 비율을 산출하는 단계;
상기 데이터베이스에 포함되는 테이블 중에서 상기 산출된 데이터 저장 공간의 비율이 제1 기 설정된 저장 공간 비율 이상이고 할당 공간이 기 설정된 용량 이상을 차지하는 테이블을 1차적으로 선정하는 단계; 및
상기 1차적으로 선정하는 단계에서 선정된 테이블 중에서 상기 데이터 저장 공간의 비율이 제2 기 설정된 저장 공간 비율 이하인 테이블을 상기 대상 테이블로 선정하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제3 항에 있어서,
상기 예측 모델을 생성하는 단계는,
상기 대상 테이블의 데이터 저장 공간의 비율에 관한 정보 및 선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제4 항에 있어서,
상기 시점을 예측하는 단계는,
상기 선형회귀분석의 결정계수(Coefficient of Determination)의 값이 기 설정된 값 이상인 경우에만 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제5 항에 있어서,
상기 선형회귀분석의 결정계수(Coefficient of Determination)의 값이 기 설정된 값 미만인 경우,
상기 예측 모델을 생성하는 단계는,
상기 대상 테이블의 데이터 저장 공간의 비율에 관한 정보 및 적어도 하나의 비선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제1 항에 있어서,
상기 시점을 예측하는 단계는,
상기 예측 모델을 이용하여 기 설정된 테이블 재정렬 필요 기준에 부합하는 시점을 산출하는 단계; 및
상기 산출된 시점을 상기 대상 테이블의 재정렬이 수행되어야 할 시점으로 예측하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 단계;
상기 대상 테이블의 재정렬(Reorg)이 수행되어야 할 시점을 예측하기 위하여 기 설정된 예측 모델을 이용하여 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 단계; 및
상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 테이블 재정렬(Table Reorg)를 수행할 필요성이 있을 것으로 예측되는 대상 테이블을 선정하는 대상 객체 선정부;
상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 예측 모델 생성부; 및
상기 예측 모델을 이용하여 상기 대상 테이블의 재정렬이 수행되어야 할 시점을 예측하는 시점 예측부를 포함하는, 데이터베이스 성능 관리 장치. - 제9 항에 있어서,
상기 데이터베이스 성능 관리 장치는,
상기 예측된 시점에 관한 정보를 사용자에게 제공하는 예측 정보 제공부를 더 포함하는, 데이터베이스 성능 관리 장치. - 제9 항에 있어서,
상기 대상 객체 선정부는,
상기 수집된 데이터베이스의 성능 관련 정보를 이용하여 상기 데이터베이스에 포함되는 테이블마다 할당 공간 대비 데이터 저장 공간의 비율을 산출하고,
상기 데이터베이스에 포함되는 테이블 중에서 상기 산출된 데이터 저장 공간의 비율이 제1 기 설정된 저장 공간 비율 이상이고 할당 공간이 기 설정된 용량 이상을 차지하는 테이블을 1차적으로 선정하며,
상기 1차적으로 선정하는 단계에서 선정된 테이블 중에서 상기 데이터 저장 공간의 비율이 제2 기 설정된 저장 공간 비율 이하인 테이블을 상기 대상 테이블로 선정하는, 데이터베이스 성능 관리 장치. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 단계;
상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및
상기 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제12 항에 있어서,
상기 수집된 데이터베이스의 성능 관련 정보에는 각 테이블 스페이스에 할당된 데이터 파일 별 디스크 응답 속도에 관한 정보가 포함되며,
상기 대상 테이블 스페이스를 선정하는 단계는,
상기 데이터 파일 별 디스크 응답 속도에 관한 정보를 이용하여 테이블 스페이스 별 디스크 응답 속도의 평균값을 산출하는 단계; 및
상기 데이터베이스에 포함되는 테이블 스페이스 중에서 상기 산출된 디스크 응답 속도의 평균값이 제1 기 설정된 응답 속도 이하이면서, 제2 기 설정된 응답 속도 이상인 경우 상기 대상 테이블 스페이스로 선정하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제13 항에 있어서,
상기 예측 모델을 생성하는 단계는,
상기 산출된 디스크 응답 속도 및 선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 단계;
상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 단계; 및
상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 디스크 재배치를 수행할 필요성이 있을 것으로 예측되는 대상 테이블 스페이스를 선정하는 대상 객체 선정부;
상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 예측 모델 생성부; 및
상기 예측 모델을 이용하여 상기 대상 테이블 스페이스의 디스크 재배치가 수행되어야 할 시점을 예측하는 시점 예측부를 포함하는, 데이터베이스 성능 관리 장치. - 제16 항에 있어서,
상기 수집된 데이터베이스의 성능 관련 정보에는 각 테이블 스페이스에 할당된 데이터 파일 별 디스크 응답 속도에 관한 정보가 포함되며,
상기 대상 객체 생성부는,
상기 데이터 파일 별 디스크 응답 속도에 관한 정보를 이용하여 테이블 스페이스 별 디스크 응답 속도의 평균값을 산출하고,
상기 데이터베이스에 포함되는 테이블 스페이스 중에서 상기 산출된 디스크 응답 속도의 평균값이 제1 기 설정된 응답 속도 이하이면서, 제2 기 설정된 응답 속도 이상인 경우 상기 대상 테이블 스페이스로 선정하는, 데이터베이스 성능 관리 장치. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 단계;
상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 단계; 및
상기 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제18 항에 있어서,
상기 대상 메모리 영역을 선정하는 단계는,
상기 수집된 데이터베이스의 성능 관련 정보를 이용하여 상기 각 메모리 공간 별로 평균 메모리 적중률(Hit Ratio)을 산출하는 단계; 및
상기 산출된 평균 메모리 적중률이 제1 기 설정된 적중률 이상이면서 제2 기 설정된 적중률 이하인 메모리 공간을 상기 대상 메모리 공간으로 선정하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 제19 항에 있어서,
상기 예측 모델을 생성하는 단계는,
상기 산출된 평균 메모리 적중률 및 선형회귀분석법을 이용하여 상기 예측 모델을 생성하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 단계;
상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 단계; 및
상기 예측된 시점에 관한 정보를 사용자에게 제공하는 단계를 포함하는, 데이터베이스 성능 관리 방법. - 소정의 기간 이상 동안 수집된 데이터베이스의 성능 관련 정보를 이용하여 현재 시점 이후에 메모리 크기를 조정할 필요성이 있을 것으로 예측되는 대상 메모리 영역을 선정하는 대상 객체 선정부;
상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하기 위한 예측 모델을 생성하는 예측 모델 생성부; 및
상기 예측 모델을 이용하여 상기 대상 메모리 영역의 메모리 크기 조정이 수행되어야 할 시점을 예측하는 시점 예측부를 포함하는, 데이터베이스 성능 관리 장치. - 제22 항에 있어서,
상기 대상 객체 선정부는,
상기 수집된 데이터베이스의 성능 관련 정보를 이용하여 상기 각 메모리 공간 별로 평균 메모리 적중률(Hit Ratio)을 산출하고,
상기 산출된 평균 메모리 적중률이 제1 기 설정된 적중률 이상이면서 제2 기 설정된 적중률 이하인 메모리 공간을 상기 대상 메모리 공간으로 선정하는, 데이터베이스 성능 관리 장치. - 하드웨어와 결합되어,
제1 항, 제8 항, 제12 항, 제15 항, 제18 항 및 제21 항 중 어느 하나의 방법을 수행하기 위하여 매체에 저장된 컴퓨터프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150028255A KR101599718B1 (ko) | 2015-02-27 | 2015-02-27 | 데이터베이스 성능 관리 방법 및 장치 |
US15/054,350 US20160253591A1 (en) | 2015-02-27 | 2016-02-26 | Method and apparatus for managing performance of database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150028255A KR101599718B1 (ko) | 2015-02-27 | 2015-02-27 | 데이터베이스 성능 관리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101599718B1 true KR101599718B1 (ko) | 2016-03-04 |
Family
ID=55536057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150028255A KR101599718B1 (ko) | 2015-02-27 | 2015-02-27 | 데이터베이스 성능 관리 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160253591A1 (ko) |
KR (1) | KR101599718B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633071B (zh) * | 2017-09-22 | 2020-11-13 | 江苏康众汽配有限公司 | 一种基于汽车项目和产品动态车型库的方法及系统 |
CN108664567B (zh) * | 2018-04-24 | 2022-03-04 | 中国银行股份有限公司 | 一种基于数据表分区的数据采集方法及系统 |
CN109766369A (zh) * | 2018-12-07 | 2019-05-17 | 黑匣子(杭州)车联网科技有限公司 | 一种车联网大数据分析系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100840129B1 (ko) * | 2006-11-16 | 2008-06-20 | 삼성에스디에스 주식회사 | 통계적인 분석을 이용한 성능장애 관리시스템 및 그 방법 |
KR100982034B1 (ko) * | 2010-05-11 | 2010-09-13 | 주식회사 이피아이솔루션즈 | 데이터베이스 성능 모니터링 방법 및 시스템 |
-
2015
- 2015-02-27 KR KR1020150028255A patent/KR101599718B1/ko active IP Right Grant
-
2016
- 2016-02-26 US US15/054,350 patent/US20160253591A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100840129B1 (ko) * | 2006-11-16 | 2008-06-20 | 삼성에스디에스 주식회사 | 통계적인 분석을 이용한 성능장애 관리시스템 및 그 방법 |
KR100982034B1 (ko) * | 2010-05-11 | 2010-09-13 | 주식회사 이피아이솔루션즈 | 데이터베이스 성능 모니터링 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US20160253591A1 (en) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452441B1 (en) | Determining an allocation of computing resources for a job | |
US10558498B2 (en) | Method for scheduling data flow task and apparatus | |
US20190107955A1 (en) | Storage Pool Capacity Management | |
US9715408B2 (en) | Data-aware workload scheduling and execution in heterogeneous environments | |
US9378056B2 (en) | Management server, and virtual machine move control method | |
CN102473134B (zh) | 虚拟硬盘的管理服务器及管理方法、管理程序 | |
US9384059B2 (en) | Comparing resource costs between allocation plans in a load balance apparatus | |
US10884777B2 (en) | Apparatus and method to predict a time interval taken for a live migration of a virtual machine | |
US9477460B2 (en) | Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method | |
US7721288B2 (en) | Organizing transmission of repository data | |
US20160335162A1 (en) | Optimizing the number and type of database backups to achieve a given recovery time objective (rto) | |
US9176804B2 (en) | Memory dump optimization in a system | |
US9270539B2 (en) | Predicting resource provisioning times in a computing environment | |
US20190245756A1 (en) | Performance adjustment method, apparatus for peformance adjustment, and non-transitory computer-readable storage medium for storing program | |
US20180107503A1 (en) | Computer procurement predicting device, computer procurement predicting method, and recording medium | |
KR101599718B1 (ko) | 데이터베이스 성능 관리 방법 및 장치 | |
US10248618B1 (en) | Scheduling snapshots | |
US9305045B1 (en) | Data-temperature-based compression in a database system | |
US20150074454A1 (en) | Information processing method and apparatus for migration of virtual disk | |
CN117666947A (zh) | 一种数据存储方法、装置、电子设备及计算机可读介质 | |
US20160259703A1 (en) | Retrieval control method, and retrieval control device | |
US10126955B2 (en) | Method and apparatus for big size file blocking for distributed processing | |
CN113407192B (zh) | 模型部署方法和设备 | |
JP7200577B2 (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム。 | |
KR101656725B1 (ko) | 데이터베이스 성능 저하 분석 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200121 Year of fee payment: 5 |