데이터베이스면접질문 24

개발자 면접 질문 - 비관계형 데이터베이스(NoSQL)과 관계형 데이터 베이스(RDBMS) 차이

1. NoSQL(not only SQL) - 비 관계형 데이터베이스 - Scale-out : 여러 대의 서버를 중심으로 확장 - 스키마가 유동적 - 데이터 간의 관계를 정의하지 않음 - 빠른 쓰기, 읽기 - 저렴한 비용으로 분산 처리 및 병렬 처리 가능 2. RDBMS - 관계형 데이터 베이스 - Scale-up : 서버 한대 중심으로 확장 - 스키마가 고정적 (정해진 type 만 저장 가능) - 데이터 간의 관계를 정의함 * 비정형 데이터를 저장할 때 NoSQL을 사용한다.

개발자 면접 질문 - 무결성

1. 무결성 - 데이터의 일관성, 정확성, 유효성을 유지하는 것 2. 무결성 제약 조건 - 개체 무결성 : 기본키는 NULL을 허용하지 않는다. - 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다. - 도메인 무결성 : 올바른 데이터가 입력되는지 체크하는 것이다. - 고유 무결성 : 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성 값은 모두 달라야 한다. - NULL 무결성 : 특정 속성 값에 NULL이 올수 없다는 조건이 주어진 경우, 그 속성 값은 NULL 값이 올 수 없다. - 키 무결성 : 하나의 릴레이션에는 최소한 하나의 키가 존재해야 한다.

개발자 면접 질문 - MariaDB 스토리지 엔진 종류

1. MyISAM - 트랜잭션 미지원 - update, delete, insert 수행 시 Table Lock(테이블 락)되어 성능 불리 - 시작, 정지가 빠름 2. InnoDB - 트랜잭션 기능 제공 - 비정상 종료시 복구 기능 제공 - 데이터 갱신이 Row Lock(로우 락) 으로 되어 있음 3. Aria - MyISAM 후속 버전 - 트랜잭션 기능 제공 - 비정상 종료시 복구 기능 제공 - 아직 InnoDB 대체할 정도로 완성되지 않음

개발자 면접 질문 - JOIN 정의

1. JOIN - 정규화 작업으로 인해 여러 개로 나누어진 테이블 사이에서 원하는 정보를 가져오기 위해 테이블 간의 관계 설정 2. 종류 - 크로스조인(Cross Join) : 모든 경우의 수를 전부 표현해주는 방식 - 이너 조인(Inner Join) : 조인이 되는 키 값을 기준으로 교집합 - 셀프 조인(Self Join) : 자기 자신과 자기 자신을 조인, 가지고 있는 컬럼을 다양하게 변형시켜 활용할 때 사용 - 아우터 조인(Outer Join) : 조인이 되는 키 값을 기준으로 기준 테이블 키 값 * LEFT / RIGHT JOIN - SELECT *FROM A LEFT OUTER JOIN B : B테이블에 A테이블과 매핑되는 값이 있건 없건 A 값은 반드시 모두 나온다. - SELECT *FROM..

개발자 면접 질문 - 클러스터링과(Clustering) 리플리케이션(Replication) 차이

1. 클러스터링(Clustering) - DB 서버를 다중화 하는것 - 동기화 방식 - 자동 FailOver 기능 (시스템 대체 작동) 1) Active - Active 구성 - 2대가 모두 활성화되어 동작되는 구성 - 시스템 다운 시간이 짧음 - 성능이 좋음 - 저장소 병목 현상이 가끔 발생 2) Active - StandBy 구성 - 1대가 활성화되어 있고 1대는 대기하고 있는 구성 - Hot-Standby : 장애 발생 전에도 DB가 작동되는 구성 - Cold-Standby : Active DB가 다운된 시점에 작동하는 구성 2. 리플리케이션(Replication) - DB서버와 저장소를 같이 다중화 하는 것 - 비동기화 방식 - 자동 FailOver 기능이 없음