데이터베이스 관련 학습을 하다보면, 각기 다른 용어들이 모호해지고 헷갈리기 마련이다.
읽을 땐 유연하게 읽더라도 쓸 때는 명확히 쓰고자 각 용어의 차이를 구분하기로 하였다.
데이터베이스 (DB, DataBase)
데이터베이스는 컴퓨터 내에서 데이터를 저장하는 장소 그 자체를 뜻하는 용어이다.
DBMS로 생성한 데이터베이스(저장소)가 다양한 구조를 가진 채로 존재하고, 이렇게 저장되어 있는 저장소 자체를 데이터베이스라고 일컫는다.
데이터베이스 관리 시스템 (DBMS, DataBase Management System)
데이터베이스 관리 시스템은 말그대로 데이터베이스를 관리하는 시스템이다.
DBMS를 사용하여 데이터베이스를 생성하고, 또 데이터베이스 및 데이터들을 관리할 수 있다.
저장소만을 제공하고 저장하는 방법을 알려주지 않으면 저장소에는 아무 것도 들어갈 수 없게 된다. 그런 우리에게 데이터 저장을 도와주고자 DBMS가 존재하는 것이다.
즉, 데이터베이스와 사용자 간의 인터페이스 역할을 하여 데이터베이스 내의 모든 작업을 관리한다.
단순한 데이터베이스와 데이터 조작 뿐만 아니라 데이터 보안이나 백업, 무결성 유지 등의 고급 관리도 도와준다.
관계형 데이터베이스 관리 시스템 (RDBMS, Relational DataBase Management System)
관계형 데이터베이스 관리 시스템은 관계형 모델을 기반으로 데이터를 관리하는 DBMS의 유형을 말한다.
그렇다면 관계형 모델이란 무엇인가?
관계형 모델은 우리가 흔히 알고있는 데이터베이스의 구조이다.
데이터를 테이블 형태로 저장하고, 테이블 간의 관계를 맺어 데이터를 효율적으로 연결하고 조작할 수 있다.
정규화, 트랜잭션, 외래키 등 관계 존재 및 중복 방지에 대한 것들이 관계형 모델의 대표적인 특징이다.
SQL(Structured Query Language)을 사용해 데이터베이스를 조작하고,
대표적으로는 MySQL, Oracle, PostgreSQL, MS-SQL 등이 RDBMS에 속한다.
NoSQL DBMS (Not Only SQL DataBase Management System)
NoSQL 데이터베이스 관리 시스템은 위에서 언급한 관계형 모델이 아닌 데이터 모델을 사용하는 나머지 DBMS를 총칭한다. 관계형 DBMS와 비교하기 때문에 비관계형 DBMS라고도 부른다.
관계형 모델을 사용하는 RDBMS와 다르게 NoSQL마다의 다양한 데이터 모델(JSON, Key-Value)을 지원하며,
강제성이 낮고 유연한만큼 대규모 데이터를 빠르게 처리할 수 있다는 특징이 있다.
대표적인 NoSQL DBMS로는 MongoDB, Cassandra, Redis, CouchDB 등이 있다.
'데이터베이스 > SQL' 카테고리의 다른 글
데이터베이스 명명 규칙 (약어 사용 규칙) (0) | 2024.07.22 |
---|---|
[MySQL] Sql Error 1264 Out of range value for column 'col_name' (0) | 2024.07.15 |
[Oracle] DCL, TCL (0) | 2024.07.10 |
[Oracle] DDL, DML (0) | 2024.07.10 |
[Oracle] Oracle Database 시작하기 (DBeaver, 계정 생성) (0) | 2024.07.09 |