강의

멘토링

로드맵

BEST
Programming

/

Database

Học MySQL từ nhà phát triển Toss xử lý hơn 500 tỷ dữ liệu tài chính [ By. Người không chuyên ngành & Nhà phát triển Toss ]

Cùng với các nhà phát triển Toss xử lý hàng nghìn tỷ giao dịch tài chính và nhà phát triển bắt đầu từ phi chuyên ngành hiện đang phát triển nền tảng tại Pangyo, chúng ta sẽ học cách thiết kế và xử lý kiến trúc dữ liệu quy mô lớn để xử lý hàng nghìn tỷ bản ghi dữ liệu chỉ sử dụng SQL thuần túy và các tính năng cốt lõi của MySQL.

(4.7) 30 đánh giá

528 học viên

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

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Kỹ thuật mở rộng ngang MySQL sử dụng Sharding và Partitioning

  • Sharding có thực sự luôn là hình thức đúng đắn?? Kiến thức về câu hỏi bản chất đó

  • Chiến lược phân tán traffic sử dụng Replication và cân bằng tải cùng với phương pháp đảm bảo HA tương ứng

  • Transaction & Lock을 활용한 đồng thời tính kiểm soát và hiệu suất đảm bảo để MVCC

  • API MySQL thực tế được sử dụng trong công việc chỉ tập trung vào CRUD và nắm vững

  • Kỹ thuật nâng cao cho SELECT xử lý 90% lưu lượng truy cập

  • Phân tích chỉ mục và phân tích truy vấn thông qua kế hoạch truy vấn trước

  • Nguyên tắc thiết kế cấu trúc cơ sở dữ liệu cho thiết kế hệ thống có tính mở rộng

Các nhà phát triển Toss xử lý dữ liệu tài chính trên 500 tỷ sử dụng MySQL như thế nào?? 🤔

Nội dung này là cuộc trò chuyện thực tế.

[[SPAN_1]]😄[[/SPAN_2]][[SPAN_2]] Hong[[/SPAN_2]] : Nhưng anh ơi, gần đây em có thắc mắc là khi Toss sử dụng MySQL, với hàng trăm tỷ hoặc hàng nghìn tỷ bản ghi dữ liệu như vậy, họ xử lý tất cả như thế nào vậy??

😁 Toss : Bạn là ai vậy

😄 Hong : Không, thật sự gần đây mình hơi lo về vấn đề này, chỉ tối ưu SELECT thôi cũng có giới hạn, và lưu trữ vật lý cũng sẽ có giới hạn.. Khi dịch vụ phát triển thì phải giải quyết những phần này như thế nào đây, đang băn khoăn quá;;

😁 Toss : Đừng chỉ cố gắng giải quyết bằng các câu truy vấn đơn giản như SELECT, mà nếu biết cách tận dụng cơ sở dữ liệu thì có thể giải quyết theo cách khác, vì giới hạn vật lý là rõ ràng

😁 Toss : Nhưng mà bạn là ai vậy??

😄 Hong: ㅡㅡ Thôi đùa đi... Lần này hãy cho tôi biết về cái này, kết hợp với phần tôi đã biết để cùng làm nhé.

Đừng chỉ cố gắng giải quyết bằng các câu truy vấn đơn giản như SELECT, mà nếu bạn biết cách sử dụng cơ sở dữ liệu thì phải giải quyết bằng cách khác, vì những giới hạn vật lý là rõ ràng

Điều này có nghĩa là gì vậy?? 🤷 Và làm thế nào để giải quyết?? Câu trả lời nằm ở việc vượt qua SELECT, JOIN mà chúng ta đã biết, hiểu và sử dụng mysql-query một cách phù hợp, thiết kế kiến trúc để xử lý MySQL trong những tình huống cực hạn. Ngoài ra, trong khóa học này không chỉ dừng lại ở việc tuning đơn thuần, mà còn công khai tất cả các nguyên lý cốt lõi về replication, partitioning, sharding để xử lý lưu lượng truy cập lớn cùng với toàn bộ kinh nghiệm của developer Toss và tôi.


Không phải là bài gi강 nhàm chán chỉ liệt kê lý thuyết, mà tôi đã chuẩn bị như một hướng dẫn thực chiến để chinh phục hoàn hảo các tính năng cốt lõi của MySQL thông qua việc cùng nhau viết các truy vấn thực tế và quan sát quá trình hoạt động. 🚀

