해결된 질문
작성
·
19
0
쿠케님 안녕하세요!
우선 좋은 강의 제작해주셔서 정말 감사합니다. 강의 들으면서 대규모 시스템을 설계할 때는 어느 것을 신경써야 하고, 또 주의해야 하는지 많은 인사이트를 얻고 있어요.
추석 연휴 동안 제 나름대로 열심히 들어서 이제 한 개 섹션만 남았는데, 완강을 한 뒤에 강의에서 얻은 것들을 토대로 대규모 트래픽을 가정한 서비스를 설계하고, 개발해보려고 합니다. 강의로만 듣고 넘기기에는 아까운 내용들이 많아서 확실하게 제 것으로 만들어야겠다 싶더라고요. 일하면서 써먹으면 더없이 좋겠지만 아쉽게도 그럴 환경은 안 되어서요.. ㅎㅎ
그래서 나름대로 구상을 해보면서 강의를 듣고 있는데, 문득 강의에서 다룬 아키텍처와 기술을 한 번에 다 도입하는 건 오히려 학습 효율을 떨어뜨리는 선택이 아닐까 싶은 생각이 들어서요. 실무에서 Redis 정도는 사용해봤지만, 분산 데이터베이스나 MSA도, Kafka나 CQRS도 이 강의에서 처음 사용해봤습니다. 개념은 대충 주워 듣긴 했지만, 제대로 공부해본 적도 없고요.
결론적으로 하나씩 해보는 게 낫겠다 싶은데, 강의에서 다룬 내용 중 어느 것을 먼저 학습하는 게 좋을지 쿠케님께 조언을 구하고 싶어요. 물론 정답이 없는 문제지만, 지금 당장 제가 일하는 환경에서는 써먹을 일이 별로 없는 내용들이다 보니 무엇을 먼저 하는 게 좋을지 선택하기가 어렵네요.
감사합니다.
답변 1
0
westhan님, 안녕하세요!
연휴 기간임에도 열심히 잘 수강해 주셔서 감사합니다!
말씀하신대로 강의에서 제시된 기술들을 한번에 모두 적용하려는 것은 너무 복잡하고 쉬운 작업은 아닙니다.
실제로 각자 속한 환경에서는 모든 기술이 다 필요하지 않을 수 있을 것 같고요!
개념과 용어들에 대해서 챕터별로 실무 우선순위를 정해보자면..
게시글 챕터(클러스터드/세컨더리/커버링 인덱스 개념 이해 및 최적화)
좋아요 챕터(DB 트랜잭션과 락에 대한 이해)
조회수 챕터(인메모리 데이터베이스와 캐시에 대한 이해, 레디스 활용)
인기글 챕터(카프카에 대한 이해와 활용)
게시글 조회 최적화 챕터(CQRS, 캐시 전략 등 적용하면 좋지만, 정말 이 정도까지 최적화가 필요할 때 적용하면 충분. 돈도 들어가고 복잡도도 엄청 높아지고 어렵습니다.)
댓글 챕터(대규모 데이터의 계층형 테이블을 다룰 일이 있다면 필요하겠지만, 다룰 일이 없다면 필요할 때 적용하면 충분)
이렇게 될 것 같습니다. 분산 DB나 MSA도 알아두고 잘 활용할 수 있으면 좋긴 하겠지만.. 당장에 경험할 수 없는 환경이면 실제 적용하기도 어렵고 시스템 복잡도도 엄청나게 많이 올라갑니다. 4~5번이 이러한 내용들이라서 쉽게 적용하긴 어려우실 수는 있을 것 같습니다.
개인적으로 DB가 가장 중요하다고 생각하는게, 실제 병목이나 장애 지점이 되는 것도 보통 DB이고, 리소스도 최대한 절약하며 효율적으로 사용해야하는 것도 DB이기 때문에,
대규모 시스템을 당장 다룰 일이 없다면 RDB 내부 동작만 제대로 이해하고 적용할 수 있으면 충분하다고 생각합니다! (분산 DB가 아니라 데이터베이스 이론을 말하는 것입니다.)
아무튼 정리하면, 1~3번 활용할 수 있는 방향을 먼저 중점적으로 살펴보시면 좋을 것 같고요.
지금도 충분하다고 생각되신다면, 굳이 꼭 복잡한 기술들을 바로 적용할 필요도 없습니다!
인덱스나 쿼리가 잘 최적화되어있는지 점검해보시고, 성능적으로 아쉬운 부분들 하나씩 확인하며 개선해 나가면 충분하다고 생각되네요!