강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

데이터베이스

5천억건이 넘는 금융 데이터를 처리하는 토스 개발자에게 배우는 MySQL [ By. 비전공자 & Toss 개발자 ]

수천억건의 금융 트래픽을 다루는 토스개발자와 비전공자로 시작해 판교에서 플랫폼 개발을 하고 있는 개발자와 함게 순수 SQL과 MySQL의 핵심 기능만을 사용하여, 수천억 건의 데이터를 처리하는 대용량 데이터 아키텍처를 설계하고 처리하는 방법을 학습합니다.

(4.7) 수강평 34개

수강생 583명

  • Hong
실습 중심
데이터분석
데이터베이스
취업
이직
MySQLJetbrainsmysql-query

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • Sharding과 Partitioning을 활용한 MySQL 수평적 확장 기법

  • Sharding은 과연 항상 옳은 형태일까?? 그 본질적인 질문에 대한 지식

  • Replication를 활용한 트래픽 분산전략과 부하분산 그에 따른 HA 확보 방식

  • Transcation & Lock을 활용한 동시성 제어 및 성능 확보를 위한 MVCC

  • 실무에서 실제로 사용하는 CRUD만을 다루며 숙지하는 MySQL API

  • 90% 트래픽을 담당하는 SELECT에 대한 고급화 기법

  • 쿼리 사전 계획을 통한 인덱스 분석과 쿼리 분석

  • 확장성있는 시스템 설계를 위한 데이터베이스 구조 설계 원칙

5천억이 넘는 금융 데이터를 다루는 토스 개발자는 MySQL을 어떻게 활용할까?? 🤔

이 내용은 실제 대화 내용입니다.

😄 Hong : 근데 형 요즘 궁금한게 있는데 토스에서는 MySQL을 사용할 떄, 몇천억건 아니면 몇조건 데이터가 있을텐데, 그거 다 어떻게 핸들링 함??

😁 Toss : 누구세요

😄 Hong : 아니 진짜로 요즘 그런게 좀 걸린단말이지 단순히 SELECT 최적화도 한계가 있을테도 물리적인 저장소에 대해서도 한계가 있을텐데.. 서비스 성장하는데에 있어서 이런 부분을 어떻게 해결해야 할지 고민이 된다 이거야;;

😁 Toss : 단순히 SELECT와 같은 쿼리문을 통해 해결하려고 하지 말고, 데이터 베이스를 어떻게 활용 할 수 있는지를 알고 있다면 다른 방식으로 해결하는거지 머, 물리적인 한계는 명확하니깐

😁 Toss : 그런데 누구세요??

😄 Hong: ㅡㅡ 장난 그만... 이번에는 이거 관련해서 알려줘봐 나도 알고있는 부분 합쳐서 같이 만들어보자.

단순히 SELECT와 같은 쿼리문을 통해 해결하려고 하지 말고, 데이터 베이스를 어떻게 활용 할 수 있는지를 알고 있다면 다른 방식으로 해결해야해, 물리적인 한계는 명확하니깐

이게 무슨 의미일까요?? 🤷 그리고 어떻게 해결해야 할까요?? 답은 우리가 알던 SELECT, JOIN을 넘어, mysql-query를 이해하고 적합하게 활용하면서, MySQL을 극한의 상황에서 다루는 아키텍처 설계에 있습니다. 또한 강의에서는 단순한 튜닝을 넘어, 대용량 트래픽을 감당하기 위한 복제, 파티셔닝, 샤딩의 핵심 원리와 토스 개발자와 저의 노하우를 모두 담아서 공개합니다.


이론만 나열하는 지루한 강의나 아니라, 실제 쿼리를 작성하고 동작하는 과정을 함께 살펴보면서 MySQL의 핵심 기능을 완벽하게 정복하는 실전형 가이드로써 준비해 보았습니다. 🚀

이 강의의 특징

📌순수 SQL로 구현이 되어 있는 강의

* 추가적인 언어는 사용하지 않습니다. 순수하게 SQL 문법만을 사용하며 MySQL을 다루고 있습니다.

📌1500 줄이 넘는 구문으로 구성된 실전 SQL 쿼리와 내용

