오늘 배운 내용
클러스터
SQL (2)
지난 시간에는 정말 간단하게 클러스터링에 대해 배웠다면 오늘은 조금 더 깊은 개념에 대해 공부했다. 물론 지금 배운 것도 엄청 간단한 수준이지만, 3대 이상으로 구성하는 이유, 분명히 필요하고 긍정적인 부분이 많지만 그럼에도 불구하고 발생하는 여러 문제들에 대해 공부했다.
그리고 SELECT, INSERT, ALTER, CREATE와 같은 기본 SQL외에 VIEW, INDEX, SP에 대해 배울 수 있었다. 단순히 키워드 사용법만 공부한 것이 아니라, 왜 이런 내용을 뒤쪽에 배치했는지 부하나 성능과 관련해서 설명을 들었다.
부족했던 점
INDEX 설명을 하실 때 잠시 졸아버렸다. 드문드문 듣긴 했지만 15분정도 수업내용을 놓쳐서 실습이나 개념정리 때 다소 추가적인 고생을 하게 됐다.
생각해볼 점
Index의 내부적인 동작 방식에 대해 더 생각해봐야 할 것 같다. B-tree 구조로 동작한다고 공식문서에 나와있긴 한데 직관적으로 이해하기엔 다소 어려움이 있었다.
클러스터 개념 설명을 들으면서 강사님이 프로젝트 때 Master - Slave 구조로 DB를 설계할지, 클러스터 구조로 설계할지는 프로젝트 시나리오에 따라 달라야 하고 반드시 근거가 있어야 한다고 하셨다.
단순히 요즘 대규모 트래픽이니 클라우드니 하면서 클러스터를 많이 사용한다길래 나도 사용하려 했는데 Master - Slave 구조가 나쁜 것이 아니고 클러스터가 마냥 좋은 것도 아니라는 말에 뜨끔했다.
좋은 개발자라면 '왜?'라는 질문을 던지고 근거에 기반해서 결과를 만들어 내야하지만 이런말 저런말을 들어도 클러스터 관련 기술스택을 한 번이라도 더 써보고 싶다는 개인적인 욕심도 있어서 프로젝트에 대해서는 아직 더 생각해봐야 할 것 같다.