SQL

[이론]DBMS 개념 및 특장점, RDBMS 종류별 비교

노력하는 백곰 2024. 7. 26. 08:36

■ 요약 구분

1. 데이터베이스(DB, DataBase)

구분 내용
개념 - 컴퓨터에 저장되는 데이터 집합
특징 - 접근성 : 사용자 질의에 대한 즉각 처리 가능
- 최신성 : 삽입, 삭제, 갱신을 통한 최신 데이터 유지 가능
- 동시성 : 여러 사용자가 동시에 접속하여 데이터 접근 가능
- 내용성 : 데이터가 저장된 주소나 위치가 아닌 내용을 참조



2. 데이터베이스 관리 시스템(DBMS, DataBase Management System)

구분 내용
개념 - 여러 사람들에게 공유하여 사용할 목적으로 데이터베이스를 관리하는 시스템
- 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보(From. Oracle)
특징 - DB와 유저간 인터페이스 역할을 수행하는 시스템으로 유저의 정보 생성, 검색, 수정, 삭제 작업 관리
 →구축 : DBMS가 관리하는 기억 장치에 데이터 저장

 →조작 : 특정 데이터 검색을 위해 질의, 데이터 생성, 데이터 갱신 기능 보유
 →공유 : DBMS를 다수에 사용자들이 동시 접근 가능
 →보호 : 하드웨어나 소프트웨어의 오작동 또는 권한이 없는 악의적 접근으로부터 시스템 보유
 →유지보수 : 시간이 지남에 따라 변화하는 요구사항을 즉각적 반응 
장점 - 데이터간 관계성 정의를 통한 자료 통합성
- 데이터 접근의 용의성
- 데이터 통제 강화로 개발 및 관리 편의성
종류 - 계층형 데이터베이스 관리 시스템(HDBMS)
- 망형 데이터베이스 관리 시스템 (NDBMS)
- 관계형 데이터베이스 관리시스템(RDBMS)
- 객체지향 데이터베이스 관리 시스템(ODBMS)

 

 

※ 관계형 데이터베이스(RDB, Relational DataBase)

- 테이블 형태로 구조화되어 저장된 DB유형

- 테이블(Table) : 방대한 데이터가 저장된 것으로 많은 속성을 보유하며, 속성들은 각기 다른 특징을 기반으로 다른 타입으로 표현

 →예시, 속성 : 나이, 이름, 지역, 주민번호 등

 

 

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

구분 내용
개념 - 테이블 형태로 데이터베이스를 관리하는 시스템
- 1970년 Edgar Codd가 RDBMS에 대한 이론적 논문 발표 / 40년 이상 지배적인 DBMS
특징 - 각기 다른 행과 열로 구성되는 2차원 구조 모델
- ACID(원자성, 일관성, 독립성, 지속성) 트랜잭션을 보장하는 기능으로 데이터 무결성, 완전성, 정확성 보장
- SQL을 사용해서 데이터 접근을 하며 CRUD(생성, 읽기, 갱신, 삭제) 조작 허용
- 여러 운영체제에서 사용 가능(예시, Android, iOS, Linux, Window, Unix  등)

 

 

3.1. 관계형 데이터베이스 관리 시스템(RDBMS) 종류

①Oracle

구분 내용
개념 - 1979년 Oracle사에서 개발하여 판매중인 상업용 DBMS(글로벌 시장 점유율 1위)
특징 - 대기업에서 주로 사용
- 가장 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)
장점 - 다양한 운영체제 지원(Window, Linux, Unix 등)
- 대량의 데이터 처리 용이( MySQL, MS-SQL 대비 우수)
 →예시, 은행 산업에서 대규모 애플리케이션에 많이 사용
단점 - 비공개 코드 소스
- 폐쇄적인 운영
- 라이선스 비용이 비쌈(오픈소스 및 무료 DBMS에 비해 접근성 낮음)

 

 

②MySQL / Maria DB

구분 내용
개념 - 1995년 MySQL사에서 개발되어 현재 Oracle사에 합병된 DBMS(글로벌 시장 점유율 2위)
특징 - 중소기업에서 주로 사용
- 5,000건 이하 데이터를 다루는데 적합하여 속도, 안전성, 확장 가능성을 가장 잘 추구하는 DBMS
- Maria DB은 MySQL과 거의 유사하며 사업적으로 사용해도 무료
  (참고, MariaDB은 MySQL이 Oracle에 인수되면서 불확실한 라이서스 문제를 해결하고자 개발한 DB)
장점 - 다양한 운영체제 지원(Window, Linux, Unix 등)
- 라이선스 무료(오픈소스)
 →단, 상업적 사용 시 유료 / Oracle사 보다 저렴하여 최근 대기업에서 많이 사용
- 웹 기반 애플리케이션 개발에 최적화된 DB
단점 - 복잡한 쿼리로 인한 성능 저하
- 대량의 데이터를 조회할 때 성능 저하 우려

 

 

③MS-SQL(Microsoft SQL Server)

구분 내용
개념 - Microsoft사에서 개발하여 판매중인 상업용 DBMS(글로벌 시장 점유율 3위)
특징 - 중소기업에서 주로 사용
장점 - Window 운영체제 특화 지원(그 외에도 Linux, Unix 운영체제 지원)
- 부분 라인선스 무료(Unix 오픈소스)
- 높은 보안성 보유(신뢰성, 생산성, 지능적 특징 보유)
단점 - 비공개 코드 소스
- 폐쇄적인 운영

 

 

④SQLite

구분 내용
개념 - 미해군 구축함에 들어가는 소프트웨어 개발자 Richard Hipp이 개발한 DBMS
  →참고,  함선 내부에서 에러가 잦고 서버가 죽어 끊어지는 문제가 발생하여
                  어떤 상황에서도 데이터를 램에 읽어들일 수 있도록 서버없이 구동되도록 직접 개발
특징 - 임베디드(제어를 위한 특정 기능 수행)에 사용될 목적으로 개발된 DBMS
- 대부분 컴퓨터에 내장되어 있어 다른 응용 프로그램에 번들로 제공(세계에서 가장 널리 배포된 DB)
장점 - 그로스 플랫폼에서 동작 가능
  (Android, BSD, iOS, Mac, Linux, Solaris, Windows가 기본으로 제공되며, 타시스템에 쉽게 포팅 가능)
- 시스템이 경량화되어 있어 적은 메모리 환경에서도 좋은 성능 보유

- 간편한 백업 가능(파일 통째로 복사)
단점 - 서버리스로 로컬 환경에서 데이터를 저장하므로 외부 접속 시 복잡한 우회방법 필요
- 다수 유저가 동시 사용하기 위해서는 프록시 버서 필요(즉, 1명의 사용자만 동시 접속 가능)

 

 

⑤Tibero

구분 내용
개념 - TmaxData사에서 개발한 국내 DBMS
특징 - Oracle사의 제품과 거의 동일한 호환성 보유
- 많은 플랫폼에 지원됨에 따라 국내 업체들의 사용빈도가 증가
장점 - 동기화 성능 개선으로 다중 노트에서도 안정적인 DB서비스 운영
- 자기튜닝을 통한 성능 최적화, 지속적인 DB모니터링, 성능 관리 지원 등 기능 제공