DB와 DBMS의 차이는?
- Database : Data의 저장소, Data를 통해 저장하고 운영하는 집합체
- DBMS : Database 생성하고, 효율적으로 관리하기 위한 관리 시스템
- 일반 파일 시스템 문제점인 종속성과 중복성을 해결하기 위해 고안됨
- 응용 어플리케이션과 Data(정보) 사이의 중재자 역할(Software System)
e.g.) Oracle, MariaDB, MS-SQL, PostgreSQL, DB2, MongoDB 등
질문
- 데이터베이스와 DBMS의 차이점을 명확히 알아야함.
데이터베이스의 예시는?
- DBMS의 벤더사인 오라클, 마리아디비라고 대답해야함.
- 벤더사란?
제조업체 혹은 판매업체인데 하드웨어나 소프트웨어의 브랜드에 대해서 책임을 지는 기업으로 독자적인 IT 기술력으로 독점적인 우위를 가지고 있는 기업을 말함.
DBMS 주요 기능
- 사용자 간의 권한 통제 (데이터 접근 통제)
- 데이터의 일관성과 무결성을 보장
- 데이터를 표준화하고, 통합 관리 가능
- 트랜잭션 관리(Rollback, Commit)
- 동시성 제어
- 시스템 장애로부터 회복/복구
- 일반 사용자들이 터미널을 통해 DBMS에 접속해서 쿼리 입력(질의어 처리기)
- 질의어 처리기를 통해 런타입 DB 처리기까지 이동하게 됨
- 혹은 응용 어플리케이션에서 JDBC 드라이버 등을 통해 xml로 저장된 쿼리들이 실행될 수 있음.
- 컴파일러들을 통해 문법적인 오류가 있는지 체크
- 스키마를 변경하는 DataDefiniteLanguage(DDL) 예를 들면 DROP 같은 명령어가 도착하면 컴파일러를 통해 런타임 DB 하위단으로 이동함.
- DML의 경우는 커밋이나 롤백이 가능함.
- 그래서 문제가 생겼을 때 트랜잭션 관리자를 통해 커밋이나, 롤백을 하는 단계가 있음.
- DDL의 경우는 롤백할 수 있는 방법이 없어서 트랜잭션 관리자가 통제하지 않는다.