강의

멘토링

커뮤니티

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) 35 đánh giá

620 học viên

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

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

Bạn sẽ nhận được điều này sau khi học.

  • 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à

4,548

Học viên

325

Đánh giá

115

Trả lời

4.7

Xếp hạng

18

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ả

35 đánh giá

4.7

35 đánh giá

  • goryp017165님의 프로필 이미지
    goryp017165

    Đánh giá 11

    Đánh giá trung bình 4.8

    5

    100% đã tham gia

    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
      Giảng viên

      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!!

  • yonghyng님의 프로필 이미지
    yonghyng

    Đánh giá 15

    Đánh giá trung bình 4.9

    3

    100% đã tham gia

    I thought it would cover query statements in depth, but it didn't, which was disappointing. Still, thank you for the good lecture.

    • jhong
      Giảng viên

      Hello Mr. Hwang Yong-hak, thank you so much for taking the time to leave a review. Actually, I had many concerns while preparing this course. I thought about what parts I should teach you, what concepts would be more effective in practice, and selected these topics after much consideration!! I think that the process of writing general queries doesn't really provide much help. Using UNION well, applying WHERE conditions really well - I thought these topics don't fit well with current trends. Because now AI uses them better than me and other senior developers, analyzes better, and teaches better. So while I do cover general queries, rather than focusing on that part, I thought it would be right to show you what you can utilize and apply while using this MySQL database. Based on this content, I thought I could help improve your work performance by asking questions to AI later. So because this course contains a lot of this perspective, unfortunately it seems like it wasn't the course you wanted, Mr. Hwang Yong-hak. Still, I will work hard to provide better courses in the future and show you a better version of myself. Thank you so much for taking the course!!!

  • tttos님의 프로필 이미지
    tttos

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    79% đã tham gia

    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
      Giảng viên

      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!!

  • mongi74213091님의 프로필 이미지
    mongi74213091

    Đánh giá 1

    Đánh giá trung bình 4.0

    Đã chỉnh sửa

    4

    100% đã tham gia

    I enrolled in this course because the title "Processing Over 500 Billion Financial Data Records" made me think that it would propose methods for handling large-scale data and allow me to practice some of these methods. However, since the content was entirely theoretical, I honestly feel this aspect might remain as a disappointing part. Nevertheless, the course contains good content in terms of broadening the directional approaches for how to handle large-scale data well, and it seems to have provided an opportunity to think once more about whether we truly understand the MySQL we've been using. Thank you for the good lecture.

    • jhong
      Giảng viên

      Hello Cheon, thank you for your feedback!! Since diving deep into MySQL alone and practicing it doesn't have much significance these days, I mainly focused on how to handle large volumes of data and traffic. Next time, I'll provide even better lectures so I can receive a perfect star rating. Thank you :)

    • I thought the course I was looking for was just one that included hands-on practice, but thanks to the instructor, I gained deep and diverse insights, so the course content was absolutely excellent!

  • lslsk08018196님의 프로필 이미지
    lslsk08018196

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    83% đã tham gia

    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
      Giảng viên

      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 :)

1.672.489 ₫

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!