본문 바로가기

DB

(13)
[Real MySQL] 인덱스 (1) 8.1 디스크 읽기 방식 Random I/O 3개의 페이지를 디스크에 기록 하기 위해 3번의 시스템 콜 요청 → 디스크 헤더 3번 움직임 인덱스 레인지 스캔에서 Random I/O 사용 OLTP (On-Line Transaction Processing) 성격의 웹 서비스에서 자주 사용 일반적으로 쿼리를 튜닝한다 함은 Random I/O → Sequential I/O 가 아닌 Random I/O 를 줄이는 것 Sequencial I/O 3개의 페이지를 디스크에 기록하기 위해 1번의 시스템 콜 요청 → 디스크 헤더 1번 움직임 풀 테이블 스캔에서 Sequential I/O 사용 데이터웨어하우스나 통계 작업에서 자주 사용 (많은 레코드를 더 빨리 읽어올 수 있으므로) 8.2 인덱스 데이터가 저장 될 때 마다 ..
[Architecture of a Database System] Parallel Architecture: Processes and Memory Coordination 이번 장에서는 DBMS 용어를 정리하고 각각의 process models에서 메모리를 어떻게 사용하는지 알아본다. 3.1 Shared Memory Shared-Memory Parallel Systemd은 모든 프로세서가 같은 RAM과 디스크에 비슷한 퍼포먼스로 사용할 수 있다. 3가지 프로세스 모델 모두 이 아키텍처 위에서 잘 동작한다. Shared-memory의 프로세스 모델은 uniprocessor에서도 잘 동작한다. 대부분의 데이터베이스 시스템은 초기에 uniprocessor에서 동작되도록 만들어졌기 때문이다. Shared-memory 머신에서는 OS가 transparent하게 동작하도록 보장한다. 이 아키텍처의 주요 문제인 쿼리 실행 계층(Query Execution Layer)에서 단일 쿼리를 ..
[Architecture of a Database System] Process Models multi-user 서버를 디자인할 때, concurrent 유저의 요청과 이 요청이 어떻게 OS의 프로세스 또는 쓰레드에 매핑될지에 대해 고려해야한다. 이것은 퍼포먼스와 확장 가능성, 그리고 이식성에 영향을 끼친다. 이 장에서는 availability of operating system support for threads와 uniprocessor를 가정한다. 앞으로의 모든 설명은 다음 정의를 따른다. Operating System Process는 private한 address space를 가진 OS의 프로그램 실행 단위(thread of control)이다. 프로세스에는 OS resource handles와 security context가 포함된다. 프로세스 실행은 커널 스케쥴러에 의해 스케쥴링 된다...
[Architecture of a Database System] Introduction Relational Systems: The Life of a Query 전형적인 RDMBS에는 5개의 메인 컴포넌트가 있다. 승객의 리스트를 달라는 클라이언트의 요청을 예로 들어보자. 이는 하나의 쿼리 트랜잭션이 된다. 그리고 다음과 같이 동작한다. 클라이언트의 API 요청은 네트워크를 타고 Client Communication Manager 의 커넥션이 된다. 이 커넥션은 ODBC 또는 JDBC를 통해 만들어진다. Client Communication Manager가 하는 일은 다음과 같다. connection state를 만들고 기억한다. SQL commands에 응답하고 데이터와 컨트롤 메세지 (result codes, errors, etc)를 반환한다. 이 예제에서 Communication Man..
SQL 관계형 데이터베이스 개요 SQL 문장의 종류 명령어 종류 명령어 DML (Data Manipulation Language) SELECT, INSERT, UPDATE, DELETE DDL (Data Definition Language) CREATE, ALTER, DROP, RENAME DCL (Data Control Language) GRANT, REVOKE TCL (Transaction Control Language) COMMIT, ROLLBACK STANDARD SQL 현재 SQL의 많은 기능이 관계형 데이터베이스의 이론을 수립한 E.F.Codd 박사의 논문에 언급돼 있다. 논문에 언급된 8가지 관계형 대수는 4개의 일반 집합 연산자와 순수 관계 연산자로 나눌 수 있다. 일반 집합 연산자를 현재의 SQ..