* 다양한 쿼리와 목 데이터를 생성하기 위한 SQL 쿼리와 강의 내용과 관련된 이론적인 부분들을 포함하여 대략 1624줄로 구성된 강의입니다!

📌실무 환경에서 쉽게 접하지 못하는 다양한 MySQL 활용법

* 프로시저 형태의 쿼리는 나쁠까요?? 마냥 나쁘다고 표현하는 것은 잘못된 표현입니다. 실제 테이블 구조를 기반으로 활용 할 수 있는 프로시저들에 대해서 다루고 있습니다.

📌목 데이터 생성을 위한 SQL 쿼리 문법 제공

* 단순히 작은 데이터를 통해 쿼리를 전송하는 행위는 효과적이지 못합니다. 추후 여러분들이 더 많은 학습을 스스로 하실수도 있게 다양한 목 데이터를 생성하는 쿼리를 일부 제공해 드립니다.

📌주니어에서 시니어로 가는 지름길..! 시스템 디자인

* 단순하게 작성한 쿼리의 튜닝을 하는 행위는 한계가 명확합니다. 트래픽의 목적에 따라서 시스템을 설계하는 방법에 대해서 학습하실 수 있습니다.

* Database를 활용하였을 떄 구축 할 수 있는 다양한 아키텍처를 숙지함으로써 시스템 아키텍쳐로써의 능력을 기를 수 있습니다.

이런 분들께 추천해요

백엔드 개발자

대용량 데이터를 다루고 싶어요.

취업 준비생

취업이 너무 어려워요.

주니어 DB 엔지니어

사실 CRUD만 아는데...

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

* MySQL의 다양한 환경설정 변수

* 실전 보안을 위한 MySQL 접속 관리 기법

* 서버 개발자를 위한 DB 설계 패턴

* 데이터 분산을 위한 처리 기법 [ 파티셔닝 & 인덱스 최적화 ]

* 데이터 모델링 기법

* CRUD에 대한 최적화 패턴

* MySQL 내부 아키텍처와 스토리지

* 메모리 관리와 트랜잭션 및 락 메커니즘

* MySQL의 확장 시스템 [ 복제와 분산, 파티셔닝과 샤딩 ]

* 데이터 압축과 아카이빙

* 실전! 서비스 구축을 위한 데이터 모델링

MySQL 왜 배워야 하지?? 🤔

저희의 목적은 대부분이 취업과 이직입니다. 이 조건에서는 사실 매우 단순합니다. MySQL이 대표적으로 기업에서 사용하는 Database이기 떄문입니다.

이 강의를 만든 사람 🤭

  • 비전공자로 시작하였고, 현재는 판교에서 플랫폼 백엔드 개발자로 근무하고 있는 개발자

  • 현실적인 개발 방식과 개발론을 알려드리는 것이 목표이고, 혼자가 아닌 주변 능력있는 지인들과 함께 강의를 만드는 지식 공유자

  • 열심히 활동한 덕분에 인프런에서 인터뷰 진행해 본 지식 공유자

이 강의에 참여한 사람 🤭

  • 지방에서 컴퓨터 공학을 전공하였고, 네이버에서 개발을 하다가 현재는 토스에서 백엔드 개발을 하고 있는 서버 개발자

  • 늘 시간이 부족하여 홍에게 많이 혼나는 개발자...

  • 경제적 자유를 이루고 싶고, 1인 개발을 꿈꾸고 있는 개발자

같이보면 학습 효과가 10배가 되는 강의

가장 쉽고 깊게 알려주는 Kafka 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]

  • Database를 활용 할 떄, 함께 활용하는 가장 대표적인 MSQ를 활용하여 어떤 아키텍처를 구현하여 서비스간의 느슨하게 결합 할 수 있는 형태를 구현 할 수 있는지 모두 알려드립니다!!

수강 전 참고 사항

  • IDE :

    JetbrainsintelliJ

  • MySQL :

    9.2.0 for macos15.2 on arm64 (Homebrew)

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • CRUD만으로는 한계를 느끼는 1~3년차 백엔드 개발자

  • 느린 쿼리 때문에 서비스 성능 저하를 경험한 개발자

  • 대용량 트래픽을 감당할 확장 가능한 시스템 설계에 도전하고 싶은 분

  • DBA, 데이터 엔지니어와 깊이 있는 소통을 원하는 서버 개발자

  • 이론뿐인 SQL이 아닌, 현업의 문제 해결 능력을 키우고 싶은 분

  • 금융 데이터와 같이 안정성과 성능이 중요한 시스템을 다루고 싶은 엔지니어

