본문 바로가기

728x90

Computer Science

(41)
그림으로 공부하는 오라클 구조 - Ch4. SQL문 분석과 공유 풀 SQL문 분석 with 옵티마이저 SQL과 실행 계획 - SQL은 처리 방법(절차)를 기술하지 않는다.(이렇게 저렇게 해라라는 방법에 대한 기술이 없다) - 대신 옵티마이저(파서)라고 불리는 기능이 실행 계획(plan)이라는 처리 방법을 생성한다. 이 작업은 서버 프로세스의 SQL문 분석에 해당하는 작업이다. - 실행 계획은 규칙 기반(rule base)과 비용 기반(cost base)라는 알고리즘을 가지고 생성한다. 하지만 규칙 기반은 더 이상 쓰이지 않아 비용 기반만 고려한다. - 비용 기반이란 '처리 시간이나 I/O 횟수가 가장 적을 것으로 예상되는 처리 방법이 최상'이라는 알고리즘이다. - 이 비용을 계산하기 위해서 여러 통계 정보를 사용한다. - 비용 계산을 위해 데이터 딕셔너리 뷰의 USER_..
그림으로 공부하는 오라클 구조 - Ch3. 캐시와 공유 메모리 캐시(Cache) - 오라클 시스템 구조에서의 캐시를 살펴보기 이전에 컴퓨터 공학에서 사용되는 캐시라는 용어에 대한 일반적인 개념부터 살펴보는 게 좋다 컴퓨터 구조에서의 캐시 개념 https://www.geeksforgeeks.org/cache-memory-in-computer-organization/ Cache Memory is a special very high-speed memory. The cache is a smaller and faster memory that stores copies of the data from frequently used main memory locations. There are various different independent caches in a CPU, which..
그림으로 공부하는 오라클 구조 - Ch2. 오라클의 여러 프로세스 프로세스란? - 실행 상태에 있는 프로그램. 실행 상태라서 메모리나 자원을 가지고 있다. 스레드 - 프로세스 내에 존재하는 실행 단위. 하나의 프로세스 안에서 처리를 병렬로 하고 싶을 때 사용 일반적인 프로세스와 데이터베이스 프로세스의 차이 - 데이터베이스를 사용하지 않는 프로그래밍에서는 일반적으로 개개의 프로세스가 자신이 가진 변수(데이터)를 처리하는 것이 일반적이지만 데이터베이스의 프로세스는 여러 프로세스나 사용자가 하나의 데이터베이스(데이터 집합)에 접근한 다는 점이 큰 차이점이다. 즉, 여러 사용자나 프로그램이 데이터베이스의 데이터를 공유한다. 오라클이 여러 개의 프로세스로 구성된 이유 위의 그림을 보면 RECO, PMON, SMON, DBW0, LGWR, ARC0 등 오라클 데이터베이스는 여러 ..
그림으로 공부하는 오라클 구조 - Ch1. I/O와 디스크의 관계 http://aladin.kr/p/pNCjM 그림으로 공부하는 오라클 구조 일본의 데이터베이스 잡지인 DB Magazine의 인기 연재물 ‘그림으로 공부하는 오라클 입문’을 재구성한 책이다. 오라클 아키텍처의 세계를 그림으로 체험함으로써 그 어떤 오라클 책보다도 쉽고 www.aladin.co.kr 오라클을 이해하기 위한 필수 키워드 병렬 처리를 가능케 하고 높은 처리량을 실현한다. 응답(response)을 중시한다. 커밋한 데이터는 지킨다. 오라클의 동작 원리를 공부할 때 위의 3가지 관점을 가지고 공부하면 이해하기에 좋다. 디스크의 동작 디스크에 데이터를 넣고 꺼내는 I/O작업이 메모리에 비해 현저히 느리기 때문에 디스크 I/O 작업은 최소화 되어야 한다. 이를 이해하기 위해서는 디스크와 메모리의 차이..
(Kept Updated) Programming 공부하거나 정리할 것들 - 아파치Apache - 톰캣 Tomcat 연동하는 이유? AJP란? https://cheershennah.tistory.com/142 - 인메모리 데이터베이스 https://en.wikipedia.org/wiki/In-memory_database https://bommbom.tistory.com/entry/%EC%9D%B8%EB%A9%94%EB%AA%A8%EB%A6%ACIn-memory-DB-%ED%8A%B9%EC%A7%95%EA%B3%BC-%EC%A2%85%EB%A5%98-%EB%B9%84%EA%B5%90
2024 리눅스 마스터 2급 pdf 정리 자료 및 notion 링크 오류나 오타 지적해주시면 반영하겠습니다 notion 주소 https://totoda.notion.site/2-5fbf29d84e474ad2abe7ac7cdf0981e9?pvs=74 리눅스마스터 2급 | Notion 파이널 특강
(작업중)1. SQL 수행 구조 및 처리 과정과 I/O 옵티마이저 SQL이란 구조적, 집합적, 선언적 질의 언어 → 결과 집합을 만드는 과정은 절차적 → 즉, 프로시저가 필요하다.(프로시저란 특정 작업을 수행하는 서브루틴(함수)를 의미) → SQL을 DBMS 내에서 프로시저로 만들어 낸다. 이 역할은 DBMS 내부 엔진인 SQL 옵티마이저가 담당한다. 즉, DBMS 내부에서 프로시저를 작성하고 컴파일하여 실행 가능한 상태로 만드는 전 과정을 ‘SQL 최적화’라고 부른다. SQL 최적화 과정 SQL 파싱 파싱 트리 생성 : SQL문의 개별 요소를 분석하여 파싱 트리 생성 Syntax 체크 : 문법적 오류 점검 Semantic 체크 : 의미상 오류 점검(미존재 테이블 또는 컬럼의 사용, 오브젝트 권한 점검 등) SQL 최적화 옵티마이저가 다양한 수집 정보를 이용..
이진 검색 이진 검색 이진 검색(binary search)은 요소가 오름차순 또순 내림차순으로 정렬된 배열에서 검색하는 알고리즘 중앙값을 가지고 비교 후 검색 범위를 반 씩 줄여나가는 방식이다. 그렇기에 배열이 정렬되어 있을 때 사용할 수 있음 검색에 필요한 비교 횟수의 평균값은 log n 이다. public class Test1 { public static void main(String[] args) { int arr[] = {1,2,3,4,5,6,7,8,9,10,11,12}; int key = 1; // 찾을 값 int idx = BinarySearch.binSearch(arr, key); System.out.println(arr[idx]); } } class BinarySearch { static int bi..

728x90