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
오랜 역사를 가진 DB시장 1위의 RDBMS다
자체적으로 DBMS 유지보수 인력을 운영하기 어려운 비 IT업종 기업은 대부분 오라클을 이용한다
확실한 안정성과 유지보수, 문제가 생겼을 때의 책임소재가 분명하다는 장점이 있으나
타 DBMS보다 더 많은 리소스를 잡아먹는다는 단점이 있다
2) MySQL
2023. 10 기준 점유율 2위의 오픈소스 RDBMS이다
윈도우, 리눅스, 맥 등에서 모두 사용가능하며
인덱싱 및 쿼리 최적화 기능이 있어 대량의 데이터 처리에도 효율적으로 동작한다
오라클에 비해 고급 기능 및 서비스가 상대적으로 제한적이고
PostgreSQL에 비해 조인 및 분석작업에서 불리하다는 단점이 있다
3) Microsoft SQL server
점유율 3위의 RDBMS이다
윈도우에서만 구동되고 C#과 가장 높은 호환성의 DBMS이다
4) PostgreSQL
점유율 4위의 ORDBMS이다
ORDBMS는 객체 관계형 DB관리 시스템으로 사용자는 데이터형과 메서드형을 자유롭게 정의, 조합해
데이터베이스를 개발할 수 있다
객체 생성과 상속, 프로시저 생성 면에서 유연하다는 장점이 있다
5) MongoDB
점유율 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 |