인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

200억건의 데이터를 MySQL로 마이그레이션 할 때 고려했던 개념과 튜닝 방법

기존 MongoDB를 통해 관리하는 200억건의 데이터를 MySQL로 이전을 하면서 고려했던 개념들에 대해서 다루었습니다.

Thumbnail

초급자를 위해 준비한
[백엔드, 데이터베이스] 강의입니다.

이런 걸 배울 수 있어요

  • MySQL 사용시에 주의 해야 할 점

  • MySQL의 쿼리 작성

  • MySQL의 다양한 제약 조건

  • MySQL의 Lock

200억건의 데이터를 어떻게 마이그레이션 할까요?? 🤔

저는 최근 실무에서 MongoDB에 있는 200억건의 데이터를 MySQL로 마이그레이션을 진행을 하였고 이로인해 비용 절감 및 정규화를 달성하였습니다.

결론부터 말씀드리자면 정답은 없습니다. 제가 올바르게 진행이 되었는지 더 최적화가 가능한지 유무를 알 수 없기 떄문이죠.

하지만 정상적으로 무중단으로 서비스를 배포 하였고 이러한 과정에서 최적화를 위해 고려했던 부분과 주의했던 부분을 공유드리고 싶습니다.

이 강의를 통해서 여러분들은 DB에 대한 매력과 백엔드 개발자의 고민에 대해서 알아가셨으면 좋겠습니다.

이 강의의 특징

📌 100% 제가 경험했던 부분을 주제로 삼고 있어요.

📌 제가 경험했던 부분에 추가적으로 제가 알려드리고 싶은 부분을 포함하고 있어요.

📌 개인적인 설명이 부족한 부분에 대해서는 제가 따로 알아보고 알려드려요.

📌 실제 실무에서 있었던 경험을 알려드려요.

이런 분들께 추천해요

백엔드 개발자

DB그냥 쿼리만 작성하면 되는거 아닌가요??

DB 엔지니어
이런것들을 알려주고 공유하고 싶어요.

취업 준비생
개발자로 취업을 준비해야하는데 RDB가 궁금해요.

강의에서는 이런 내용을 다루고 있어요. 🤔

  1. Multi-Column Index [ 복합 인덱스 ]

  2. Explain Query [ 쿼리 분석 ]

  3. Covering Index [ 인덱스 최적화 ]

  4. RDB vs ElasticSearch [ 색인과 역색인 ]

  5. ORDER BY [ 정렬 최적화 ]

  6. INSERT [ 삽입 최적화 ]

  7. AUTO_INCREMENT LOCK [ AUTO_INCREMENT Lock ]

  8. Index Dive [ 쿼리 계획 수립 최적화 ]

  9. Prefix Index [ 인덱스 경량화 ]

  10. MySQL Lock [ MySQL의 정합성과 동시성 ]

  11. DeadLock [ 케이스 분석을 통한 DeadLock 이해 ]

  12. No OFFSET [ 쿼리 튜닝 ]

  13. Skip Locked [ Session 관리 ]

이 강의를 만든 사람

스타트업부터 메타버스 및 플랫폼 서비스 개발까지 다양한 경험을 하였고 최근까지 200억건의 MongoDB데이터를 다루던 서비스를 MySQL로 이전하였고 이제는 200억건의 MySQL 데이터를 다루는 플랫폼 서버 개발자

수강 전 참고 사항

실습 환경

  • 강의는 MacOS 기준으로 설명합니다. MySQL Workbench를 사용하니 설치 해주시면 됩니다.


참고하면 좋은 강의 💁


해당 강의는 기본적으로 MySQL에 집중을 하고 있습니다.

하지만 제가 경험했던 모든 회사들은 하나의 DB를 사용하는 경우는 없습니다.

  • 물론 스타트업의 경우에는 하나의 DB로 구성이 됩니다.


상황이나 레거시 및 환경에 맞춰서 다양한 DB를 선정하여 활용을 하고 있습니다.

그러니 MySQL만으로는 부족하실 수 있다고 생각을 합니다.


만약 NoSQL의 대표주자인 MongoDB에 대해서 궁금하신 분들은 아래에 있는 강의를 참고하시면 많은 도움이 되실 겁니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • DB를 처음 하시는 분

  • 대용량 데이터 설계가 궁금하신 분

  • MySQL의 기본적인 개념이 궁금하신 분

안녕하세요
July입니다.

3,241

수강생

146

수강평

85

답변

4.5

강의 평점

15

강의

자기 소개

비전공자 출신으로 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

서버 최적화와 다양한 쿼리 튜닝을 좋아합니다.

 

경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[前] 판교 대기업 플랫폼 서버 개발자

[] 판교 모회사 서버 개발자

더보기

커리큘럼

전체

13개 ∙ (2시간 6분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

20개

4.2

20개의 수강평

  • gohans님의 프로필 이미지
    gohans

    수강평 12

    평균 평점 4.9

    5

    92% 수강 후 작성

    기본적인 개념보다는 좀 더 쿼리를 작성하는데에 있어서 주의해야하는 부분들에 대해서 집중적으로 알려주는 좋은 강의라고 생각을 합니다. 이 강의에서 쿼리에 대해서 배워가시기 보다는 성능 개선이나 튜닝 개선을 많이 배워 갈 수 있다는 생각이 들었습니다. 사실 쿼리에 대해서는 일반적으로 ChatGPT를 통해서도 개발이 가능하다고 생각을 하기 떄문에 이런 이론에 집중된 강의가 더 만족스럽게 다가왔습니ㅣ다.

    • July
      지식공유자

      많은 분들이 MySQL을 사용하시고 제가 다루었던 방식에 대해서 공유드리고 싶었습니다. 남겨주신 내용처럼 사실 쿼리에 대해서는 저보다 AI가 더 정확할꺼 같아요 ㅎㅎ 그래서 쿼리보다는 이론이나 최적화하는 부분에 대해서 다루어보았습니다. 좋은 평 해주셔서 감사합니다.😁

  • 유희준님의 프로필 이미지
    유희준

    수강평 23

    평균 평점 5.0

    5

    100% 수강 후 작성

    • 쿄큐큐님의 프로필 이미지
      쿄큐큐

      수강평 40

      평균 평점 4.9

      5

      100% 수강 후 작성

      • Kwonkyu Park님의 프로필 이미지
        Kwonkyu Park

        수강평 10

        평균 평점 4.3

        4

        100% 수강 후 작성

        잊고있던 개념들을 오랜만에 떠올려볼 수 있는 좋은 강의였습니다

        • gy.lyu님의 프로필 이미지
          gy.lyu

          수강평 8

          평균 평점 5.0

          5

          31% 수강 후 작성

          업무에 큰도움이 될것 같습니다.

          • July
            지식공유자

            많은 도움이 되었다고 하시니 뿌듯합니다. 들어주셔서 감사합니다 :)

        July님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        ₩38,500