ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파일시스템과 RDBMS의 차이점
    정리필요2 2008. 9. 1. 23:17
     
     

    훌륭한 의사결정은 데이터하고 하는 가공되지 않은 사실로부터 만들어진 좋은 정보에서 이루어진다.

    데이터는 데이터베이스에 저장되어 있을 경우에만 효과적으로 관리될 수 있다.

    데이터 : 가동되지 않는 사실, 처리되지 않은 사실을 의미

    정보 : 결정의 근거가 되는 처리가 된 데이터
    * 데이터는 정보를 구축하기 위한 블록을 구성한다.
    * 정보는 데이터를 처리함으로써 만들어진다
    * 데이터는 데이터의 의미를 드러내 주는 데 사용된다.
    * 양질의 시기적절한 정보는 의사결정의 좋은 열쇠이다.
    * 양질의 의사결정은 글로벌 환경에서의 조직 생존의 열쇠이다.

    데이터 관리 : 데이터를 생성, 저장, 검색하기 위한 기본 원리

    파일
    : 컴퓨터시스템에서 사용되는 여러 가지 보조기억장치들 중 자기디스크와 자기테이프 유형의 기억장치가
             주로 이용되며, 컴퓨터에서 수행되는 프로그램을 액세스할 수 있도록 데이터를 저장하는 주된 매체로 이용
             되고 있다
             이러한 저장매체에 데이터가 구성되고 액세스되기 위한 파일처리 방법은 다음과 같다.
             즉 데이터가 구성되는 방법으로 순차적 구성(sequential organization),
             상대적 혹은 직접적 구성(relative 또는 direct organization)과 인덱스된 구성(indexed organization) 이
             있고, 구성된 데이터에 액세스하는 방법으로는 순차액세스(sequential access)와
             임의액세스(random access)가 있다.
             구성과 액세스 방법의 적당한 선택은 응용분야에서 데이터를 가장 효율적으로 처리할 수 있도록 한다.

    파일 구조

    1. 순차적 파일구조
    순차적으로 구성된 레코드들은 주어진 순서에 의해 차례차례 저장된다. 저장되는 순서는 보통 레코드에 있는 키(key)라고 하는 제어필드(control field)에 기준을 둔다. 또한 순차적으로 구성된 레코드들은 처리를 위해 순차적으로 검색된다.
    자기테이프는 반드시 순차적 구조를 사용해야 하며, 자기디스크는 또한 순차적으로 사용할 수 있다. 이 구조는 주로 입력레코드를 한꺼번에 모아 보조기억장치의 파일에 저장된 레코드와 같은 순서로 분류하는 일괄처리시스템에서 사용된다. 순차적 파일은 순차적 액세스가 필요하기 때문에 신속한 레코드의 액세스가 요구되는 거래지향처리에서는 잘 사용되지 않고 있다.

    2. 상대적 혹은 직접적 파일구조
    직접적 파일이라고도 불리는 상대적 파일은 파일 내에 상대적으로 위치한 레코드들을 포함한다. 레코드가 저장될 장소를 레코드에 있는 키의 값을 기준으로 결정한다. 예를 들면, 데이터가 저장되는 10개의 장소가 있는 파일을 만들 수 있다. 레코드에 있는 키가 한 자리 숫자값(0∼9)이라면 키값은 레코드가 있는 파일 내의 위치를 규정한다.

    3. 인덱스 된 파일구조
    주요 파일구성의 세 번째 방법은 인덱스된 파일구성(indexed file organization)이다. 레코드는 키에 따라 오름차순이나 내림차순으로 인덱스된 파일에 저장된다. 이 점에서 인덱스된 파일의 레코드는 순차적 파일의 레코드와 유사하다. 그러나 인덱스된 파일 또한 인덱스를 포함하고 있다. 하나의 인덱스는 파일에 있는 데이터 레코드 키와 레코드의 디스크주소를 포함한다. 이 인덱스는 파일이 생성될 때 항상 디스크에 저장되고, 파일의 레코드를 액세스할 때 반드시 디스크로부터 인출되어야 한다. 인덱스를 사용하여 인덱스된 파일 내의 레코드들을 임의로 액세스 할 수 있다. 인덱스는 한 레코드의 키와 상응하는 디스크번지를 포함한다. 여기서 레코드의 키는 부품번호이고, 상응하는 디스크번지는 레코드가 위치한 디스크 내의 위치를 명시하고 있다.
     
    예를 들면 하나의 파일은 부품번호, 확보된 부품의 수량, 부품의 주문량을 포함하는 재고 레코드들로 구성되고, 레코드들은 부품번호에 의해 오름차순으로 저장되었다고 하자. 인덱스는 오름차순으로 된 부품번호와 레코드들이 위치한 디스크의 실제번지를 갖고 있다. 인덱스된 파일의 레코드를 순차적 또는 임의로 액세스할 수 있다.

    인덱스된 파일의 레코드를 순차적으로 검색하는데는 두 가지 방법이 있다. 이중 하나는 파일의 첫 번째 레코드로부터 시작하여 전체 레코드를 차례대로 계속 검색하는 방법이고, 또 다른 방법은 특정 키가 속한 인덱스의 처음 레코드부터 순차적으로 검색하는 방법이다.
    인덱스된 파일에서도 임의액세스를 사용할 수 있다. 인덱스된 파일의 레코드를 임의로 액세스하기 위해서는 검색하고자 하는 레코드가 발견될 때까지 인덱스를 찾는다. 인덱스를 찾고 난 후 거기에 기록된 주소를 이용하여 다른 어떤 레코드도 읽지 않고 파일에서 직접 해당되는 레코드를 액세스할 수 있다.

    상대적 파일과 인덱스된 파일이 모두 순차적이고 임의적인 액세스를 제공할지라도 몇 가지 다른 차이점이 있다. 상대적 파일을 사용할 경우 인덱스를 찾을 필요가 없어 인덱스 파일보다 액세스가 빠르며, 상대레코드위치를 계산하여 레코드를 읽는다. 인덱스를 찾는데 많은 시간이 소요되는 이유는 두 가지가 있다. 하나는 인덱스가 길어 주기억장치의 속도로 검색하더라도 약간의 시간이 요구되는 경우이며, 다른 하나는 인덱스가 종종 주기억장치에 있지 않고 보조기억장치에 저장되어 있으므로 인덱스된 파일의 임의검색을 할 경우, 인덱스를 검색하기 전에 먼저 인덱스를 주기억장치로 읽어들여야만 한다. 따라서 최소 두 번의 디스크액세스, 즉 인덱스를 읽어들이기 위한 것과 요구되는 레코드를 읽어들이기 위한 것이 필요하며, 매번 레코드를 디스크로부터 읽어들이기 때문에 검색작업이 느려지게 된다.

    인덱스된 파일과 상대적 파일로부터 데이터를 순차적으로 검색할 때의 차이점은, 인덱스된 파일의 경우 키는 오름차순이나 내림차순으로 배열되나 상대적 파일은 그럴 필요가 없다는 점이다. 따라서 인덱스된 파일은 순차적 파일과 상대적 파일 사이에 절충안을 제공해주며, 많은 응용에서 인덱스된 파일은 임의검색과 순차적 검색이 가능하여 이상적인 것으로 판명되었다.
      
    데이터베이스

    데이터베이스(database)는 실세계에 존재하는 많은 데이터들 가운데 어떤 조직이나 단체를 유지하고 관리하는데 필수적인 관련 데이터들의 집합이다.
    즉 데이터베이스란 어떤 일에 관련되거나 필요한 데이터들의 집합 또는 어떤 집단의 유지 관리에 필요한 데이터들의 집합을 의미한다. 즉 데이터베이스는 현실세계의 일부분을 표현하며, 부분적인 현실세계의 변화는 데이터베이스에 기록되고 데이터베이스는 고유의 의미를 갖는 관련 데이터들의 논리적인 집합이다.

    데이터베이스는 흔히 특정 목적을 가진 데이터들을 설계하고 구축하여 사용된다. 결국 데이터베이스는 본래부터 관심이 있는 특정 사용자 그룹을 가지며, 이 지정된 사용자 그룹으로부터 사전에 식별된 적용 분야를 갖고 있다. 다시 말하면, 데이터베이스는 데이터가 추출될 수 있는 근원과 현실 세계에서 발생하는 사건과의 상호작용, 그리고 데이터베이스 내용에 관심 있는 사용자 그룹을 갖는다. 또한 데이터베이스는 기계나 수동에 의해 생성되고 유지·관리될 수 있으며, 컴퓨터에 수록된 데이터베이스는 데이터베이스 관리시스템(DataBase Management System: DBMS)이나 특정한 일을 처리하기 위한 응용프로그램에 의해 생성되고 유지·관리될 수 있다. 
     
    이와 같이 데이터베이스는 실세계의 데이터들 가운데 필요에 의해 운영할 데이터의 식별과 식별된 데이터의 전형적인 표현과정을 통해 컴퓨터에 수록된 데이터 집합으로 정의된다. 이 과정을 데이터베이스 모델링 또는 데이터 모델링(data modeling)이라 한다.

    데이터 처리방식의 비교
    파일 시스템과 데이터베이스 시스템의 차이점은 크게 자료보관 방법과 접근방식의 기술에 의해 비교된다.
     
    (1) 파일 시스템
    기존의 파일 시스템은 모든 응용프로그램에서 개별적으로 파일을 유지하고 사용한다. 따라서 파일 시스템은 각 응용프로그램에서 필요한 데이터 파일의 중복이 필연적으로 발생하며, 이로 인한 모든 데이터 파일 사이에 자료의 불일치성(inconsistancy) 문제가 대두된다.
     그 예로 컴퓨터를 이용한 어떤 학급의 주소록을 관리하는 경우, 파일 시스템과 데이터베이스 시스템의 체계를 활용할 수 있다. 먼저 파일 시스템 체계는 학급에 속한 동료들이 각자의 컴퓨터에서 개별적인 응용프로그램과 주소록 파일을 저장하여 관리하는 방법이다. 이것은 어떤 친구의 주소 변경이나 신상 변경에 대해 개별적으로 모든 주소록 파일을 수정해야 할 뿐만 아니라, 때때로 연락을 받지 못한 친구는 옛날의 주소를 그대로 유지하므로 데이터의 불일치성과 모든 데이터 파일에 데이터의 중복성 문제가 대두한다.
     
     (2) 데이터베이스 시스템
     데이터베이스 시스템은 위의 파일 시스템에서 대두되는 모든 문제점이 거의 해소된다. 각자의 컴퓨터는 단지 개별적으로 응용프로그램을 유지하고, 모든 동료들의 주소록은 단일의 데이터베이스에 저장되어 관리되므로 데이터의 일관성이 유지된다. 아울러 같은 데이터베이스를 항상 다수의 사용자들이 공유할 수 있고, 데이터 중복의 최소화, 데이터베이스 사용을 위한 인터페이스의 표준화 등의 이점을 가진다.  데이터베이스가 일단 구축되면 프로그램을 통해서 데이터베이스 내의 데이터를 액세스하여 자료를 검색하고 갱신할 수 있다. 데이터베이스를 액세스하기 전에 응용프로그래머와 데이터베이스관리자는 우선 해당 프로그램과 같이 사용한 데이터베이스의 서브 스키마(sub schema)를 정의해야 한다. 서브스키마는 프로그램이 필요로 하는 데이터베이스의 한 부분이다. 여기서 데이터베이스 관리시스템은 응용프로그램과 데이터 관리프로그램 사이의 매개역할을 한다. 데이터베이스 관리시스템은 데이터베이스를 논리적으로 검색하는데 사용되며, 데이터 관리프로그램에 특정 입출력 기능을 요구한다.


    파일 시스템의 문제점
    - data dependency
    - data redundancy
    - data inconsistency

    예) 직원의 주소 - 인사파일 변경, 급여 파일 미 변경 

          => 파일시스템은 동일한 데이터에 대해 다수 파일에서의 값들이 일치하도록 하는 시스템 차원의 방법이 없다

          => 그래서 데이터베이스 등장

    데이터베이스의 장점
    - 데이터를 공유할 수 있다
    - 데이터 중복성을 최소화할 수 있다
    - 데이터 무결성을 유지할 수 있다
    - 데이터 보안을 유지할 수 있다



    파일 시스템
    (File System)



    • 주요 관점의 대상은 에플리케이션(Application; 응용)이고, 관련된 데이터는 파일에 저장
    • 에플리케이션에 특화된 형태로 데이터가 저장되고, 만약 조금이라도 다른 형태의 데이터를 필요로 하는 에플리케이션의 경우, 중복된 데이터라도 다른 형식으로 다시 저장해야 함
    • 단, 부수적인 처리가 필요없는 단순한 데이터의 입출력 작업인 경우 에는 간단하게 처리가 가능함


    • Flat File

    • ISAM File
    • VSAM File



    관리시스템 (RDBMS)



    • SQL(Structured Query Language) 지원
    • 이전에 에플리케이션에서 처리해야 했던 많은 기능들을 DBMS가 지원
      - 데이터 무결성, 보안, 권한, 트랜젝션 관리, 록킹(Locking)등
    • 데이터 모델링이 간편해지고 에플리케이션 개발을 용이하게 지원
    • 데이터 모델링이 너무 간단하기 때문에 복합 에플리케이션 (CAD/CAM, CASE, Multimedia, GIS등)에는 적합하지 않음
    • 데이터베이스 특징
      - 데이터베이스는 테이블들로 구성된다.

      - 레코드(로우; 행)는 필드(컬럼)로 구성된다.

      - 한 필드는 단지 하나의 Data Item을 갖는다.

      - 레코드는 다른 레코드에 대하여 어떤 Pointer라도 갖지 못한다.

      - Data사이의 동적(Dynamic)인 상호 관계는 조인(Join)을 통하여 일어난다.  성능 문제가 중요하게 발생함

      - 데이터베이스 스키마(Schema)에 대한 동적인 변화들이 가능하다. 예) 테이블에 대한 새로운 필드의 추가, 삭제

      - 한 필드는 하나의 Data Item만을 포함한다.
      레코드들을 중복시킴으로서 성능 함정에 빠질 수 있다.
      - 멀티 미디어 자료 지원이 불가능


    • IBM DB2
    • ORACLE
    • INFORMIX
    • SYBASE
    • INGRES
    • MS-SQL등


     
     
    출처- miriam.tistory.com/228
Designed by Tistory.