안녕하세요
입니다.

4,300

수강생

308

수강평

110

답변

4.6

강의 평점

18

강의

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

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

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

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

커리큘럼

전체

24개 ∙ (4시간 41분)

해당 강의에서 제공:

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

수강평

전체

34개

4.7

34개의 수강평

  • young pyo lee님의 프로필 이미지
    young pyo lee

    수강평 11

    평균 평점 4.8

    5

    100% 수강 후 작성

    너무 추상적이고 폭이 넓네요. db에 한정하여 이야기 해주셨으면 좋은데 너무 여러가지를 이야기 하고 있네요,

    • Hong
      지식공유자

      안녕하세요 young pyo lee님 평과 피드백 주셔서 감사합니다!! 아무래도 현대에서는 단순한 db 사용법이 중요한게 아니라고 생각합니다. 그 db를 통해 파생되는 무언가를 할 수 있는지가 중요하다고 생각합니다. 이러한 관점에서 강의를 촬영하였고 여러분들의 견해를 굉장히 폭넓게 알려드리고 싶었습니다. 그러다보니 추상적인 개념들이 꽤나 많아진거 같아요. 다음에는 더 만족도있는 강의를 제공해 드릴 수 있게 더 열심히 노력하겠습니다. 이렇게 시간 내주셔서 평 남겨주셔서 감사합니다!!

  • 황용학님의 프로필 이미지
    황용학

    수강평 14

    평균 평점 4.9

    3

    100% 수강 후 작성

    쿼리문에 대해 깊게 다를 줄 알았는데 그렇지 않아서 아쉬웠다. 그래도 좋은 강의 감사합니다.

    • Hong
      지식공유자

      안녕하세요 황용학님 이렇게 시간 내주시며 평 남겨주셔서 감사합니다. 사실 이 강의를 준비하는데에 있어서 많은 고민을 했었습니다. 어떤 부분을 알려드려야 할지, 어떤 개념이 실무에서 더 효과적일지에 대해서 고민을 하고 이런 주제를 선정해 보았습니다!! 아무래도 일반 쿼리를 작성하는 과정은 사실 큰 도움이 되지 못한다고 생각합니다. UNION을 잘 사용한다던지, WHERE 조건을 정말 잘 적용한다던지, 이런 내용은 현재 시대 흐름상 잘 어울리지 못한 주제라고 생각을 했어요. 왜냐하면 이제 AI가 저보다 그리고 다른 시니어 개발자 분들보다 더 잘사용하고 더 잘 분석하고 알려주기 떄문입니다. 그래서 일반적인 쿼리를 다루기도 하지만, 이 부분에 집중하기 보다는 그냥 이 MySQL이라는 데이터베이스를 사용하면서 여러분들이 활용하고 적용 할 수 있는 부분이 무엇인지 알려드리는 것이 맞다고 생각을 하였습니다. 이 내용을 기반으로 추후에 AI에게 질문을 던져서 업무 퍼포먼스를 향상 시켜드릴 수 있다고 생각을 하였습니다. 그래서 이러한 관점이 많이 들어간 강의이기 떄문에 아쉽게도 황용학님이 원하시는 강의가 아니였던거 같습니다. 그래도 앞으로 더 좋은 강의 제공해드리며 더 나은 모습 보여드릴 수 있도록 노력하겠습니다. 강의 들어주셔서 너무 감사드립니다!!!

  • 미래 1인 개발자님의 프로필 이미지
    미래 1인 개발자

    수강평 8

    평균 평점 5.0

    5

    79% 수강 후 작성

    이번 MySQl 강의에 가장 딥하게 참여한 토스에서 개발하고 있는 서버 개발자 입니다. Hong이 이전에 Kafka 관련 강의를 초이와 함께 준비하여 강의를 만들었는데, 해당 주제가 너무 좋기도 하고 저도 제가 알고 있는 지식을 좀 더 딥하고 알려주고 싶다는 생각에 이렇게 참여하게 되었습니다. - 물론 간접적으로나 직접적으로 참여는 했지만, 이 강의는 좀 더 몰두하여 참여를 하였네요. 사실 단순하게 MySQL에 대한 내용만은 여러분들의 학습효과가 그렇게 좋다고 생각은 하지 않습니다. 현재는 AI 발전으로 인해서 사실상 쿼리는 AI가 더 잘짜게 됩니다. 여기서 여러분들이 아셔야 하는 부분은 "어떤 부분을 고려할 수 있는지", "어떤 방식이 있는지" 등을 아셔야 합니다. 그 부분을 아시고 AI에게 시킬 줄 아는게 능력인거 같습니다. 이 강의가 그러한 관점에서 여러분들에게 많은 도움이 되었으면 좋겠습니다. 많은 관심 부탁드립니다. 감사합니다.!!

    • Hong
      지식공유자

      이번에도 좋은 영향 끼칠 수 있는 좋은 강의 함께 만들어 주셔서 감사합니다!! 저희가 고민하고 생각한 부분이 수강하시는 분들에게 닿았으면 좋겠네요 다음에도 잘부탁드려요!!

  • Cheon님의 프로필 이미지
    Cheon

    수강평 1

    평균 평점 4.0

    수정됨

    4

    100% 수강 후 작성

    5천억건이 넘는 금융 데이터를 처리하는 이라는 강의 제목 때문에 아 대용량 데이터의 처리 방법들을 제안하고 일부 방법들을 실습 해볼 수 있다던지 라는 생각이 들어 수강하였지만 이론적인 내용이 전부였기에 솔직히 이 점은 아쉬운 부분으로 남을 수 있을 듯 합니다. 다만, 대용량 데이터를 어떻게 다루면 좋을지에 대한 검토 방향성들을 넓힐 수 있는 내용이란 점에서는 좋은 내용이 담겨 있다는 것과 우리가 사용하고 있던 MySQL을 정말 알고 쓰는 것인가에 대한 생각을 한번 더 할 수 있는 기회를 주신 듯 합니다. 좋은 강의 감사했습니다.

    • Hong
      지식공유자

      안녕하세요 Cheon님 피드백 주셔서 감사합니다!! 아무래도 MySQL만을 딥하게 다루는 것과 실습하는 과정이 요즘에는 큰 의미가 없어서 이런 대용량의 데이터나 트래픽을 어떻게 핸들링 해야 하는지를 주로 다루어 보았습니다. 다음에는 별 만점을 받을 수 있도록 더 좋은 강의를 제공해드리도록 하겠습니다. 감사합니다 :)

    • 제가 생각했던 강의는 실습이 포함된 강의였을 뿐이었지만 강사님 덕분에 딥하고 다양한 인사이트를 얻었기에 강의 내용은 더할 나위 없이 좋았어요!

  • lsls ks님의 프로필 이미지
    lsls ks

    수강평 1

    평균 평점 5.0

    5

    83% 수강 후 작성

    MySQL에 대해서 진짜 딥하게 알 수 있는 좋은 주제라고 생각합니다. 간단한 CRUD도 일부 다루고 현실적으로 사용하는 쿼리들에 대해서만 다루고 있기 떄문에 더욱더 도움이 되는거 같습니다. 하지만 더 중요한 부분은 마지막에 있는 디자인 설계 패턴 같네요. 숲을 볼 수 있는 시야에 큰 도움이 되었습니다. 감사합니다.

    • Hong
      지식공유자

      안녕하세요 lsls ks님 좋은 평 남겨주셔서 감사합니다. 말씀하신 부분처럼 CRUD에 대해서는 정말 사용하는 형태만 위주로 다루고 싶었고 좀 더 집중한 부분은 디자인 설계에 대해서 좀 더 집중해 보았습니다. 앞으로 더 좋은 강의 제공해드리도록 노력하겠습니다. 감사합니다 :)

2025 블랙 프라이데이 할인 중 (1일 남음)

₩59,400

25%

₩79,200

Hong님의 다른 강의

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

비슷한 강의

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