SQL과 NoSQL의 차이점
Table of Content
RDBMS와 NoSQL의 차이
관계형 데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL)의 주요 차이는 데이터 모델과 구조에 있어요.
1.
데이터 모델:
•
관계형 데이터베이스: 테이블 형태로 데이터를 저장하며, 데이터 간에는 정해진 관계가 있습니다. SQL(Structured Query Language)을 사용하여 데이터를 조작합니다.
•
비관계형 데이터베이스: 다양한 형태의 데이터 모델을 사용할 수 있습니다. 주로 문서, 키-값 쌍, 열 지향 등의 형태로 데이터를 저장하며, 스키마가 유동적입니다.
2.
스키마:
•
관계형 데이터베이스: 고정된 스키마를 가지고 있어 데이터 구조가 변경되면 스키마를 업데이트해야 합니다.
•
비관계형 데이터베이스: 동적인 스키마를 가지고 있어 유연하게 데이터를 추가하거나 변경할 수 있습니다.
3.
확장성:
•
관계형 데이터베이스: 주로 수직적 확장을 통해 성능을 향상시킵니다. 즉, 단일 서버의 성능을 높이는 방식입니다.
•
비관계형 데이터베이스: 주로 수평적 확장을 통해 대량의 데이터 및 트래픽을 다룹니다. 즉, 여러 서버에 데이터를 분산하여 처리하는 방식입니다.
4.
용도:
•
관계형 데이터베이스: 복잡한 관계 및 트랜잭션 처리가 필요한 경우에 주로 사용됩니다.
•
비관계형 데이터베이스: 대량의 분산 데이터, 실시간 처리, 유연한 데이터 모델이 필요한 경우에 사용됩니다.
면접 답변
두 데이터베이스 유형의 큰 차이점은 데이터 저장 방법에 있습니다.
관계형 데이터베이스는 데이터를 행과 열이 있는 테이블 형식으로 저장합니다. 열에는 데이터 속성이 포함되고 행에는 데이터 값이 있습니다. 이처럼 테이블 형태로 정해진 관계를 가지며 고정된 스키마(데이터 형식, 구조)를 사용합니다.
반면 비관계형 데이터베이스는 데이터에 액세스하고 관리하기 위해 다양한 데이터 모델을 사용합니다. 따라서 다양한 데이터 모델과 동적인 스키마를 가지며 수평적 확장이 강조됩니다.
스키마?
Context
스키마는 데이터베이스에서 데이터의 구조를 정의한 것입니다. 간단히 말하면, 데이터베이스 내에서 어떤 데이터가 어떤 형식으로 저장되고 조직되는지에 대한 청사진이라고 생각할 수 있습니다. 스키마는 데이터베이스 테이블의 필드(열)와 데이터 유형, 관계 등을 정의합니다.
예를 들어, 만약 학생 정보를 저장하는 데이터베이스가 있다면, 스키마는 학생의 이름이나 학번이 어떤 데이터 유형으로 저장되어야 하는지, 각 학생 정보가 어떤 테이블에 저장되는지 등을 정의하는 것을 말합니다.
Related Posts
Search