-
데이터를 정보시스템을 통해 처리하여 정보를 얻는다.
이책에서는 보조 기억 장치에 어떻게 효율적으로 데이타를 저장하고 관리하는가에 대해 중점적으로 설명한다.
용어
- 애트리뷰트, 데이터항목, 데이터 필드 : 특정 객체의 어느 한 성질을 나타내는 이름을 가진 논리적 데이터의 최소 단위
- 레코드 타입 : 위를 묶은 것들
- 레코드 어커런스(occurrence), 레코드 인스턴스 : 레코드 타입에 따라 집합에 들어가 특정 객체를 나타내는 , 이것을 일반적으로 레코드라 함
- 화일 : 컴퓨터 보조 기억 장치 내에 저장 되어 있는 같은 종류의 레코드 집합
왜 화일로 구성하는가 ?
- 데이터의 집합은 일반적으로 양이 너무 많다
- 프로그램은 어느 특정 시간에 데이타 집합의 일부만 접근하기 때문에 데이터 집합 전부를 주기억 장치에 한꺼번에 적재 시킬 필요 X
- 데이터의 독립성을 위해
종류
- 마스터 파일
- 조직체의 업무에 관한 정적인 면을 나타내는 데이터 집합
- 역사적 데이터를 포함하고 있음
- dictionart file : 메타 데이터를 포함하고 있음
- 급여 마스터 파일, 고객 마스터 파일,재고 마스터 파일등
- 트랜잭션 파일
- 마스터 파일에 반영될 변경을 모아둔 파일
- 보고서 파일
- 사용자에게 정보 검색의 결과를 보여주기 위해 주어진 일정한 형식으로 정리된 데이터
- 주로 하드 카피 보고서를 출력, 디스플레이에 출력하기 위함
- 작업 파일
- 어느 한 프로그램에서 생성된 출력 데이터를 다른 프로그램의 입력 데이터로 전달하기 위하여 만드는 '임시' 파일
- 프로그램 파일
- 주기억 장치나 보조 기억장치에 저장되어 있는 데이터를 처리하기 위한 명령어를 저장
- 코볼, 파스칼과 같은 고급언어, 어셈블리 언어,기계어, 작업제어 언어등으로 작성
- 명령어들은 컴파일, 링킹, 인터프리테이션된 처리결과의 형태가 될 수 있음
- 접근하는 목적으로 파일을 나눌 수 있음
- 입력 파일 : 프로그램이 읽기만 하는데 사용
- 출력 파일 : 프로그램이 기록만 하기 위해 사용 하고 보통 프로그램에 의해 만들어짐
- 입/출력 파일 : 둘다 ㅇㅋ
파일 조직(file organization) : 데이터 레코드를 파일로 표현하고 저장하는 기법
- 키 : 레코드를 식별하고 접근하는데 사용되는 레코드 필드
- 기본 키 : 유일하게 식별하고 저장하는 기억 장소를 결정하는데 사용되는 레코드 필드 , 유일함
- 보조 키 : 기본 키 빼고 나머지 레코드 필드중에서 레코드를 접근하는 데 사용 , 중복 가능
- 탐색 키 : 기본,보조 모두 탐색을 위해 탐색키로 사용할 수 있음
- 인덱스 : 특정 필드에 대한 접근 효율을 높이기 위해 만드는 보조적인 구조
- 기본 인덱스 : 기본 키
- 보조 인덱스 : 보조 키
- 집중(clustered) 인덱스 : 파일을 조직할 때 데이터 레코드의 순서를 그 파일에 대한 어떤 인덱스의 엔트리 순서와 동일하거나 비슷하도록
유지하는 인덱스, 최대 한개만 가능
- 비집중(unclustered) 인덱스 : 여러개 가능
- 역(inverted) 또는 밀집(dense) 인덱스 : 데이터 레코드 하나에 대해 적어도 하나의 인덱스 엔트리를 구성
- 희소(sparse) 인덱스 : 데이 파일의 레코드 그룹 또는 블록별로 하나씩 엔트리를 생성
데이터 파일의 1)저장 순서, 2)형태, 3)주로 사용되는 키, 4)인덱스의 종류 에 따라 아래와 같이 나눌 수 있음
- 순차 파일 : 데이터 레코드들을 저장 장치의 물리적 순서대로 저장하는 방법
- 수록 순차 파일 : 데이터가 시스템에 도달하는 선착순으로 수록
- 키 순차 파일 : 데이터 레코드들의 특정 데이터 항목 값의 순서에 따라 저장
- 인덱스된 순차 파일 : 파일을 1)인덱스 구역, 2)데이터 구역, 3)오버플로 구역으로 구성하고 순차 접근,인덱스를 이용한 임의 접근이 모두 가능하도록 함
- 직접 파일 : 레코드의 키값을 입력으로 받은 연산 루틴의 결과를 레코드의 주소가 되도록 파일을 구성
- 다중 키 파일 : 기본키에 대한 기본 인덱스(집중 인덱스)와 보조 키에 대한 보조 인덱스(비 집중인덱스)가 모두 사용
- 다차원 파일 : 복합 키에 대한 인덱스를 지원하는 파일
파일 조직 기법
- 보조 기억 장치 내에서 파일의 레코드 저장 순서를 결정
- 파일에서 주어진 필드 값을 포함하는 레코드를 탐색하는데 필요한 연산을 결정
어느 특정 파일에 대한 가장 적절한 조직의 선택은 1)저장 장치의 운영 특성, 2)데이터에 적용할 연산의 성질에 의해 결정
가장 중요 한것은 접근하려는 레코드의 물리적 전위 레코드들을 직접 접근할 수 있는가 순차 접근할 수 있는가
- 자기 디스크 : 직접 접근 저장 장치 (DASA :Direct Aceess Storage Device)
- 자기 테이프 : 순차 접근 저장 장치
파일의 연산
파일을 사용하는데 있어서 중요한 두가지는 파일 사용 형식과 연산의 성격이며 보통 수행되는 프로그램에 의하여 배치처리 되거나 인터렉티브형식으로 접근
- 배치 처리
- 트랜잭션들이 마스터 파일을 효율적으로 접근 할 수 있도록 구성하기 때문에 트랜잭션 그룹을 처리하는 성능이 주 관심사
- 인터렉티브
- 트랜잭션이 터미널에 도착하는대로 처리하므로 개개 트랜잭션의 처리 성능이 주요 관심사
( 1 ) 생성
데이터 조직의 설계, 데이터 수집 및 확인, 데이터 적재
대부분의 경우에는 파일이 한번에 한 레코드씩 구성되어도 데이터는 배치처리로 트랜잭션이나 마스터 파일에 적재하는데, 이는 대형 데이터일때 시간 소모가 큼
( 2 ) 갱신
마스터 파일의 내용을 최신으로 갱신
( 3 ) 검색
검색이 대화식으로 처리되는 것을 질의라하고, 배치 처리되면 고서 생성이라 함
( 4 ) 관리 유지
파일에 대한 연산의 성능을 향상시키는 것이 목적
- 재구성 : 같은 파일 조직 기법 범위내에서 구조적 변경
- 파일 재조직 : 하나의 파일 조직에서 다른 파일 조직으로의 변환
파일의 성능
- 주기억 장치에 저장된 데이터 구조는 특정 데이터를 찾기 위한 최대 비교 연산 회수로 평가
- 보조 기억 장치에 있는 파일은 연산을 수행하기 위해 필요한 보조기억 장치의 접근 회수로 성능 평가
- 연산의 유형은 파일 조직 방법의 선택에 영향을 줌
- 파일 활동 비율 = 처리 대상 레코드 수/전체 레코드 수
- 트랜잭션이나 검색 요청에 대한 응답시간
'2018년 > C, Java, FileSystem' 카테고리의 다른 글
[File System] ::트라이(trie) (0) 2018.01.22 [File System] ::B* tree, B+ tree (0) 2018.01.22 [File System] ::B Tree (0) 2018.01.22 [C] :: 배열, 주소, 포인터 (0) 2018.01.08 [C] :: 함수와 모듈화 (0) 2018.01.02