일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- IT
- 스위트라떼
- 러블리즈
- 장범준
- nginx
- 악보
- db
- 말 더듬
- I'm fine thank you
- index
- 6학년 8반 1분단
- 레이디스코드
- 기타
- 아이유
- 오라클
- 핑거스타일
- 니가 참 좋아
- 봄 사랑 벚꽃 말고
- Inside Of Me
- 오라클 아키텍처
- 개발자
- DBMS 구성요소
- 천공의 시간
- 슬픔의 후에
- 데이터베이스
- SQL 처리
- 신입
- 인덱스
- oracle
- DBMS
목록전체 글 (125)
취미로 음악을 하는 개발자
" 끝으로, 내년에는 좀 더 여유 있게 생활하면서 하고 싶은 것을 더 누리고 싶다. " - 작년의 내가 바라던 올해 회고록 2021년 1월 - 4월, 벌써 2년 차 벌써 1년이 지나고 2년 차라는 사실이 바로 와닿지 않았다. 별로 한 게 없고, 후배가 들어와서 무언가 물어볼 때 잘 대답해줄 수 있을까 라는 생각만 들어서 맡은 업무를 계속 들여다봤다. 올 해는 어떤 성과가 나오길 바라면서.. 20년에는 처음 업무 할 때만 이해하느라 지루하다는 생각은 안 들었지만 이벤트 업무가 반복 작업만 들어왔던 20년과는 달리 21년은 새로운 케이스 또는 기존 이벤트에 새로 무언가 추가해서 요청이 와서 덜 지루했던 것 같다. 업무 스택은 레거시 쪽을 많이 쓰고 있는데 왜 기술이 업그레이드를 하지 않는 걸까? 또는 업그레..
실행 계획이란? : 옵티마이저가 SQL문을 어떻게 실행할 것인지를 미리 판단할 수 있도록 시뮬레이션 해 보는 것 1. Nested Loop Join : 한 테이블의 Row를 읽고 다른 테이블에서 조인 조건에 해당되는 행들을 찾아가는 방식 1) Driving 테이블을 선택, (*Driving 테이블: 테이블을 조인할 때 첫 번째로 읽게 되는 테이블 Inner 테이블) 2) Driving 테이블의 각 행들에 대해 Inner table에서 조건에 만족하는 행들을 검색 3) 조인된 데이터를 결합하여 리턴 Driving 테이블로부터 순차적으로 조건에 맞는 데이터를 검색하기 때문에 성능의 영향을 많이 받음 또, 테이블을 조인할 때 조인되는 테이블의 연결고리에 따라서도 성능에 영향을 미침 Equi-Join 보다 No..
인덱스란 테이블에 존재하는 여러 데이터 행 중 원하는 데이터만 빠르게 찾을 수 있도록 테이블의 하나 이상의 열로 구성된 데이터베이스 오브젝트 Ex) 전화번호부, 찾아보기 등 인덱스 특징 - 하나 이상의 컬럼과 ROWID로 구성될 수 있다 - 구성된 열 순으로 자료가 정렬되어 있다 - 하나의 테이블에 하나 이상의 인덱스를 만들 수 있다 - 인덱스를 만들면 테이블과는 별도로 디스크에 저장된다 - 인덱스와 테이블을 ROWID를 사용하여 연결되어 있다 인덱스 스캔 절차 1) ROWID로 인덱스 컬럼 중 조건에 맞는 열 검색 2) 해당 테이블의 행 액세스 3) 테이블 중 원하는 열 조회 인덱스 생성 기준 : 인덱스를 너무 많이 생성하면 데이터 변경 작업 시 DBMS에 부하를 주게 됨으로 반드시 필요하고 자주 사용..
SQL문 처리 과정 사용자가 커맨드 상에서 DBMS 서버에 SQL문을 보내거나 프로그램을 통하여 SQL문을 보내면 DBMS는 다음과 같이 실행결과를 되돌려 준다 파스(Parse) -> 실행(Execute) -> 패치(Fetch) 1) 파스(Parse) - SQL문의 문법과 권한(시스템, 오브젝트) 체크 - 옵티마이저가 실행계획 수립 - 공유 메모리 영역에 저장 * 옵티마이저 : 원하는 데이터를 신속히 가져오기 위해 여러 가지 알고리즘과 통계치를 근거로 가장 빠른 실행 결로를 찾아주는 역할을 하는 DBMS의 핵심 프로세스 중 하나로 규칙기반/비용기반 옵티마이저가 있다 ㄴ규칙기반 옵티마이저는 미리 정해진 규칙에 근거하여 실행계획을 선택하고 비용기반 옵티마이저는 데이터 사전에 정의되어있는 통계정보와 선택 가능..
Apache [위키백과] - 아파치 소프트웨어 재단에서 개발한 HTTP 웹 서버 - Tomcat 등의 WAS와 같이 사용 가능 - 가장 인기 있는 웹 서버 Nginx [나무위키] - 아파치 *C10K문제를 보고 극복하기 위해 개발한 오픈 소스 웹 서버 프로그램 * C10K : 소켓이 많이 열려도 하드웨어 성능이 충분한데 I/O 처리 방식 문제 때문에 프로세스가 제대로 처리하지 못함 - 더 적은 자원으로 더 빠르게 데이터를 서비스하기 위함 Apache[해시넷] vs Nginx[티스토리] Apache Nginx - 안정성, 호환성, 확장성 등으로 가장 많은 점유율을 가짐 - 무료 오픈소스이며, 기능이 많지만 다 활용하는 사람은 드묾 - 멀티 프로세스 모듈 기반 - 2.2 버전대에서는 무겁다는 평이 많지만 E..
SGA 내부구조 Shared Pool 똑같은 SQL문을 여러 번 실행했을 때 SQL 질의 해석 결과를 재이용하는 기능인 라이브러리 캐시와 데이터 딕셔너리 캐시로 구성됨 Data Dictionary Cache 데이터베이스 내에서 사용되는 오브젝트에 대한 정보를 담고 있는 영역 DB Buffer Cache 디스크로부터 블록 단위로 읽어 온 데이터의 복사 본을 보관하는 메모리 영역 Redo Log Buffer 데이터베이스의 변화된 부분에 관한 정보를 갖고 있는 영역 오라클 데이터베이스의 파일 종류 Data Files 실제 데이터를 물리적으로 저장하는 데 사용 Control Files 데이터베이스의 제어 정보를 가지고 있는 파일 Redo Log Files 데이터베이스에 생긴 모든 변화를 기록하는 파일로, 인스턴..