강의

멘토링

로드맵

Inflearn brand logo image
NEW
개발 · 프로그래밍

/

데이터베이스

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

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

(4.8) 수강평 15개

수강생 425명

  • 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이 아닌, 현업의 문제 해결 능력을 키우고 싶은 분

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

안녕하세요
입니다.

2,416

수강생

171

수강평

73

답변

4.5

강의 평점

13

강의

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

커리큘럼

전체

24개 ∙ (4시간 41분)

해당 강의에서 제공:

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

수강평

전체

15개

4.8

15개의 수강평

  • tttos님의 프로필 이미지
    tttos

    수강평 5

    평균 평점 5.0

    5

    79% 수강 후 작성

    I'm a server developer working at Toss who participated most deeply in this MySQL course. Hong previously prepared and created a Kafka-related course together with Choi, and since that topic was really good and I also wanted to share my knowledge in a deeper way, I decided to participate like this. - Of course, I had participated indirectly or directly before, but I was more immersed and engaged in this course. Actually, I don't think simply covering MySQL content alone would have that great of a learning effect for you all. Currently, with AI advancement, AI actually writes queries better than we do. What you need to know here is "what aspects you can consider" and "what methods are available." I think the ability lies in knowing these aspects and knowing how to instruct AI accordingly. I hope this course will be very helpful to you all from that perspective. Please show lots of interest. Thank you!!

    • jhong
      지식공유자

      Thank you for creating another great course that can have a positive impact!! I hope the parts we worried about and thought through will reach the students. Please take good care of us next time too!!

  • goryp017165님의 프로필 이미지
    goryp017165

    수강평 11

    평균 평점 4.8

    5

    100% 수강 후 작성

    It's too abstract and broad. I'd appreciate it if you could focus specifically on databases, but you're discussing too many different things.

    • jhong
      지식공유자

      Hello young pyo lee, thank you for your evaluation and feedback!! I think that in modern times, it's not just about simple database usage that's important. I believe what matters is whether you can do something derived through that database. From this perspective, I filmed the lecture and wanted to share a very broad range of perspectives with you all. As a result, it seems like there ended up being quite a lot of abstract concepts. Next time, I will work even harder to provide you with a more satisfying lecture. Thank you for taking the time to leave this review!!

  • lslsk08018196님의 프로필 이미지
    lslsk08018196

    수강평 1

    평균 평점 5.0

    5

    83% 수강 후 작성

    I think this is a great topic for gaining truly deep knowledge about MySQL. It covers some basic CRUD operations and focuses only on queries that are realistically used, which makes it even more helpful. However, the more important part seems to be the design patterns at the end. It was a great help in gaining the perspective to see the forest. Thank you.

    • jhong
      지식공유자

      Hello lsls ks, thank you for leaving such a positive review. As you mentioned, I wanted to focus mainly on the practical usage patterns for CRUD operations, and I concentrated more on design architecture. I will strive to provide even better lectures in the future. Thank you :)

  • tasdo4797187님의 프로필 이미지
    tasdo4797187

    수강평 4

    평균 평점 5.0

    5

    92% 수강 후 작성

    First, I learned from your Kafka course and it was so incredibly helpful and I was moved to the point of admiring you as an instructor... so I ended up taking this course as well. I think this course is somewhat more focused on MySQL compared to Kafka and the previous course. But just like when I watched the real Kafka course, it was tremendously helpful. It was a great time to review architecture once again, and it was such a beneficial time having you explain with actual patterns as examples. And these days, as I use AI as a tool rather than a competitor, I do all my coding and query work through AI, but seeing you teach not just simple query tuning but also internal methods and tuning techniques made me realize 'Ah, this person is aware that AI handles simple tasks and created this course accordingly.' It seems like a course that includes only content that would be helpful with more realistic topics after considering so many aspects... This is the first time in my life I've written such a long review, which shows just how helpful it was. Thank you so much and I'll look forward to your next course if it gets released!!! :)

    • jhong
      지식공유자

      Hello tasd os, thank you for the good review. What you mentioned in your review about utilizing AI as a tool really resonates with me. I believe that a good developer isn't someone who doesn't use AI, but rather someone who knows how to use AI as a tool well. I hope you'll make use of the topics I cover to discover even better ways to utilize it. Thank you :)

  • youngba8935643님의 프로필 이미지
    youngba8935643

    수강평 4

    평균 평점 5.0

    5

    92% 수강 후 작성

    I am a junior server developer who is currently working at a small startup after preparing for employment by referencing many of your lectures. I think the topics you cover are really excellent lectures, and from my personal experience, I believe there are many lectures with an abundance of high-quality content. I took this lecture without any doubt, and as my personal number one instructor, this lecture also had really great content. I think I'm in the process of writing only basic CRUD at the company, but through this lecture, I came to think that I should consider more diversity and architecture rather than just CRUD. When I conducted a POC on this topic at the company, everyone praised it as a really good topic... Even though it wasn't something I did myself but just followed along watching you, I felt so good that I immediately bragged about you 😆😆😆😆 I would be so grateful if you could create more beneficial lectures in the future. You've saved a person's life!!!

    • jhong
      지식공유자

      Hello Tenburger! Thank you so much for leaving such a Kind review. Writing CRUD is good, but I think what's more important is how to use it!! I'll work hard to provide you with even more beneficial lectures in the future!!

배움이 더 쉬워지는 9월의 할인 중 (3일 남음)

₩46

25%

₩79,200

Hong님의 다른 강의

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

비슷한 강의

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