#7 월간 회고 - 23년 07월

wannabeking·2023년 8월 24일
0

회고

목록 보기
16/18
post-thumbnail

약 1년간 백엔드 개발자로 일하면서, ORM 프레임워크 덕분에 어렵지 않게 RDB를 이용할 수 있었습니다.

하지만 인터페이스를 사용하기 때문에 각 벤더, 스토리지 엔진의 특징을 알지 못했고 질의, 트랜잭션과 lock, 인덱싱이 어떻게 이루어지는지 명확하게 알지 못했습니다.

따라서 자주 사용하던 MySQL을 공부하고자 했습니다.



Real MySQL 8.0 1권

Real MySQL 8.0은 국내 MySQL 도서 중 가장 대표적인 책입니다.

1권과 2권을 합쳐 MySQL에 대한 전반적인 것들을 깊게 다루고 있기 때문에 백엔드 개발자나 DBA에게 큰 도움이 되는 책입니다.

저는 그 중 1권을 읽었으며 다음과 같은 내용들을 학습했습니다.

  • 사용자 계정 관리, 비밀번호 관리, 권한 및 역할
  • MySQL 엔진의 전체적인 아키텍처
  • InnoDB vs MyISAM, 왜 InnoDB가 default 스토리지 엔진이 되었는지
  • 트랜잭션과 InnoDB의 lock, 격리 수준
  • 데이터를 압축하여 저장하는 방법, 왜 페이지 압축이 아닌 테이블 압축을 사용하는지
  • 데이터, undo/redo, 바이너리 로그 암호화
  • 성능을 좌우하는 index에 대해
  • 옵티마이저와 힌트
  • 성능 분석과 트러블 슈팅을 위한 실행 계획

책을 읽으면서 본인은 정말 MySQL에 대해 무지하구나 느꼈고, 다시 한번 '왜 알고 사용해야 하는가?'에 대해 생각할 수 있었습니다.

물론 DB를 깊게 알지 못해도 백엔드 개발을 할 수 있다고 생각합니다.

하지만 사용하는 DB의 특성을 모르고 개발하면 좋은 성능을 얻기 힘들뿐더러,
대용량 아키텍처에서 DB는 가장 먼저 부담을 받는 존재기 때문에 병목이나 오류가 발생할 확률이 높으며 이를 해결하기 어려울 것입니다.

따라서 이 책을 저와 같이 평소에 ORM 프레임워크를 사용해왔기 때문에 DB 공부에 소흘했던 모든 백엔드 개발자 분들께 추천합니다!



profile
내일은 개발왕 😎

0개의 댓글