SQL Query(2)
다섯번째 문제
SELECT
b.AUTHOR_ID,
c.AUTHOR_NAME,
b.CATEGORY,
SUM(a.SALES * b.PRICE) AS SALES
FROM
BOOK_SALES a
INNER JOIN BOOK b ON
a.BOOK_ID = b.BOOK_ID
INNER JOIN AUTHOR c ON
b.AUTHOR_ID = c.AUTHOR_ID
WHERE
a.SALES_DATE a.SALES_DATE < '2022-02-01'
GROUP BY
b.AUTHOR_ID,
b.CATEGORY
ORDER BY
b.AUTHOR_ID,
b.CATEGORY DESC
정답 코드에서 틀린점이 있다면, WHERE 부분에서 2022-02-01 이전의 모든 데이터를 가져오게 작성되어있다. 2022년1월의 데이터만 가져오려면 BETWEEN을 사용해서 작성해야한다.
이중화는 마스터 인스턴스가 죽은 경우에 스탠바이 인스턴스가 곧바로 마스터 인스턴스로 교체되어서 다운타임을 최소화하는 메커니즘을 말합니다.
.
이 이중화라는 개념은 데이터베이스 자체에서 지원하는 개념은 아닙니다. 단지, AWS RDS와 같은 클라우드 서비스는 안정성 확보라는 미션을 갖고 있는 개발자들에게 “이중화”라는 솔루션을 자체적으로 제공함으로서 개발자들의 고민거리를 덜어주는 것이죠.
기본적으로 AWS RDS는 보통 여러 개의 인스턴스가 있으며 1개의 마스터 인스턴스와 N개의 스탠바이 인스턴스로 구성이 됩니다. 아래의 그림을 보시죠.
Q. 여러분들이 데이터베이스 엔진을 만드는 프로그래머라고 가정을 합시다.
이 데이터베이스 엔진에는 이중화가 자체적으로 지원이 필수적이며 여러분의 상사가 이중화 기능을 구현해달라고 합니다. 어떤 논리로 이중화 기능을 구현해볼지 생각하고 여러분들의 아이디어를 공유해주세요!