데이터베이스 발전과정 및 종류 (NoSQL 제외)

비구름·2025년 3월 23일

데이터베이스

목록 보기
1/8

글을 작성하게된 이유

RDS만을 사용하며 관계형 데이터베이스인 SQL 데이터베이스에 대한 경험은 쌓여가지만 그 외 NoSQL과 In-Memory 데이터베이스와 같은 다른 종류의 데이터베이스에 대한 개념과 경험이 부족하다 생각하여 이렇게 글을 작성하게 되었습니다.

데이터베이스의 역사

어원

미국에서 군비의 관리를 위해 데이터 기지라는 뜻으로 데이터베이스라고 이름이 지어졌습니다.

데이터베이스의 발전 과정

1960년 초기 - 파일 시스템

  • 파일 시스템을 이용하여 데이터베이스를 구성하였습니다. 따라서 많은 데이터를 담을 수 있었지만 조회 속도가 느렸으며 재사용성이 좋지않아 관리가 어려웠습니다.
  • 데이터베이스의 관리를 위해 사용자수를 제한하였습니다.

1960년 중반 - 계층형 데이터베이스

  • 파일 시스템 구조 확장과 포인터를 사용하여 데이터를 트리 형태로 구성한 계층형 데이터베이스를 만들었습니다.
  • 데이터 사용량을 쉽게 예측하고 데이터 엑세스 속도가 빨랐으나 데이터베이스의 세팅을 변경하기 어려웠습니다.

1970년 - 네트워크형 데이터베이스

  • 기존 상하관계가 있었던 계층형 데이터베이스의 문제를 해결하고자 망형 데이터베이스가 만들어졌습니다.
  • 구성과 설계가 복잡하고 데이터끼리 연결되어있어 데이터 종속성을 해결하지 못했습니다.

1972년 - 관계형 데이터베이스

  • 논리관계를 가진 테이블을 구성함으로써 관계형 데이터베이스가 만들어졌습니다.
  • 기존 계층형 데이터베이스와 네트워크형 데이터베이스가 가진 문제점인 구조와 설계가 복잡하고 데이터 종속성 문제를 해결하였습니다.
  • 초기 데이터베이스 설계 후, 데이터베이스의 구조를 변경하는 것이 용이해졌습니다.

1979년 - 관계형 데이터베이스 상용화

  • 최초의 관계형 데이터베이스인 Oracle(RDBMS)가 상용되었습니다.

1987년 - SQL 국제 표준화 채택

  • 1986년 최초 SQL 표준안이 제정(ASNI 인증)되고 1987년 SQL 국제 표준화(ISO 인증)가 채택되었습니다.

1990년 - 객체지향형 데이터베이스

  • 데이터를 객체로 보는 객체지향형 데이터베이스가 등장하였습니다.

데이터베이스 종류

계층형 데이터베이스

  • 트리 구조로 이루어져 데이터간의 부모-자식 관계가 존재합니다.
  • 파일 시스템을 사용하여 폴더와 파일의 계층 구조로 이루어져 있습니다.
  • 대규모 데이터를 저장하기 위해 제작되었습니다.
  • 데이터 엑세스, 데이터 사용량 체크에 용이합니다.
  • 구조와 설계가 복잡하여 초기에 데이터베이스를 설계하거나 구조를 변경하는 경우 어려움이 있습니다.
  • 데이터 종속성이라는 문제가 있습니다.

네트워크형 데이터베이스

  • 노드(데이터)와 간선(데이터 연결)로 이루어져 상하관계가 없는 논리적인 구조로 이루어집니다.
  • 데이터 중복 문제와 데이터의 상하관계를 해결하기 위해 제작되었습니다.
  • 계층형 데이터베이스와 같이 구조와 설계가 복잡하여 초기에 데이터베이스를 설계하거나 구조를 변경하는 경우 어려움이 있습니다.
  • 데이터 종속성이라는 문제가 있습니다.

관계형 데이터베이스

  • 열과 행을 가지는 테이블을 기초로 테이블간의 논리적인 관계를 정의하여 저장하는 구조를 가집니다.
  • SQL을 이용하여 데이터에 접근할 수 있습니다.
  • 기존의 데이터 종속성을 해결하기 위해 제작되었습니다.
  • 다양한 목적으로 사용가능하며 높은 성능을 가지고 있습니다.
    • 스키마, 데이터 무결성, 관계를 통한 데이터 중복 제거 등을 통해 성능을 개선하였습니다.
  • 수평 확장이 어려워 유연성이 부족하다는 평가를 받고 있습니다.

객체지향형 데이터베이스

  • 객체를 데이터로 저장한다는 개념을 가지고 제작된 데이터베이스입니다.
  • 관계형 데이터베이스의 데이터 타입이 아닌 동영상, 음성 데이터등 다양한 데이터를 저장하기 위해 만들어졌습니다.

느낀점

기존에는 관계형 데이터베이스와 레디스, MongoDB와 같은 사람들이 많이 사용하는 데이터베이스만 알았습니다. 따라서 계층형 데이터베이스가 SQLD를 공부하며 보았던 테이블간의 종속성을 떠올렸으나 직접 알아보니 전혀 다른 데이터베이스임을 깨닫고 충격을 받았습니다...
하지만 데이터베이스의 발전과정과 각 데이터베이스 설계 이유를 살펴보며 데이터베이스간의 특징을 알 수 있게 되었습니다.

profile
기본부터 정리해나가는 기록용 블로그

0개의 댓글