Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
NEW
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.8) 14 đánh giá

418 học viên

  • jhong
실습 중심
데이터분석
데이터베이스
취업
이직
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à

2,391

Học viên

169

Đánh giá

73

Trả lời

4.5

Xếp hạng

13

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ả

14 đánh giá

4.8

14 đánh giá

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

    Đánh giá 5

    Đá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를 통해 파생되는 무언가를 할 수 있는지가 중요하다고 생각합니다. 이러한 관점에서 강의를 촬영하였고 여러분들의 견해를 굉장히 폭넓게 알려드리고 싶었습니다. 그러다보니 추상적인 개념들이 꽤나 많아진거 같아요. 다음에는 더 만족도있는 강의를 제공해 드릴 수 있게 더 열심히 노력하겠습니다. 이렇게 시간 내주셔서 평 남겨주셔서 감사합니다!!

  • 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á 4

    Đá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라는 도구를 잘 사용해야 하는 개발자가 더 좋은 개발자라고 생각합니다. 그만큼 제가 다루는 주제를 활용하셔서 더 좋은 활용법을 알아가셨으면 좋겠습니다. 감사합니다 :)

  • 텐버거!님의 프로필 이미지
    텐버거!

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    92% đã tham gia

    강사님 강의를 많이 참고하여 취업을 준비하다가 최근에는 조그만한 스타트업에서 근무를 하고 있는 주니어 서버 개발자 입니다. 다루시는 주제 자체가 정말 너무나도 좋은 강의라고 생각이들고 제 개인적인 경험으로는 양질의 내용이 너무나도 많은 강의들이 많다고 생각합니다. 이 강의도 의심치 않고 수강하게 되었고, 제 개인 원픽?? 강사님으로써 이 강의도 정말 너무 좋은 내용이였습니다. 회사에서 기본적인 CRUD만 작성하는 과정에 있다고 생각을 하는데, 이 강의를 통해서 CRUD보다는 좀 더 다양성과 아키텍처를 고민해야겠다는 생각을 하게 되었고 회사에도 이러한 주제로 한번 POC를 진행해보니깐 너무나도 좋은 주제라고 다들 칭찬을 해주셨네요... 제가 한게 아니라 강사님만을 보고 따라한거였는데 너무 기분이 좋아서 바로 강사님 자랑해버렸습니다 ㅋㅋㅋㅋ 앞으로 더 유익한 강의 만들어주시면 너무 감사드립니다. 사람 한명 살리신겁니다!!!

    • Hong
      Giảng viên

      안녕하세요 텐버거님! 이렇게 좋은 평 남겨주셔서 감사합니다. CRUD를 작성하는것도 좋지만 더 중요한것은 이걸 어떻게 사용하냐가 더 중요한거 같아요!! 앞으로 더 유익한 강의를 제공해 드릴 수 있게 노력하겠습니다!!

2.089.422 ₫

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

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!