본문 바로가기

반응형

분류 전체보기

(180)
Section3. Instance와 Database 개념 구분 및 RAC 개념 설명 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Instance와 Database의 구분 및 RAC 개념 Instance: 메모리를 뜻함. Database: File들로 이루어져 있음. RAC(Real Application Cluster): 1개 DB가 2개 이상의 Instance를 가지는 구조. 서비스가 멈추지 않도록 고가용성을 위한 방법.
Section3. Data Dictionary [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] 데이터 딕셔너리 오라클 DB를 구성하는 모든 요소에 대한 정보를 가짐 Object, Schema, Segment, SGA, Parameter, Log, Data File, Backup, Recovery 등 다양한 성능 정보와 Wait 정보 제공 Wait 정보란? 오라클 어디서 병목 현상이 발생하고 있는지 파악 하는 정보. DB Admin, Monitoring, Tuning 을 위한 가장 중요한 정보 오라클 Data Dictionary 유형 특정 사용자/전체 사용자/ DBA 권한 사용자에게만 보여지는 Object 정보 ex> USER_XXX Views 소유자(즉 나, 사용자) 테이블 볼 수 있음. 소유자, 건수 등 확인 가능 All_XXX Views..
Section2. OLTP와 BATCH 그리고 I/O Latency와 Throughput의 이해 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] OLTP와 Batch 그리고 I/O Latency와 Throughput OLTP (On-Line Transaction Processing)는 실시간으로 DB 데이터를 조회/갱신 하는 시스템 대부분의 업무 시스템 (금융/통신/ERP 등 조회업무, 쇼핑몰 주문, 콘서트 예매 등) 즉 대량의 동시접속이 요구 되는 시스템 건당 매우 빠른 수행 시간이 생명(보통 0.01~1초 이하) 빠른 수행 시간을 위해 I/O Latency 가 우선시 됨 Latency란? 시스템 리퀘스트에 대해 얼마나 response가 얼마나 빠르게 오냐? Batch Processing은 작업을 몰아 두었다가 한 번에 처리하는 시스템 주로 야간, 주말, 월말 등 정산/마감/통계 생성 등..
Section2. HDD와 Flash Storage 그리고 RAID의 이해 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Disk Storage Stripping Storage에 RAID 0 Stripping을 한 경우 I/O가 균일하게 모든 Disk Drive에 동시에 수행되어 빠른 시간 안에 I/O 처리. LUN group 또는 LVM? LUN Group(Logical Unit Number Group) 저장 공간의 일부를 그룹화 하는 방법. 여기서 LUN은 일종의 주소처럼 작동하며, 컴퓨터가 네트워크 상의 특정 저장 공간을 찾을 수 있도록 도와줌. LVM(Logical Volume Manager) 논리 볼륨 관리자 라고 불리며, 컴퓨터의 저장 공간을 더 유연하고 효율적으로 사용 할 수 있도록 함. LVM은 컴퓨터의 하드 드라이브들을 마치 하나처럼 묶어서 사용 할 ..
Section2. FullScan과 Random IO 비교 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] ■ Random I/O 증가량에 따른 성능 변화 (Random I/O, Full Scan 모두 Disk I/O 로 가정) - 1만건의 Record를 Access하기 위해서 Random I/O 시 1,000 Block이 필요하고 Full Scan 시 십만 Block 필요할 경우 어떤 Access가 더 빠른가? - 백만건의 Record를 Access 하기 위해서 Random I/O 시 십만 Block 이 필요하고 Full Scan 시 천만 Block 필요 할 경우 어떤 Access 가 더 빠른가? -> Random I/O 는 그 절대량이 늘어날 수록 H/W 적인 제약으로 인하여 수행 성능이 급격하게 저하 됨. - 특정 Table의 컬럼값 분포도가 균일..
체인점식자재관리시스템 체인점 식자재 관리 시스템으로 ERD 문제를 만들어 보았는데 "체인점"의 특징을 잘 살리지 못해서 아쉬운 문제다. 복잡하기만 하고 가독성 떨어지는 문제처럼 보이기는 한데, 이 복잡함을 이해하고 표현하는 연습도 중요하므로 그려보았다. ---------------------------------------------------------------------------------------------------------------------- 우리는 체인점의 식자재 유통 및 통합 관리 시스템(이하 '식자재 관리시스템')을 만든다. 이 시스템은 체인점인 여러 매장 정보를 관리하며 매장번호, 매장명, 매장주소, 매장 연락처, 매장면적, 매장오픈일, 매장 관리자, 매장담당자 정보를 포함한다. 각 체인점의 관리자..
Section2. Sequential 과 Random Access [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] Hard Disk 의 데이터 Access 원리 - 해당 데이터를 Access 하기 위해 Disk는 어떤 움직임을 해야 하는가? - Hard Disk 는 Spindle 과 Head의 기계적인 움직임을 통해 데이터에 엑세스 함. - 이러한 기계적 움직임은 Hard Disk Access 속도의 많은 부분을 차지하고 있음. - 데이터의 Access랑 보다 주어진 데이터를 Access 하기 위한 기계적 움직임이 얼마나 많았는지가 상대적으로 Hard Disk의 수행속도를 더 좌우함. - 따라서 자주 Access 해야 되는 Block을 이동해야 하는 Random I/O의 경우 Hard Disk의 수행 속도가 느려질 수 있음. -> Sequential Acces..
Section2. 클러스터링 팩터 [출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드] 클러스터링 팩터: 사용자가 자주 검색하는 비슷한 값들이 얼마나 서로 모여 있느냐에 따라서 액세스 하는 block 건수가 달라짐. 즉 I/O 횟수가 차이가 나게 됨. 사용자가 입력하는 데이터를 주어진 블록의 여유 공간에 순차적으로 위치 -> 빠른 데이터 입력 속도, 상대적으로 나쁜 클러스터링 팩터 사용자가 입력하는 데이터를 그 값에 따라 지정 된 블록 영역에만 입력 -> 느린 데이터 입력 속도, 상대적으로 좋은 클러스터링 팩터 데이터 저장구조 최적화의 이슈 - 특정 조건의 검색 최적화를 위해 데이터를 저장하였지만 해당 조건이 아닌 다른 조건으로 검색할 경우에는 오히려 성능저하가 발생 할 수 있음. - 데이터를 바라보는 View는 단일 조건일 수 만은..

반응형