Basic Knowledge/Database

231007 토) DBMS / RDBMS / NoSQL

roofTopCaat 2023. 10. 7. 21:44

DBMS 개요

불특정 다수가 공유 및 사용의 목적으로 관리되는 정보의 집합인 Database,

그것을 관리하는 소프트웨어를 DBMS라고 부른다

 

DBMS는

데이터 정의 / 데이터 저장 / 데이터 보안 / 데이터 공유 / 데이터 갱신 / 데이터 유지

등의 기능이 있으며

 

개발, 유지보수가 편리하다는 장점과

 

중앙집중적 관리에 의한 보안상의 취약, 그리고 백업 및 복구의 비용이 크다는 단점이 있다

 

DBMS 역사

1950년대 데이터베이스라는 용어가 미국에서 처음 사용된 후

 

1970년대에 RDBMS이 개발되기 시작한다

 

1980년에 이르러 비로소 컴퓨팅 하드웨어가

관계형 시스템 (DBMS + 애플리케이션)의 배치를 가능하게 할 만큼 발전했다

 

1990년도에는 대형 데이터 처리 소프트웨어를 관계형 시스템이 지배하게 되었으며

익숙한 Oracle, MySQL, PostgreSQL 등이 현재에 이르러서도 사용되고 있다

 

RDBMS (Relational DBMS)의 개요

RDBMS는 데이터를 테이블 형태로 표현한다

데이터 중복 최소화, 구조 변경의 용이성, SQL문을 사용한 데이터 조작의 편리성 등의

장점이 있다

 

Num Name Age Addr Phone_Num
1 Kim 21 Seoul, Gangnam 010-000-0000
2 Lee 25 Seoul, Yangjae Null
3 Park 20 Seoul, Gangbuk 041-000-0000
4 Choi 26 Seoul, GuroOffice Null

 

No SQL (Not Only SQL)의 개요

 

2000년대에 개발된 DBMS 형태인 No SQL은 테이블 형태가 아닌

트리 구조의 Document(문서) / 그래프 형태 / Key - Value / Wide-column 등의 형태를 띤다. 

No SQL은 확장성과 가용성, 스키마의 유연성 면에서 RDBMS보다 좋지만

 

데이터의 일관성이 보장되지 않고 기존의 SQL문과 호환되지 않는다는 단점을 가지고 있다

 

대용량의 데이터, 분산 처리에 빠른 대응이 가능하기 때문에 SNS 등에서 쓰이고

데이터 홍수인 현대 사회에서 꼭 필요한 방식이다

 

대표적 NoSQL로는 MongoDB, HBase, Cassandra, Redis 등이 있다

 

DBMS의 종류

DBMS는 그 종류만 해도 수백가지가 넘어가나 DB-engines에서 매번 발표되는 랭킹중

상위 5가지만 다루어본다

 

DB-Engines Ranking - popularity ranking of database management systems

 

DB-Engines Ranking

Popularity ranking of database management systems.

db-engines.com

 

1) Oracle

Oracle_Emblem

오랜 역사를 가진 DB시장 1위의 RDBMS다 

자체적으로 DBMS 유지보수 인력을 운영하기 어려운 비 IT업종 기업은 대부분 오라클을 이용한다

확실한 안정성과 유지보수, 문제가 생겼을 때의 책임소재가 분명하다는 장점이 있으나

타 DBMS보다 더 많은 리소스를 잡아먹는다는 단점이 있다

 

2) MySQL

MySQL_Emblem

2023. 10 기준 점유율 2위의 오픈소스 RDBMS이다

윈도우, 리눅스, 맥 등에서 모두 사용가능하며

인덱싱 및 쿼리 최적화 기능이 있어 대량의 데이터 처리에도 효율적으로 동작한다

오라클에 비해 고급 기능 및 서비스가 상대적으로 제한적이고

PostgreSQL에 비해 조인 및 분석작업에서 불리하다는 단점이 있다

 

3) Microsoft SQL server

Microsoft SQL Server_Emblem

점유율 3위의 RDBMS이다

윈도우에서만 구동되고 C#과 가장 높은 호환성의 DBMS이다

 

4) PostgreSQL

PostgreSQL_Emblem

점유율 4위의 ORDBMS이다

ORDBMS는 객체 관계형 DB관리 시스템으로 사용자는 데이터형과 메서드형을 자유롭게 정의, 조합해

데이터베이스를 개발할 수 있다

객체 생성과 상속, 프로시저 생성 면에서 유연하다는 장점이 있다

 

5) MongoDB

mongoDB_Emblem

점유율 5위의 NoSQL Document DBMS이다

NoSQL인만큼 다양한 형태의 데이터를 저장 가능하며 변화가 유연하다

읽기, 쓰기 성능이 뛰어나며 개발이 편리하다

JSON 구조로 데이터를 직관적으로 이해할 수 있다

등의 장점이 있으며

데이터 손실 가능성이 높고 복잡한 조인 및 분석시에 많은 리소스를 잡아먹는다는 단점이 있다

 


참고한 자료

📋 데이터베이스(DB) 기초 개념 - 듀토리얼 (tistory.com)

DBMS란? ( 데이터베이스 관리 시스템 ) : 네이버 블로그 (naver.com)

나무위키

DB-Engines Ranking - popularity ranking of database management systems

'Basic Knowledge > Database' 카테고리의 다른 글

231009 월) 데이터 모델  (0) 2023.10.09
231001 일) 데이터베이스, 데이터 기초  (0) 2023.10.01