주메뉴로 바로가기 본문으로 바로가기



사업분야

(주)보탬네트웍스의 주요 사업을 소개합니다.

본문

데이터베이스
컨설팅
Database
Solution

데이터베이스 관련 솔루션

iTuner는 운영중인 Microsoft SQL Server 시스템의 성능 저하 및 지속적인 장애
발생을 해결하기 위한 트러블슈팅 및 튜닝 제품입니다. 튜닝에 필요한 인력,
소요시간을 극적으로 줄이고 성능을 극대화한 솔루션입니다.

제품소개

iTuner는 운영중인 Microsoft SQL Server 시스템의 성능 저하 및 지속적인 장애 발생을 해결하기 위한 트러블슈팅 및 튜닝 제품입니다. Packet Sniffing 방식의 수집엔진을 이용하여 운영시스템에 요청되는 모든 SQL문을 해당 운영 Database 시스템 부하 없이 수집하고, 수집된 Query들을 운영 시스템에 연결 없이 별도의 컴퓨터에서 실제 운영서버의 물리적 수행 작업들을 시뮬레이션 하여, 바로 실 Database 서버의 성능을 획기적으로 향상 시킬 수 있는 Database Performance Management 제품입니다.

기존의 인력에 기반한 튜닝 방법론의 문제점을 해결하여 시장에서 입증된 툴에 의한 새로운 독보적 방법론을 제공함으로써 튜닝에 필요한 인력, 소요시간 등을 극적으로 줄이고 성능을 극대화하여 데이터 유지관리 비용을 획기적으로 줄여 주면서도 고객의 서비스 만족 도를 올려 주며 , 또한 개별 인력의 SKILL 의존도를 줄여 인력의 전출입에 영향 받지 않고 안정적인 데이터 운영이 가능하도록 합니다.

User ID 검사

User ID 검사

iTuner 동작

iTuner 동작

도입효과
데이터 베이스 관리 측면
  • - 데이터 베이스에서 발생되는 쿼리에 대한 비용/형태를 파악하고 이를 분석 데이터로 활용
  • - 분석된 데이터를 기반으로 하여, 문제가 있다고 판단되는 테이블/쿼리에 대한 상세 분석 기능 제공
  • - APP, User, IP별로 분석함으로써 특정 App, User, IP에서 문제 발생 시 이를 수정토록 함
  • - 문제가 있다고 판단되는 테이블/쿼리에 대한 인덱스 추가/삭제 및 쿼리 수정을 통한 사전 영향 평가 가능
  • - trouble발생 시 문제가 일어난 시간에 발생된 쿼리를 테이블별/전체 쿼리에 대한 분석
  • - 데이터베이스의 특성으로 인해 항상 데이터의 양/동시 사용자 수에 따라서 항상 최적화를 해야 함에 따른 관리비용 줄임
  • - 업무의 효율성 극대화 (기존 분석 시 수일 이상 걸리던 작업이 단 30분으로 줄어듦)
  • - 24시간 데이터 수집을 함으로서 반드시 필요한 시기의 분석 데이터를 언제든 제공하고, 문제 해결을 할 수 있도록 지원함
  • - 쿼리/인덱스 수정으로 인한 운영서버 미칠지 모를 원인을 사전에 파악함으로써 시스템 다운 타임 줄임
  • - 데이터 베이스 관리를 용이하게 하여 최적화된 데이터베이스 성능을 제공함으로써 H/W비용 절감
  • - 데이터 베이스 관리를 외부 업체에 의존할 경우 주기적으로 비용이 발생이 되지만, 자사의 인력을 활용함으로써 데이터 베이스 관리 TCO가 줄어듦
iTuner 특징
독창적 방법론 제공으로 기존 튜닝 방법론 문제점 해결
  • - New 튜닝(트러블 슈팅) 프로세스 : 순환 반복 튜닝 프로세스 → 선형 튜닝 프로세스
  • - Sniffing 방식의 수집으로 운영서버 부하 및 영향 없이 모든 Query 수집
  • - 모든 Query의 Normalize 처리
  • - 시뮬레이션 분석 기능으로 운영 서버 발생 상황 재현
독창적 방법론 제공으로 기존 튜닝 방법론 문제점 해결
  • - All , User , IP(Host) , Database , Table , Query 등
  • - 각 분석간의 유기적인 연계 분석 제공으로 분석 효율성 극대화
  • - 다양하고 유용한 튜닝 및 관리용 레포트 제공
  • - 강력한 WhatIF 제공 (Query WhatIF, Table WhatIF)
iTuner 튜닝 방법론
기존 튜닝 방법론
  • - 인덱스 , 쿼리 , Lock 등을 xxx게 해야 한다.
  • - 기존 튜닝 프로세스

    튜닝 프로세스

    • 직접 프로필러 등으로 느린 쿼리 수집
    • 왜 느린지 그래픽컬 플랜으로 확인
    • 판단(쿼리 수정,인덱스 수정)
    • 개별 쿼리 테스트
    • 적용
    • 전체적으로 성능 향상이 왔는지 파악
    • 처음부터 다시 반복
- 문제점
  • 수집과 분석에 있어 인간이기 때문에 지엽적인 튜닝이 될 수 밖에 없음
  • 프로필러는 운영서버에 주는 부하로 인해 일반적으로 필터를 걸어 어느 경계이상의 쿼리만을 수집
  • 튜닝은 느린 쿼리만이 대상이 아니라 성능이 좋은 쿼리 포함하여 모든 쿼리의 데이터 접근 전략이 모두 고려되어야 함
  • 느린 쿼리로 인해 인덱스를 수정한다면 그것은 원래 성능이 좋았던 쿼리에 부정적인 영향을 줄 수도 있음
  • 부분 수정이 전체에 어떤 영향을 주는 지에 대한 판단이 힘듦
  • 성능향상도 수치화 된 것이 아닌 감각적인 판단일 뿐임
  • 데이터에 기반 된 분석이 아닌 현업 담당자에 대한 의존이 큼 - 어떤 쿼리가 자주 쓰이는지 등
  • 제대로 된 판단을 내리기 위한 데이터가 너무 부족함
