1. SQL과 NoSQL의 차이를 설명해 보세요.
- NoSQL은 SQL만을 사용하지 않는 데이터베이스 관리 시스템(DBMS)을 지칭하는 단어이며, 관계형데이터베이스를 제외한 다른 모든 것들이 NoSQL에 속합니다.
- SQL은 데이터베이스에서 데이터를 추출하고 조작하는데 사용하는 데이터 처리 언어이다. 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계가 되어있습니다.
2. 관계형데이터베이스(RDBMS)에 대해 설명해 보세요.
- 데이터를 행과 열로 구성하는 데이터베이스 유형으로, 서로 관련된 데이터 지점에 대한 접근을 저장 및 제공하는 데이터베이스 유형입니다.
3. ACID가 무엇인가요 ?
- 트랜잭션의 특성을 나타내는 네가지 기본원칙의 약자로 Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)입니다.
Atomicity : 하나의 원자 트랜잭션은 전부 성공하거나 실패해야한다. 예시로 항공티켓 예매를 하면 지불과 예약이 동시에 되야지 지불만되고 예약이 안되면 아예 안되게 해야합니다.
Consistency(일관성) : 트랜잭션의 시작 전과 끝난 후에도 데이터베이스 타입이 항상 동일(일관) 해야합니다.
Isolation(고립성) : 트랜잭션은 다른 트랜잭션으로부터 독립적으로 실행되어야 한다. 각 트랜잭션은 서로 영향 주지 않고, 받지도 않아야 합니다. 이는 한 트랜잭션이 다른 트랜잭션 실행 결과 볼 수없고, 별도 공간에서 작업을 수행해야 합니다.
Durability(지속성) : 트랜잭션이 성공하면 트랜잭션 변경 내용은 영구적으로 저장되는 지속성이 있어야 합니다. 시스템에 갑자기 문제가 발생하더라도, 데이터베이스는 영구적으로 변경 상태를 유지해야 합니다.
트랜잭션 : 데이터베이스의 상태를 변경시키기 위해 위 특징을 지키며 수행되는 작업 단위입니다. 상태변경은 select,update 같은 행동을 뜻하며 이러한 작업 단위를 트랜잭션이라 하며, 상황에 따라 단위별로 두개 이상씩 쓰일 수도 있습니다.
4. 인덱스와 클러스터인덱스/ 논클러스터인덱스에 대해 설명해 보세요.
- 인덱스 : 데이터를 빠르게 검색하게 해주는 자료구조입니다. 컬럼을 정렬하고 데이터를 빠르게 찾을 수 있도록 도와주는 역활을 합니다.
- 클러스터 인덱스
- 논클러스터 인덱스
5. 샤딩에 대해 설명해 보세요.
6. Inner Join과 Outer Join에 대해 설명해 보세요.
'면접준비' 카테고리의 다른 글
[Network] 네트워크 공부 (0) | 2024.09.26 |
---|---|
[C++] 자료구조, 알고리즘 공부 (2) | 2024.09.07 |
[C++] C++ 공부 (0) | 2024.09.02 |