본문 바로가기
Data-driven Methodology/Database & SQL

관계형 데이터베이스 관리 시스템 (Relational DataBase Management System)

by goatlab 2024. 4. 16.
728x90
반응형
SMALL

데이터베이스 (Database)

 

1980년대에 컴퓨터가 보급화 되면서 처리해야 할 데이터가 늘어남에 따라 여러 회사들에서 대규모 데이터를 관리하기 위해서 통합된 환경이 필요했다. 데이터들을 표현할 수 있는 다양한 모델 (Relational Model, Network Model, Hierarchical Model 등)이 등장했다. 데이터를 체계적으로 관리할 수 있는 공간을 데이터베이스 (database)로 정의한다. 그리고 데이터베이스를 관리하는 시스템을 DataBase Management System (DBMS)으로 정의한다.

 

데이터베이스의 이점

 

  • 데이터베이스라는 개념이 나타나기 이전엔, File 단위로 데이터를 관리 (ex: 윈도우 탐색기, macOS Finder)
  • 데이터를 효율적으로 관리하기 힘든 여러가지 문제들이 발생 (ex: Redundancy, Inconsistency, Isolation, Integrity, Atomicity, Concurrency)

 

기존 시스템의 문제점

 

  • 데이터가 여러 형태로 여기저기 저장되면서 통일성을 잃고, 통합되지 않음
  • 데이터를 처리하기 위해서는 매번 application이 필요
  • 데이터의 상태를 파일 자체적으로 확인하기 힘듬 (열어봐야 알 수 있음)
  • 여러 명의 사용자가 동시에 접근해서 사용하기 힘듬
  • 파일의 일부가 수정되었을 때, 전체적인 데이터가 통일성을 유지하기 힘듬

 

DBMS도 결국 컴퓨터 시스템이며, 사용자로부터 입력받은 query (질의)를 내부 시스템이 이해하고 처리해야 한다. SQL ( Structured Query Language)을 시스템적으로 이해하고 성능 개선을 하는 튜닝 작업도 있. 데이터베이스의 연구는 DBMS 내부의 여러가지 개념들을 고도화하는데에 있다 (ex: index, query optimization, file system 등). DBMS마다 시스템의 정의와 목적이 다르다.

 

SQL (RDBMS)

 

 

데이터베이스의 종류는 SQL과 NoSQL로 구분된다. SQL은 정형 데이터 (Structured Data, Panel Data, Tabular Data)를 처리하기 좋다. attributes들로 정의되기 쉬운 데이터에 대해서 효과적으로 표현 가능하다. 테이블 형태로 표현되면 처리 속도가 굉장히 빠르다. 대표적으로 Oracle DBMS, MySQL, PostgreSQL, MariaDB 등이 있다.

728x90
반응형
LIST

'Data-driven Methodology > Database & SQL' 카테고리의 다른 글

MySQL 설치  (0) 2024.02.27
[Database] DB Browser for SQLite  (0) 2022.09.26
쿼리결과 중복 제거 / 논리연산자 / 결과정렬  (0) 2022.03.06
SQL / CRUD (Create, Retrieve, Update, Delete)  (0) 2022.03.05
MySQL  (0) 2022.03.03