본문 바로가기

Database5

DBMS 버퍼 관리 버퍼 관리(Buffer Management) DBMS에서 가장 낮은 레벨인 디스크 공간 관리 모듈과 파일 및 인덱스 관리 모듈 사이에 위치하고 있다. 왜 버퍼 관리가 필요한가? 메모리 공간은 제한되어 있기 때문에 디스크의 모든 페이지를 버퍼 풀에 저장할 수 없다. 버퍼 관리의 책임과 역할은? 버퍼 매니저는 메모리에서 페이지를 관리하고 파일 및 인덱스 매니저로부터 페이지 요청을 처리하는 역할을 담당하고 있다. 디스크의 페이지 ID와 RAM 의 주소를 매핑한다. 요청된 페이지를 RAM 에 유지하고 조작할 수 있게 한다. 사용이 끝난 페이지는 pin을 해제하여 RAM에서 제거될 수 있도록 한다. 페이지가 메모리에서 제거되거나 새로운 페이지가 메모리에 올라갈 때 디스크 공간 관리 모듈과 통신하여 필요한 디스크 .. 2023. 5. 27.
디스크 공간 관리 모듈 디스크 공간 관리 모듈(disk space management) 대부분의 데이터베이스 시스템은 디스크와 SSD에 정보를 저장한다. 디스크 공간 관리 모듈의 바로 위 계층 모듈인 버퍼 관리 모듈은 디스크 공간 관리 모듈을 호출하여 페이지를 읽고 쓰고, 논리 페이지를 할당하고 해제한다. 디스크 공간 관리 모듈은 DBMS 아키텍처의 맨 아래층으로 디스크 상의 공간을 관리하는 역할을 한다. 특정 페이지가 물리적으로 디스크의 어느 지점에 위치하는지 추적하여 읽기 페이지를 디스크에 쓰는 작업 디스크 드라이브는 Block(블록)이라는 큰 연속적인 바이트를 읽고 쓰는 인터페이스를 제공한다. Block이란 디스크와 RAM사이의 전송 단위로 데이터베이스 시스템 설정에 따라 달라진다.(4KB, 16KB, 64KB, 128K.. 2023. 5. 8.
DBMS 아키텍처 DBMS 아키텍처 네트워크의 OSI 모델처럼 각 모듈별로 하위의 모듈에만 의존하게 끔 설계되어있음. 쿼리 파싱 및 최적화(Parsing & Optimization) 모듈 SQL을 파싱하여 문법에 맞는지 검사한 후, 시스템이 실행할 수 있는 관계형 쿼리 계획(relational query plan)으로 변환하는 작업을 수행 사용자가 입력한 쿼리를 분석하여 쿼리 문법이 올바른지 확인한다. 쿼리에서 참조하는 테이블과 열등이 존재하는지 확인한다. 이 과정에서 오류가 발생하면 쿼리 실행 불가 다양한 최적화 기법을 사용하여 쿼리 실행 계획을 결정한다. 인덱스 사용 조인순서 최적화 서브쿼리를 최적화 관계형 연산자(Relational Operators) 모듈 관계형 쿼리 계획을 사용하여 쿼리의 결과를 생성한다. 레코드.. 2023. 5. 6.
SQL SQL SQL 언어의 구성 데이터 정의 언어(DDL) 데이터 조작 언어(DML) 무결성 뷰 정의 트랜잭션 제어 내장 SQL 권한 부여 SQL 질의 연산 순서 SELECT dept_name, avg(salary) as avg_salary FROM instructor GROUP BY dept_name HAVING avg(salary) > 50000; from 절로 릴레이션을 조회 where 절이 존재하면 where 절의 술어가 from 절의 결과 릴레이션에 적용 where 절의 술어를 만족하는 튜플은 group by 절이 존재하면 group by 절에 의해 그룹화된다. group by 절이 없다면, where 절의 술어를 만족하는 전체 튜플 집합은 하나의 그룹으로 간주된다. having 절이 존재한다면 각각.. 2023. 4. 22.
데이터베이스 시스템 데이터베이스 시스템(DBMS) 데이터베이스 시스템의 목적 데이터베이스에 정보를 저장하고 이를 검색하기 위한 편리하고도 효율적인 환경을 제공 데이터의 중복과 비일관성 해소 데이터 접근의 어려움 해소 데이터 고립 문제 해결 무결성 문제 해결 원자성 보장 동시접근의 문제 해결 보안 문제 해결 데이터 추상화 데이터베이스 시스템은 여러 단계의 데이터 추상화를 통해 데이터를 효율적으로 처리하기 위한 복잡한 구조를 감추어 사용자의 이해와 편의를 돕는다. 물리적 단계 데이터가 실제로 어떻게 저장되는지 기술한다. 복잡한 하위 단계의 데이터 구조가 상세히 기술된다. 논리적 단계 어떤 데이터가 저장되었는지 그리고 데이터들 사이에는 어떤 관계가 있는지를 기술한다. 논리적 단계의 사용자는 복잡한 물리적 구조의 단계에 대해 알 .. 2023. 4. 15.