Đặc điểm của khóa học này

📌Khóa học được triển khai bằng SQL thuần túy

* Không sử dụng thêm ngôn ngữ nào khác. Chỉ sử dụng thuần túy cú pháp SQL và đang làm việc với MySQL.

📌Truy vấn SQL thực tế và nội dung được cấu thành từ hơn 1500 dòng câu lệnh

* Đây là một khóa học bao gồm khoảng 1624 dòng, chứa các truy vấn SQL để tạo ra các query đa dạng và dữ liệu giả, cùng với các phần lý thuyết liên quan đến nội dung bài giảng!

📌Các cách sử dụng MySQL đa dạng khó tiếp cận trong môi trường thực tế

* Các truy vấn dạng thủ tục có tệ không?? Việc nói rằng chúng hoàn toàn tệ là một cách diễn đạt sai lầm. Chúng ta đang đề cập đến các thủ tục có thể được sử dụng dựa trên cấu trúc bảng thực tế.

📌Cung cấp cú pháp truy vấn SQL để tạo dữ liệu mẫu

* Việc đơn giản chỉ gửi truy vấn thông qua dữ liệu nhỏ là không hiệu quả. Để các bạn có thể tự học thêm nhiều hơn trong tương lai, chúng tôi sẽ cung cấp một số truy vấn tạo ra các dữ liệu mẫu đa dạng.

📌Con đường tắt từ Junior đến Senior..! System Design

* Việc tối ưu hóa các truy vấn được viết đơn giản có những hạn chế rõ ràng. Bạn có thể học cách thiết kế hệ thống dựa trên mục đích của lưu lượng truy cập.

* Bằng cách nắm vững các kiến trúc đa dạng có thể xây dựng khi sử dụng Database, bạn có thể phát triển khả năng làm kiến trúc sư hệ thống.

Khuyến nghị cho những người như thế này

Nhà phát triển Backend

Tôi muốn xử lý dữ liệu lớn.

Người chuẩn bị việc làm

Việc tìm việc làm thật khó quá.

Kỹ sư Cơ sở dữ liệu Junior

Thực ra chỉ biết CRUD thôi...

Trong khóa học này, chúng tôi đang đề cập đến những nội dung như thế này.

* Các biến cấu hình môi trường đa dạng của MySQL

* Kỹ thuật quản lý kết nối MySQL cho bảo mật thực tế

* Các mẫu thiết kế DB dành cho lập trình viên server

* Kỹ thuật xử lý để phân tán dữ liệu [ Phân vùng & Tối ưu hóa chỉ mục ]

* Kỹ thuật mô hình hóa dữ liệu

* Các mẫu tối ưu hóa cho CRUD

* Kiến trúc nội bộ MySQL và Storage

* Quản lý bộ nhớ và cơ chế giao dịch cùng khóa

* Hệ thống mở rộng MySQL [ Sao chép và phân tán, Phân vùng và Sharding ]

* Nén dữ liệu và lưu trữ

* Thực chiến! Mô hình hóa dữ liệu để xây dựng dịch vụ

Tại sao phải học MySQL?? 🤔

Mục đích của chúng tôi chủ yếu là tìm việc làm và chuyển việc. Trong điều kiện này, thực ra rất đơn giản. Bởi vì MySQL là Database được sử dụng phổ biến nhất trong các doanh nghiệp.

Người tạo ra khóa học này 🤭

  • Bắt đầu từ người không chuyên ngành, hiện tại là một lập trình viên đang làm việc tại Pangyo với vai trò phát triển backend nền tảng

  • Mục tiêu là chia sẻ phương pháp phát triển thực tế và lý thuyết phát triển, là người chia sẻ kiến thức tạo ra khóa học cùng với những người quen có năng lực xung quanh chứ không phải một mình

  • Người chia sẻ kiến thức đã được Inflearn phỏng vấn nhờ hoạt động tích cực

Người đã tham gia khóa học này 🤭

  • Tốt nghiệp chuyên ngành Khoa học Máy tính tại tỉnh lẻ, từng làm phát triển phần mềm tại Naver và hiện đang làm phát triển backend tại Toss - một lập trình viên server

  • Lập trình viên luôn thiếu thời gian nên thường xuyên bị Hong mắng...

  • Nhà phát triển mơ ước đạt được tự do tài chính và trở thành lập trình viên độc lập

