올챙이시절 기록소

Maxgauge for Oracle 소개편 본문

2015/10월

Maxgauge for Oracle 소개편

allroundplayer 2017. 10. 16. 16:27

최초의 상용 RDBMS는 1979년 릴레이셔널 소프트웨어(현 오라클)이 발표한 오라클이다.


1977년 엘리슨은 앰펙스를 떠나 프리시전 인스트루먼트에서 일하고 있었다. 이 회사는 데이터베이스를 관리할 필요가 생겨 외부에 개발을 의뢰하기로 결정했는데, 이 사업을 엘리슨이 따내게 되었다. 엘리슨은 앰펙스에서 일하던 시절 알게 된 동료인 밥 마이너와 에드 오츠에게 연락했다. 둘을 설득해 DBMS만 전문적으로 개발하는 업체를 설립하기로 결정했다.


초기 자본금은 고작 2000달러(227만 원)였다. 이 2000달러 가운데 1200달러(136만 원)를 엘리슨이 냈고, 남은 800달러(91만 원)를 둘이 반반씩 냈다. 비록 1200달러라는 보잘것없는 금액이었지만, 이는 오라클 전체 지분의 60%에 달하는 수치였다. 현재 500억 달러(56조8250억 원)가 넘는 그의 막대한 재산은 바로 이 지분 60%에서 시작되었다.


처음 정한 회사의 이름은 소프트웨어 개발 연구실(SDL)이라는 멋이라고는 하나도 찾아볼 수 없는 이름이었다. 1979년 이를 의식한 것인지 회사 이름을 '릴레이셔널 소프트웨어(관계형 소프트웨어)'로 변경했다. 회사의 주력 상품이 관계형 DBMS라는 점에서 착안한 이름이다. 하지만 이 역시 촌스럽긴 마찬가지였다. 참다못한 엘리슨은 회사 이름을 회사의 주력 상품인 '오라클 데이터베이스'에서 따온 '오라클'로 최종 결정했다. [각주:1]




현재  오라클은 전세계에서 DBMS 시장점유율 1등(41.6%)이 되었다


그러나  



고객의 입장에서는 '영웅'이 아니라 DB 시장을 장악한 후 고객들의 주머니를 털어가는 '악당'으로 생각하는 이들도 많다


(  악당을 제어하기 위한 또 다른 불한당이 등장을 하는데 ) 


DBA(DataBase Administrator)들은 DB를 관리하기 위한 도구를 갈망했고


각 종 모니터링 도구가 나오게 되었는데 그 중 하나가 바로 Maxgauge이다




고객의 Needs가 반영된 순서대로


제품의 기능을 살펴보겠다 


1. 장애 인지 - 실시간 모니터링 ( Real Time Monitoring )

2. 장애 분석 - 사후 분석 ( Performance Analysis )

3. 보고기능 - Report

4. Tools - 세션매니저, TBS관리, SQL USED 등 



첫 번째


1. 실시간 모니터링 ( Real Time Monitoring )

"즉각적인 장애상황을 보고싶다" 라는  Customers Needs를 반영하여 => 실시간 모니터링 기능이 생겼다


DB에 DMA(Direct Memory Access) 방식으로 접근하여
( DMA : SGA 메모리 영역에 직접 붙어서 데이터를 수집하는 방식 )

Sampling 방식으로 Data를 수집한 다음 화면에 보여준다

( Sampling : 모든 Data를 수집하는 것이 아니라 0.05초 주기로 접근하여 존재하는 Data를 수집 )


RTS -> PJS


 * RTS : Real Time Server Process

( DB에 Data를 수집하는 프로세스 )

 * PJS :  PlatformJS ( Platform of Java Script 풀네임은 이렇지 않을까.. ) 

( 전송받은 데이터를 화면에 시각화하여 보여주는 컴포넌트)


두 번째


2. 사후 분석 ( Performance Analysis )

DB 관리자가 늘 Monitoring을 할 수도 없다 그렇기에 


"지나가버린 상황을 다시 분석해 보고 싶다" 라는 Needs가 반영되어 => 사후분석 기능이 생겼다

1. 실시간 모니터링은 [ RTS <-> PJS ] 이 두 프로세스의 통신으로 처리한다


2. 사후분석을 위해 DG라는 프로세스와 데이터를 저장할 DB가 추가되었다


그리고 통신구간을 하나 더 만들었다


RTS -> DG -> REPO -> PJS


* RTS :  Real Time Server Process

* DG : Data Gather

( RTS에서 전달 받은 Data를 1분, 1시간 단위로 서머리를 하거나, 임계치가 넘은 지표에 대한 알람을 PJS에 직접 보내는 프로세스) 

* Repo : Oracle 또는 PostgreSQL 

( 고객사의 자금여력에 따라 선택권을 둠 )

PJS : PlatformJS ( Platform of Java Script )



세 번째


3. 보고서 - Report

어떤  DB 관리자는 정기적으로 보고서를 작성해야만 했다


이를 위해 Report 기능이 추가되었다


0


백문이 불여일견  [百聞-不如一見 ]


네 번째


4. Tools - 세션매니저, TBS관리, SQL USED 등 

모니터링하는 도구에서 직접 "DB에 쿼리를 사용할 수 있으면 좋겠다" 는 사람들이 있었고


그들을 위해 각종 Tool 들이 추가되었다


0


0


0


여기까지 기능에 대해  4가지로 나누어 살펴보았다




국내시장 1등이 될 수 있었던 또 하나의 이유는


Maxgauge의 특성 때문이다.


 OWI ( Oracle Wait Interface )를 기법을 적용하여 성능 문제를 분석하고 해결하게끔 도와준 다는 것이다





ORACLE ACE를 비롯하여 많은 천재들이 오고 지나가면서 여러획을 그었는데


그 유산이 바로 Maxgauge인 것이다


*  ORACLE ACE : 최고의 오라클 전문가에게 수여하는 에반젤리즘 프로그램으로서 전세계적으로 400명, ORACLE ACE Director는 100명정도가 활동하고 있다



끝으로 정리를 해보자면


MAXGAUGE의 기능은 4가지가 있고


1. 장애 인지 - 실시간 모니터링 ( RTM : Real Time Monitoring )

2. 장애 분석 - 사후 분석 ( PA : Performance Analysis )

3. 보고기능 - Report

4. Tools - 세션매니저, TBS관리, SQL USED 등


기술적으로는 
DMA샘플링 방식을  쓰고 있으며


분석기법으로는 OWI을 적용하고 있다.


PS. 기억이 가물하긴 한데 오라클에서 wait event를 10g에 클래스화하여 담기 이전에 이미 활용을 했다고 들었던 것 같다

여튼, 선점효과로 인하여 국내시장에서 1등이 된 제품이 아닐까 생각해본다

신입 때 필기내용으로 본문을 작성하였고 각색하였다


  1. [IT CEO 열전] 사악한 MS, 구글과 대립각 세운 오라클 창업주 래리 엘리슨 - http://it.donga.com/26986/ [본문으로]
Comments