iTuner 튜닝 방법론
- 사람과 컴퓨터의 역할 분담 / 사람은 판단만 하게 됨
- 컴퓨터(튜닝 솔루션)
  • 객관적인 튜닝 가능
  • 성능지표에 대한 이력 관리
  • 성능지표 축출을 위한 밤샘 작업 없앰
  • 사람이 제대로 판단할 수 있도록 분석된 Back Data 제공
  • 부분 수정으로 인한 전체에 대한 영향평가
  • Etc
- 튜닝 프로세스
튜닝 프로세스
Table WhatIF
실제 Table의 변경 없이 Table의 Index가 생성, 수정, 삭제 등의 변경 시 그 Table을 호출하는 전체 Query의 비용 변화 및 Data Access Path 변화에 대한 Before/After 영향 평가 분석 기능을 제공 한다.
Query WhatIF
운영 서버의 변경이나 영향 없이 Query 및 SP 변경 시 해당 Query의 수행 비용(Disk , CPU , Sort , Join등) 및 Data Access 변화에 대한 Before/After 영향 평가 분석 기능을 제공 한다.
iTuner 주요기능
Data Access path 분석
운영 Database 시스템에 수행된 모든 Query에 대하여 실제 수행되는 동작을 시뮬레이션하여 Data Access path를 분석한다.
  • 논리적 Data Access path 분석 (Select, Update, Delete, Insert , RPC...) 및 수행 횟수 , 비용등 통계 분석
  • 물리적 Data Access path 분석 (Clustered Index Seek, Index Scan, , Index Seek , Table Scan...) 및 수행 횟 수, 비용등 통계 분석
  • 물리적 작업 분포(Retrieval, Insertion, Updation, Deletion) 분석 및 수행 횟수 , 비용등 통계 분석
  • 상기 Access path에 사용된 Data Access path에서 참조된 Table 분석 및 해당 Query 연계 분석 기능
  • 각 Access path 별/수행 횟수 별/응답시간(평균,최소,최대) 별/비용 별 Top N Query 분석 제공
  • ALL , DB별, Table별, Application별, User별, IP별 드릴 다운 분석
Query 분석
운영 Database 시스템에 수행된 모든 Query에 대하여 Normalization(패러미터 일반화)를 적용하여 Query 형태를 분석한다.
  • Normalized Query의 수행횟수, 실행시간(최대, 최소, 평균), CPU비용, Disk비용, Sort, Join, Query 비용 통계 분석 및 각 항목별 Top N Query 분석 제공
  • ALL , DB별, Table별, Application별, User별, IP별 드릴 다운 분석
Table 분석
운영 Database 시스템에 수행된 모든 Query에 대하여 실제 내부적인 동작을 시뮬레이션하여 호출된 Table의 관점에서 해당 Table을 분석하여 튜닝에 필요한 정보를 제공한다.
Query WhatIF (Ad-hoc Query , Stored Procedure)
운영 서버의 변경이나 영향 없이 Query 및 SP 변경 시 해당 Query의 수행 비용(Disk , CPU , Sort , Join등) 및 Data Access 변화에 대한 Before/After 영향 평가 분석 기능을 제공 한다.
Table WhatIF
실제 Table의 변경 없이 Table의 Index가 생성, 수정, 삭제 등의 변경 시 그 Table을 호출하는 전체 Query의 비용 변화 및 Data Access Path 변화에 대한 Before/After 영향 평가 분석 기능을 제공 한다.
유기적인 분석가능
수행 Query , Data Access Path , Query WhatIF (Ad-hoc , SP) , Graphical Execution Plan , Table WhatIF와의 유기적인 분석 기능 제공을 제공 하여 분석 능력을 극대화 하게 한다.
유기적인 분석
Graphical Execution Plan 분석
Execution Plan을 그래픽적으로 재구성하여 Execution Plan 분석의 가독성(직관성)을 높여 분석을 효율성을 극대화하고 Query WhatIF , Table WhatIF와의 유기적인 연계 분석이 가능케 한다.
다양하고 유용한 레포트
  • - Hint를 사용한 SP 및 쿼리 리스트 및 각 리스트의 세부 정보 제공 / Hint가 사용된 Query 및 SP에 대하여 어떠한 Hint가 사용되었는지 등에 대한 분석 정보를 제공한다.
  • - TopN : 응답시간, 실행횟수 , 수행 비용(Cpu , IO , Join..)등에 대한 TopN 제공
  • - Scan : Table Scan , Index Scan 등 Scan을 사용한 쿼리 및 Scan의 대상이된 테이블 및 원인 쿼리 연계
  • - Access Statistics : 테이블 접근 빈도 , 미사용 테이블 , 미사용 인덱스등의 접근 통계
  • - Access Path : 각 테이블을 접근한 모든 형태 ( 어떤 인덱스를 사용하여 , 어떤 물리적 작업을 통하여 얼마나 접근되었는지 및 각 경우의 인덱스 사용 조건 , 인덱스를 사용하지 못한 조건 등에 대한 모든 정보 제공)
  • - Query Errors : 발생된 모든 쿼리 에러에 대한 통계 및 상세 정보와 에러 유발 원인 쿼리 제공