Khóa học có hiệu quả học tập tăng gấp 10 lần khi học cùng nhau

Hướng dẫn hoàn hảo về Kafka dễ hiểu và sâu sắc nhất [ Bởi: Người không chuyên ngành & Nhà phát triển Kakao ]

  • Khi sử dụng Database, tôi sẽ cho bạn biết tất cả về cách triển khai kiến trúc sử dụng MSQ đại diện nhất được sử dụng cùng với nó để có thể thực hiện hình thức kết hợp lỏng lẻo giữa các dịch vụ!!

Lưu ý trước khi học

  • IDE :

    JetbrainsintelliJ

  • MySQL :

    9.2.0 cho macos15.2 trên arm64 (Homebrew)

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Các lập trình viên backend 1-3 năm kinh nghiệm cảm thấy giới hạn chỉ với CRUD

  • Nhà phát triển đã trải qua sự suy giảm hiệu suất dịch vụ do các truy vấn chậm

  • Những người muốn thử thách thiết kế hệ thống có thể mở rộng để xử lý lưu lượng truy cập lớn

  • DBA, kỹ sư dữ liệu và nhà phát triển server mong muốn giao tiếp sâu sắc

  • Những người muốn phát triển khả năng giải quyết vấn đề thực tế trong công việc, không chỉ dừng lại ở lý thuyết SQL

  • Kỹ sư muốn làm việc với các hệ thống quan trọng về tính ổn định và hiệu suất như dữ liệu tài chính

Xin chào
Đây là

3,529

Học viên

263

Đánh giá

104

Trả lời

4.6

Xếp hạng

17

Các khóa học

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Chương trình giảng dạy

Tất cả

24 bài giảng ∙ (4giờ 41phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

30 đánh giá

4.7

30 đánh giá

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

    Đánh giá 7

    Đánh giá trung bình 5.0

    5

    79% đã tham gia

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

    • Hong
      Giảng viên

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

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

    Đánh giá 11

    Đánh giá trung bình 4.8

    5

    100% đã tham gia

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

    • Hong
      Giảng viên

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

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

    Đánh giá 14

    Đánh giá trung bình 4.9

    3

    100% đã tham gia

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

    • Hong
      Giảng viên

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

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

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    83% đã tham gia

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

    • Hong
      Giảng viên

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

  • tasd os님의 프로필 이미지
    tasd os

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    92% đã tham gia

    우선 강사님의 kafka 강의를 학습하고 너무 많은 도움이 되었고 감동할수준으로 강사님을 추앙하게 되어서... 이번 강의도 수강하게 되었습니다. 어느정도 Kafka와 강의에서 좀 더 MySQL에 집중된 강의라는 생각이 드네요. 하지만 진짜 Kafka 강의를 봤던것처럼 너무 많은 도움이 되었습니다. 아키텍처에 대해서도 다시한번 복습 할 수 있는 좋은 시간이였고 실제 패턴을 예시로 들어가면서 설명해주는게 너무 유익한 시간이였습니다. 그리고 요즘 AI를 경쟁자가 아닌 도구로써 활용을 하다보니 코드 작업이나 쿼리작업은 모두 AI를 통해 진행하는데, 단순한 쿼리 튜닝도 알려주시지만, 내부적인 방법과 튜닝 기법을 알려주시는것을 보고 '아 이분은 AI가 단순 작업도 해주는것을 인지하고 강의를 만들어주셨구나' 라는것을 새삼 느끼게 되었습니다. 그만큼 더 많은 부분을 고민하고 현실적인 주제로 도움이될만한 내용만 포함된 강의인거 같네요... 살면서 이렇게 긴 리뷰 처음써보는데 그만큼 많은 도움이 되었습니다. 너무 감사드리고 다음 강의도 출시된다면 기대하겠습니다!!! :)

    • Hong
      Giảng viên

      안녕하세요 tasd os님 좋은 평 감사합니다. 남겨주신 평에서 AI를 도구로써 활용한다는 것이 너무나도 와닿는 말이네요. AI를 사용하지 않아야 잘하고 좋은 개발자가 아니라 AI라는 도구를 잘 사용해야 하는 개발자가 더 좋은 개발자라고 생각합니다. 그만큼 제가 다루는 주제를 활용하셔서 더 좋은 활용법을 알아가셨으면 좋겠습니다. 감사합니다 :)

1.671.347 ₫

Khóa học khác của Hong

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!