[DB] 데이터베이스개론 2장 요약

박성빈·2023년 6월 19일
0

DB

목록 보기
2/3

데이터베이스 관리 시스템(DBMS)

컴퓨터 분야에서 데이터 관리 담당자로 잘 알려진 시스템은 파일 시스템과 데이터베이스 관리 시스템이다.
이번 챕터에서는 파일 시스템의 문제점을 알아보고 그 문제를 해결할 수 있는 대안으로 제시된 데이터베이스 관리 시스템의 핵심 기능과 장단점을 살펴보고 발전과정을 알아본다.

데이터베이스 관리 시스템의 등장배경

과거에는 데이터를 관리하기 위해 파일 시스템이라는 소프트웨어를 사용했다.
데이터를 파일로 관리할 수 있도록 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하며 운영체제와 함께 설치된다.
파일 시스템은 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리한다.

파일 시스템의 장점 : 구매 비용이 들지 않는다.

  • 파일 시스템의 단점
  1. 같은 내용의 데이터가 여러 파일에 중복 저장된다.
  2. 응용 프로그램이 데이터 파일에 종속적이다.
    (데이터 구조 바꾸면 응용 프로그램도 수정해야함...)
  3. 데이터 파일에 대한 동시, 공유, 보안, 회복 기능이 부족하다.
  4. 응용 프로그램을 개발하기 쉽지 않다.

데이터베이스 관리 시스템의 정의

파일 시스템이 지닌 문제의 근본적 원인은 데이터 중복성데이터 종속성으로 요약할 수 있다. 이러한 문제를 해결해 줄 수 있는 것이 데이터베이스 관리 시스템(DBMS)이다.
DBMS는 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 응용 프로그램을 대신해서 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색하고, 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.

DB에 데이터를 통합으로 저장하고 동시에 DB를 사용할 때 발생하는 문제를 DBMS에서 처리해주기 때문에 데이터 중복으로 인한 여러 문제가 해결된다.

사용자나 응용 프로그램은 데이터베이스의 물리적 저장 구조나 데이터 접근 및 처리 방법 등을 자세히 알 필요가 없어 부담이 줄어든다. 또한 DB 구조나 접근 방법 등이 변경되어도, 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성이 확보된다.

DBMS가 제공하는 주요 기능은 다음 세 가지로 요약할 수 있다.

  • 정의 기능
    DB구조를 정의하거나 수정할 수 있다.
  • 조작 기능
    데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
  • 제어 기능
    데이터를 항상 정확하고 안전하게 유지할 수 있다.

데이터베이스 관리 시스템의 장단점

DBMS의 장점

  1. 데이터 중복을 통제할 수 있다.
  2. 데이터 독립성이 확보된다.
  3. 데이터를 동시 공유할 수 있다.
  4. 데이터 보안이 향상된다.
  5. 데이터 무결성을 유지할 수 있다.(데이터 무결성 : 저장된 데이터 값의 정확성)
  6. 표준화할 수 있다.
  7. 장애 발생 시 회복이 가능하다.
  8. 응용 프로그램 개발 비용이 줄어든다.

DBMS의 단점

  1. 비용이 많이 든다.
  2. 백업과 회복 방법이 복잡하다.
  3. 중앙 집중 관리로 인한 취약점이 존재한다.

데이터베이스 관리 시스템의 발전과정

1세대 데이터베이스 관리 시스템 : 네트워크, 계층 DBMS

  1. 네트워크 DBMS
    노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델이다.
    간선을 이용해 데이터 간의 관계를 표현하기 때문에 데이터베이스의 구조가 복잡하고 변경하기 어렵다는 단점이 있다.

ex) IDS(Integrated Data Store, 1960년대 초에 개발)
2. 계층 DBMS
DB를 트리 형태로 구성하는 계층 데이터 모델을 사용한다. 네트워크 DBMS보다 구조가 단순하다. 하지만 복잡한 현실 세계의 모습을 트리 형태로 표현하기 힘들고, 구조 변경이 어렵다는 문제가 있다.

ex) IMS(Information Management System, 1960년대 후반에 개발)

2세대 데이터베이스 관리 시스템 : 관계 DBMS

