본문 바로가기

Algorithm & Data

ISAM [indexed sequential access method]

자료를 파일로 저장하되 자료의 순서대로 처리하거나 특정 항목을 색인으로 하여 처리할 수 있는 파일처리 방법.

자료를 저장하고 검색하는 방법 중에는 자료의 저장 순서대로 처리하는 방법이 있고, 특정 항목을 이용하여 순서에 관계없이 임의로 처리하는 방법이 있고, 두 가지 방법을 함께 이용하는 방법이 있다. ISAM을 그대로 풀어 보면 색인에 의한 순차처리 방법이라 할 수 있는데, 이는 자료를 순서대로 처리할 수도 있고 특정 항목을 색인으로 하여 순서에 관계없이 처리할 수도 있다는 뜻이다.

지금도 사용하는 파일처리 방법이지만, 데이타베이스 처리방법이 보편화 되기 이전에 사용하던 고전적인 파일처리 방법 중에서는 가장 많이 사용하던 방법인데, 이는 하나 이상의 특정 항목을 색인으로 이용하기 때문에 저장된 자료를 빠르고 쉽게 검색할 수 있어 자료처리가 용이하기 때문이다.

ISAM을 적용하는 파일은 색인부, 주저장부, 오버플로부 등 3개의 영역으로 나누어 관리한다. 자료를 새로 저장하면 자료내용은 주저장부에 기록되고 그 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록된다. 그렇게 저장된 자료를 색인으로 찾으면 먼저 색인부에서 그 자료가 저장된 위치(주소라 함)를 찾은 후에 필요한 자료를 찾아가도록 되어 있다.

자료가 순서대로 저장되지 않기 때문에 저장된 자료의 중간에 위치하게 될 자료를 새로 저장하면, 색인부에서 자료의 위치만 조정한 후에 실제 자료는 오버플로부에 기록된다. 따라서 계속해서 새로운 자료를 많이 저장하게 되면 자료들의 위치가 주저장부와 오버플로부에 무순으로 존재하게 되므로, 읽거나 쓰는 데 시간이 많이 걸리게 된다. 따라서 적정한 기간을 주기로 한번씩 처음부터 자료를 순서대로 읽어서 다른 파일로 옮겼다가, 새로 만들어 주는 재편성 작업이 필요하다.

ISAM의 장점은 자료를 무순으로 저장해도 순서대로 읽거나 색인으로 처리를 할 수 있어 정보관리가 편리하다는 점이지만, 저장용량이 많이 들고, 재편성이라는 작업이 필요하며, 재편성을 적절히 하지 않으면 점차 처리속도가 현저하게 떨어지는 단점이 있다. 어떻든 고전적인 파일처리 방법에서는 가장 이상적인 자료저장과 처리방법이라 모든 컴퓨터에서 이 방법을 사용했으나, 데이타베이스 방법이 보편화 되면서 서서히 그 자리를 내어주고 있다.  현재는 일반적인 용도로는 거의 사용하지 않는다.

'Algorithm & Data' 카테고리의 다른 글

가상 서버 스케쥴링 알고리즘  (0) 2017.10.22