본문 바로가기

이직중/기술면접

RDBMS와 NoSQL의 차이

RDBMS와 NoSQL 데이터베이스에 대해 공부하다 보면 꽤나 여러 번 봤을 법한 단어들입니다. 하지만 필자는 RDBMS는 익숙하지만 NoSQL은 꽤나 생소했는데요. 이번에 이 둘의 차이를 알아보면서 그 이유를 알 게 되었습니다.

 

[RDBMS]

RDBMS는 관계형 데이터베이스 관리 시스템으로써 우선 관계형 데이터베이스에 대해 알아봐야 합니다. 관계형 데이터베이스란 테이블, 행, 열의 정보를 구조화하는 방식으로 우리가 기존에 알고 있던 테이블 형태의 데이터베이스입니다. 이러한 형태는 테이블 간의 조인이 가능하기 때문에 정보의 관계 또는 링크를 설정할 수 있어, 여러 데이터의 관계를 쉽게 이해하고 정보를 얻을 수 있습니다.

 

관계형 데이터베이스의 모든 테이블은 행에서 고유하게 식별 가능한 '기본 키'라는 속성이 있으며, '외래 키(다른 기존 테이블의 기본 키를 참조)'를 사용하여 각 행에서 서로 다른 테이블 간의 관계를 만드는 데 사용할 수 있습니다.

 

때문에 관계형 데이터베이스의 핵심은 테이블 간의 관계를 쿼리할 수 있다는 점입니다. 

 

이러한 관계형 데이터베이스 모델을 사용하는 관계형 데이터베이스 관리 시스템에 대해 알아볼 차례입니다. 관계형 데이터베이스 관리 시스템은 관계형 데이터베이스를 만들고 업데이트하고 관리하는 데 사용하는 프로그램입니다. 잘 알려진 RDBMS의 예로는 MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Oracle Database가 있습니다. 

 

> 출처

https://cloud.google.com/learn/what-is-a-relational-database?hl=ko 

 

관계형 데이터베이스(RDBMS)란 무엇인가요?  |  Google Cloud

관계형 데이터베이스의 작동 방식, 관계형 데이터를 사용하여 조직 데이터를 저장하는 경우의 이점, 비관계형 데이터베이스의 비교에 대해 알아봅니다.

cloud.google.com

 

[NoSQL]

NoSQL은 Not Only SQL의 줄임말로 말 그대로 관계형 데이터베이스의 핵심 특성인 SQL뿐만이 아니다!라는 뜻으로 해석할 수 있습니다. NoSQL 데이터베이스의 특징을 살펴보면, 기존의 관계형 데이터베이스보다 더 융통성 있는 데이터 모델을 사용하고, 데이터의 저장 및 검색을 위한 특화된 메커니즘을 제공합니다.

 

이를 통해 NoSQL 데이터베이스는 단순 검색 및 추가 작업에 있어서 매우 최적화된 키 값 저장 기법을 사용하여, 응답 속도나, 처리 효율 등에 있어서 매우 뛰어난 성능을 나타냅니다. 

 

이러한 NoSQL 데이터베이스는 기존의 관계형 데이터베이스와 아래와 같은 차이를 나타냅니다.

- 관계형 모데을 사용하지 않으면 테이블 간의 조인 기능이 없음

- 직접 프로그래밍을 하는 등의 비SQL 인터페이스를 통한 데이터 액세스

- 대부분 여러 대의 데이터베이스 서버를 묶어서(클러스터링) 하나의 데이터베이스를 구성

* 클러스터링 : 유사한 성격을 가진 개체를 묶어 그룹으로 구성하는 것

- 관계형 데이터베이스에서는 지원하는 Data 처리 완결성(Transaction ACID 지원) 미보장

* Transaction ACID

> Transaction(데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위)이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어(원자성, 일관성, 독립성, 지속성)

- 데이터의 스키마와 속성들을 다양하게 수용 및 동적 정의 (Schema-less)

- 데이터베이스의 중단 없는 서비스와 자동 복구 기능 지원

- 다수가 Open Source로 제공

- 확장성, 가용성, 높은 성능

 

간단하게 정리하면 NoSQL은 초고용량 데이터 처리 등 성능에 특화된 목적을 위해, 비 관계형 데이터 저장소에, 비구조적인 데이터를 저장하기 위한 분산 저장 시스템이라고 볼 수 있습니다.

 

> 출처

https://www.samsungsds.com/kr/insights/1232564_4627.html

 

NoSQL이란 무엇인가? 대량데이터 동시처리위한 DBMS 종류와 특징

NoSQL이란 무엇인가? 대량데이터 동시처리위한 DBMS 종류와 특징

www.samsungsds.com

 

RDBMS와 NoSQL의 특징과 각 데이터베이스의 차이를 알아보면서 필자가 생소하게 느낄 수밖에 없던 점을 알 게 되었습니다. 기존의 관계형 데이터베이스에 특화된 개발만 하면서 NoSQL에 대해 생소할 수 밖에 없었는데요. 앞으로 새로운 데이터베이스 환경에서 개발할 수 있도록 노력해봐야겠습니다.

'이직중 > 기술면접' 카테고리의 다른 글

'www.google.com'을 주소창에 입력하면?  (0) 2022.11.30
트랜잭션(Transaction)  (0) 2022.11.29