데이터베이스 질문
RDBMS의 장단점에 대해 설명해주세요.
- 장점
- 장점으로는 정해진 스키마에 따라 데이터를 저장해야 해서 명확한 데이터 구조를 보장하고 있습니다.
- 관계는 각 데이터를 중복 없이 한 번만 저장할 수 있습니다.
- 단점
- 테이블과 테이블 간 관계를 맺고 있어 시스템이 커질 경우 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있습니다.
- 성능 향상을 위해서는 서버의 성능을 향상 시켜야하는 Scale-up만을 지원하기에 개발 비용이 기하급수적으로 늘어날 수 있습니다.
- 정해진 스키마로 인해서 데이터가 유연하지 못하고, 스키마가 변경되었을 때, 번거롭고 어렵습니다.
꼬리 질문
- Scale-up이 무엇인가요?
- 기존 서버의 사양을 업그레이드해 시스템을 확장하는 것으로 일반적으로 CPU,RAM등을 추가하거나 고성능의 부품,서버로 교환하는 것을 의미합니다. 같은 의미로 수직 스케일이라고도 부릅니다.
- 스키마 변경이 번거롭고 어렵다고 했는데, 변경하게될 때, 어떻게 변경을 해야하는지?(개인적으로 궁금해서…)
NoSQL의 장단점을 설명해주세요
- 장점
- 스키마가 없기에 유연하고 자유로운 데이터 구조를 가질 수 있기에 언제든 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.
- 데이터 분산이 용이하며 성능 향상을 위해 Scale-up 과 Scale-out 모두 가능합니다.
- 단점
- 데이터의 중복이 발생할 수 있으며 중복된 데이터가 변경 되었을 때, 수정을 모든 컬렉션에서 수행하여야 합니다.
- 스키마가 존재하지 않아 명확한 데이터 구조를 보장하지 않고, 데이터 구조 결정이 어려울 수 있습니다.
꼬리 질문
- Scale-out이 무엇인가요?
- 기존 서버와 같은 사양 또는 비슷한 사양의 서버의 수를 늘리는 것을 의미합니다. 같은 의미로 수평 스케일이라고 부르며 scale-up보다 확장이 유연합니다.
PostgreSQL의 장단점을 설명해주세요.
- 장점
- 첫번째로 비용 절감이 있습니다.
- 오픈소스 소프트웨어이기에 무료로 이용이 가능하고, 더 나아간다면 소스 코드가 공개되어 있기 때문에 직접 개선 및 수정을 하여 개발 비용을 줄일 수 있습니다.
- 두번째로 빠르고 유연한 개발이 있습니다.
- 오픈소스 커뮤니티로 다양한 이용자들에 의해 최신 기술 정보와 문제점의 해결책을 공유하여 운영되기 때문에 기술의 발전 속도가 빠른 편에 속합니다.
- 세번째로 호환성과 유연성이 있습니다.
- 다른 소프트웨어 간의 연동이 쉽고, 서로 다른 플랫폼끼리의 상호 연동도 가능합니다. 또한, 특정기기 및 운영체제, 어플리케이션에 종속되지 않고 자유로운 변경이 가능하여 여러 기기가 네트워크를 통해 하나로 연결되는 유비쿼터스 시대에 아주 적합합니다.
- 네번째로는 표준 SQL을 준수하고 가장 많은 SQL 기능을 지원합니다.
- 첫번째로 비용 절감이 있습니다.
- 단점
- 메모리의 성능이 떨어집니다.
- 모든 새로운 클라이언트 연결에 대해 새로운 프로세스를 포크하기에 각각의 프로세스에 10MB의 메모리가 할당되므로 많은 연결이 있는 경우 메모리가 빠르게 증가합니다.
- MySQL에 비해 데이터베이스를 관리하는데 도움이 되는 타사 도구가 적다고 알고 있습니다.
- 메모리의 성능이 떨어집니다.
'취업_TIL' 카테고리의 다른 글
취업_TIL | 2022-09-16 (10) _ 기술 면접 STUDY 5 ~ 6 (1) | 2022.09.16 |
---|---|
취업_TIL | 2022-09-15 (9) _ 기술 면접 STUDY 1 ~ 4 (1) | 2022.09.15 |
취업_TIL | 2022-09-07 (8) _ 기술 면접 대비 질문 43~52 (0) | 2022.09.07 |
취업_TIL | 2022-09-06 (7) _ 기술 면접 대비 질문 41~42 및 알고리즘 풀이 (0) | 2022.09.06 |
취업_TIL | 2022-09-05 (6) _ 기술 면접 대비 질문 28~40 (0) | 2022.09.05 |