1980년대 초반부터 계속 사용되어 온 관계 DBMS가 2세대에 속한다.
관계 DBMS는 DB를 테이블 형태로 구성하는 관계 데이터 모델을 사용한다.
관계 데이터 모델은 DB를 단순하고 이해하기 쉬운 구조로 구성한다는 장점이 있다.
1980년대에는 관계 DBMS가 DBMS의 주류가 되었고, 1990년대에도 기술이 계속 확장되고 성능이 향상되었다.
관계DBMS는 지금도 널리 사용되고 있다.

ex) 오라클, MS SQL 서버, 액세스(Access), 인포믹스(Infomix), MySQL등이 있다.

3세대 데이터베이스 관리 시스템 : 객체지향, 객체관계 DBMS

  1. 객체지향 DBMS
    1980년대 후반에 등장한 객체지향 DBMS는 객체라는 개념을 이용해 데이터베이스를 구성하는 객체지향 데이터 모델을 사용한다.
    객체지향 DBMS는 더 복잡한 응용 분야의 데이터를 관리하려는 사용자 요구를 충족시키기 위해 제안되었다.

ex)오투(O2), 온투스(ONTOS), 젬스톤(GemStone) 등
2. 객체관계 DBMS
1990년대 후반에 등장한 객체관계 DBMS는 관계 데이터 모델에 객체지향 개념을 도입한 객체관계 데이터 모델을 사용한다. 쉽게 말하면 관계DBMS + 객체DBMS이다.

4세대 이후 데이터베이스 관리 시스템 : NoSQL, NewSQL DBMS

  1. NoSQL DBMS(Not Only SQL)
    3세대 데이터 베이스들이 나왔음에도 대부분의 기업에서는 관계 DBMS의 여러 장점을 그대로 유지하려했고 새롭게 등장한 DBMS로 전환하는데 매력을 느끼지 못했다.
    그러나 수많은 사람들이 SNS를 폭발적으로 이용하면서 사진, 동영상, 검색 로그 같은 비정형 데이터가 대량 생산되었다. 이와 더불어 클라우드 컴퓨팅, 빅데이터의 개념이 등장하면서 관계 DBMS에 대한 확신이 흔들리게 되었다. 비정형 데이터를 처리하는데는 관계 DBMS가 효율적이지 못했기 때문이다.
    이러한 시대적 흐름은 NoSQL DBMS의 등장을 유도했다.
    NoSQL DBMS는 관계 DBMS가 강점으로 제시하던 안정성과 일관성 유지를 위한 복잡한 기능을 포기했다. 데이터 구조를 미리 정해두지 않기 때문에 비정형 데이터를 저장하고 처리하는데 적합했다. 확장성도 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는데 적합했다.
    NoSQL은 1998년에 처음 언급되었으나 Not OnlySQL, 즉 관계 DBMS를 적용하기 힘든 환경에서 선택할 수 있는 대안으로서 의미를 가지게 된 것은 2009년 이후이다.

ex) 몽고디비(MongoDB), H베이스(HBase), 카산드라(Cassandra), 레디스(Redis), 네오포제이(Neo4j), 오리엔트DB(OrientDB) 등

2.NewSQL DBMS
NoSQL이 많은 장점을 지녀도 아직 기업에서는 정형 데이터가 차지하는 비율이 높기 때문에 기존 관계 DBMS도 유지하면서 NoSQL DBMS도 추가로 도입해야 하는 부담을 얻게 된다. 이런 불편함을 해결하고자 NewSQL DBMS가 생겨났다.
2011년에 처음 언급된 NewSQL DBMS는 안정성과 일관성을 유지함녀서 SQL을 이용해 다양하고 복잡한 데이터 처리를 편리하게 요청할 수 있다.
즉, 관계 DBMS의 장점과 NoSQL의 확정성 및 유연성을 모두 지원한다.

ex)구글 스패너(Spanner), 볼트DB(VoltDB), 누오DB(NuoDB) 등

NewSQL이 관계DBMS나 NoSQL을 완전히 대신하지는 못한다.
NewSQL은 시장에 진입한 지 얼마 되지 않았고 더 큰 발전이 기대되지만 당분간은 관계DBMS와 NoSQL과 NewSQL이 상호 보완하며 공존할 것으로 예상된다.
사용자는 저장할 데이터의 형태, 업무 처리 성격 등을 고려해서 적합한 DBMS를 선택하는 것이 중요하다.

profile
주로 프로그래밍을 공부하는 대학생입니다.

0개의 댓글