[면접준비] NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. (24/04/08)
2024. 4. 8. 09:38ㆍ공부/면접 준비
NoSQL
- 특징
- 유연성 : 스키마 선언 없이 필드 추가, 삭제가 자유로운 schema-less 구조
- 확장성 : 스케일 아웃에 의한 서버 확장 용이
- 고성능 : 대용량 데이터를 처리하는 성능이 뛰어남
- 가용성 : 여러 백업 서버 구성이 가능하여 장애 발생 시에도 무중단 서비스 가능
- 장점
- 수직 및 수평적 확장(샤딩)이 가능하므로 데이터베이스가 어플이 발생시키는 모든 CRUD 처리 가능.
- 데이터가 어플이 필요로 하는 형식으로 저장되며, 이로 인해 읽어오는 속도가 빠르다.
- 비구조화된 데이터 처리와 대량의 분산 데이터 처리에 효율적임.
- 필요에 따라 스키마를 정의할수도 있다.
- 단점
- 데이터베이스 일관성에 약하다. 일관성을 가용성, 분할 용인, 속도와 맞바꾸었다.
- 복잡한 쿼리는 지원하지 않을 수 있다.
BASE특성
RDBMS
- 특징
- Data를 column과 Row 형태로 저장한다.
- 데이터의 분류, 정렬, 탐색 속도가 비교적 빠르다.
- SQL을 사용한 정교한 검색이 가능
- 트랜잭션을 사용한 작업의 완전성
- 장점
- 정해진 스키마에 따라 데이터를 저장하므로, 명확한 데이터 구조를 보장한다.
- 관계는 각 데이터를 중복없이 한 번만 저장할 수 있다.
- 단점
- 테이블끼리 관계를 맺고 있기 때문에 시스템이 커질 경우 join문이 많은 복잡한 쿼리가 만들어진다.
- 성능 향상을 위해서는 서버의 성능을 향상시켜야 하는 수직적 scale-up만 지원한다.(cost-up)
- 스키마로 인한 경직된 데이터 구조. 스키마 변경이 번거롭고 어려움.
ACID특성
답변
RDBMS는 데이터 테이블간의 정보가 서로 관계성을 맺고 있으며, 행과 열로 테이블을 표현하는 데이터베이스 입니다.
명확한 데이터 구조를 보장하지만, 경직된 스키마로 인한 복잡성과 용량의 한계가 있습니다.
이러한 RDBMS의 복잡성과 용량 한계를 극복하기위해 NoSQL이 등장했습니다.
NoSQL은 테이블 간 상호관계가 없는 것이 특징으로, 다른 테이블과 join도 불가능 합니다. 스키마가 존재하지 않아 자유로운 저장이 가능하며, 저장 형식도 따로 존재하지 않습니다. 그러나, 데이터베이스의 상태가 언제나 일관적이여야 한다는 데이터베이스 일관성에서 약한 모습을 보입니다.
'공부 > 면접 준비' 카테고리의 다른 글
[면접준비] 정렬 알고리즘을 설명해 주세요. (24/04/11) (0) | 2024.04.11 |
---|---|
[면접준비] Array, LinkedList에 대해 설명해주시고 각각 어떻게 사용하는지 말씀해주세요. (24/04/08) (0) | 2024.04.08 |
[면접준비] 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요. (24/04/05) (0) | 2024.04.05 |
[면접준비] 객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? (24/04/05) (0) | 2024.04.05 |
[면접준비] OSI 7계층에 대해 아는대로 설명해주세요. (24/04/04) (0) | 2024.04.04 |