Học MySQL từ nhà phát triển Toss, người xử lý hơn 500 tỷ dữ liệu tài chính
Cùng với các nhà phát triển tại Toss - những người xử lý hàng trăm tỷ lượt truy cập tài chính, và các nhà phát triển đang phát triển nền tảng tại Pangyo (bắt đầu từ những người không chuyên ngành), bạn sẽ học cách thiết kế và xử lý kiến trúc dữ liệu lớn xử lý hàng trăm tỷ dữ liệu chỉ bằng cách sử dụng SQL thuần túy và các tính năng cốt lõi của MySQL.
Tôi đã nghe bài giảng rất hay. Trong khi nghe bài giảng, tôi muốn tổng hợp lại những phần mà các bạn khác cũng nên tham khảo, đây là những phần đã giúp ích cho tôi.
Ưu điểm
1. Thực sự rất thực tế. Thầy thường xuyên đề cập trực tiếp rằng nếu những dạng thực tế mà thầy đang xử lý không được sử dụng nhiều thì sẽ không sử dụng, nhưng thầy nói rằng nên biết để tham khảo nên mới đề cập đến. Vì vậy tôi nghĩ có thể thấy rằng một developer thực sự giỏi đang cố gắng chia sẻ cả phần thực tế và không thực tế để dạy cho mọi người.
2. Tôi nghĩ nội dung thực sự rất bổ ích. Từ CRUD đơn giản và phổ biến đến các giải thích về quan điểm kiến trúc đa dạng có thể thực hiện thông qua MySQL, tôi nghĩ không chỉ đơn thuần là nội dung giới hạn trong DB mà còn chứa đựng nội dung phong phú về bản thân việc phát triển.
3. Có vẻ như là những chủ đề chưa từng nghe ở đâu khác. Hầu hết các bài giảng về MySQL hoặc DB chỉ giới hạn trong việc viết query như thế nào, có những function gì, nhưng bài giảng này thầy cũng sử dụng procedure và giải thích rất tốt về chủ đề bản chất là nên sử dụng DB như thế nào.
Nhưng tôi nghĩ đây cũng là bài giảng có những nhược điểm nhất định bên cạnh những ưu điểm.
1. Độ khó có vẻ không dễ lắm. Có lẽ những bạn mới bắt đầu phát triển sẽ khó nghe vì thiếu kiến thức cơ bản.
2. Lời giải thích không phong phú và Kind đến thế. Thầy giải thích về nhiều chủ đề đa dạng, nhưng ngược lại lời giải thích không phong phú lắm. Nói dễ hiểu thì có cảm giác như người mentor rất giỏi phát triển nhưng từ góc độ mentor thì đây là điều đương nhiên nên chỉ lướt qua.
Kết luận: Nhưng loại trừ tất cả những điều này thì có vẻ như đây thực sự là một bài giảng rất tốt. Thực tế nếu bản thân có ý chí học hỏi và muốn học nhiều phần thì bài giảng này có vẻ phù hợp. Ngược lại, nếu chỉ học cơ bản cũng không sao và muốn được "cho ăn sẵn" thì bài giảng này có vẻ sẽ không giúp ích nhiều. Từ góc độ của tôi, đây là bài giảng thực sự hài lòng ở chỗ không chỉ MySQL mà còn phải suy nghĩ về ứng dụng của nó, và có thể học từ góc độ kiến trúc. Tôi ấn tượng quá nên lần đầu viết bài như thế này.
5.0
미래 1인 개발자
79% đã tham gia
Tôi là một server developer đang phát triển tại Toss, công ty tham gia sâu nhất vào khóa học MySQL này. Hong trước đây đã cùng với Choi chuẩn bị và tạo ra khóa học về Kafka, và vì chủ đề đó rất hay cũng như tôi muốn chia sẻ kiến thức của mình một cách sâu sắc hơn nên đã quyết định tham gia như thế này.
- Tất nhiên tôi đã tham gia gián tiếp hoặc trực tiếp trước đây, nhưng khóa học này tôi đã tham gia với sự tập trung nhiều hơn.
Thực ra tôi không nghĩ rằng việc chỉ đơn thuần học về nội dung MySQL sẽ mang lại hiệu quả học tập tốt cho các bạn. Hiện tại với sự phát triển của AI, thực tế AI viết query tốt hơn chúng ta.
Điều các bạn cần biết ở đây là "những phần nào cần xem xét", "có những cách thức nào" v.v. Tôi nghĩ khả năng là biết những phần đó và biết cách yêu cầu AI làm. Tôi hy vọng khóa học này sẽ giúp ích rất nhiều cho các bạn từ góc độ đó.
Mong các bạn quan tâm nhiều. Cảm ơn các bạn!!
5.0
lsls ks
83% đã tham gia
Tôi nghĩ đây là một chủ đề tuyệt vời để có thể hiểu sâu sắc về MySQL một cách thực sự. Vì nó vừa đề cập đến một phần CRUD đơn giản vừa chỉ tập trung vào những câu query được sử dụng trong thực tế, nên càng trở nên hữu ích hơn. Nhưng phần quan trọng hơn có lẽ là các design pattern thiết kế ở cuối. Nó đã giúp ích rất lớn cho tầm nhìn có thể thấy được cả khu rừng. Cảm ơn bạn.
Bạn sẽ nhận được điều này sau khi học.
Kỹ thuật mở rộng quy mô theo chiều ngang của MySQL sử dụng Sharding và Partitioning
Sharding liệu có 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 lưu lượng truy cập và cân bằng tải sử dụng Replication, cùng với phương thức đảm bảo tính sẵn sàng cao (HA) tương ứng.
MVCC để kiểm soát đồng thời và đảm bảo hiệu suất bằng cách sử dụng Transaction & Lock
MySQL API nắm vững và chỉ tập trung vào các thao tác CRUD thực tế được sử dụng trong công việc chuyên môn.
Kỹ thuật nâng cao cho câu lệnh SELECT chiếm 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 lập kế hoạch trước truy vấn
Các nguyên tắc thiết kế cấu trúc cơ sở dữ liệu để thiết kế hệ thống có khả năng mở rộng
MYSQL · SCALE & SYSTEM DESIGN
Có giới hạn cho việc chịu đựng bằng cách tối ưu hóa truy vấn
Chúng ta đặt chỉ mục (index), xem kế hoạch thực thi (execution plan) và chỉnh sửa truy vấn. Đến mức đó thì ai cũng làm được. Tuy nhiên, khi dữ liệu vượt quá con số hàng trăm triệu, tốc độ tích tụ dữ liệu sẽ nhanh hơn cả mức độ giảm thiểu tải thông qua việc tinh chỉnh (tuning). Từ thời điểm đó, chúng ta không phải thay đổi truy vấn nữa mà phải thay đổi cả cấu trúc hệ thống.
SQL thuần túy
Cung cấp dữ liệu Mock
Replication · Sharding
Câu đố theo từng phần
Thời gian học không giới hạn
500 tỷ bản ghi+
Quy mô dữ liệu tài chính mà các nhà phát triển Toss xử lý. Tôi đã chuyển tải nguyên vẹn những tiêu chuẩn đánh giá được sử dụng trong môi trường đó.
1,624dòng
Các câu lệnh SQL thực tế và lý thuyết được đưa vào bài giảng. Cung cấp kèm theo cả truy vấn tạo dữ liệu giả (mock data).
90%
Tỷ trọng lưu lượng truy cập mà SELECT đảm nhận trong thực tế. Chúng ta dành nhiều thời gian nhất cho phần này ở chương 4
Không sử dụng thêm ngôn ngữ nào khác. Khóa học sẽ được tiến hành chỉ với thuần túy cú pháp SQL, và sẽ chuyển sang phần mở rộng và thiết kế hệ thống trong hai phần cuối cùng.
01Giới hạn
Vấn đề giải quyết bằng truy vấn và vấn đề giải quyết bằng cấu trúc
Cùng là "chậm" nhưng nếu nguyên nhân khác nhau thì nơi cần xử lý cũng khác nhau. Khóa học này sẽ tập trung vào phần ô bên phải dưới đây.
Triệu chứng
Phạm vi giải quyết bằng truy vấn
Phạm vi giải quyết bằng cấu trúc
Truy vấn cụ thể bị chậm
Thêm chỉ mục (index), kiểm tra kế hoạch thực thi (execution plan)
—
Lưu lượng truy cập truy vấn bị dồn ứ
Hấp thụ một phần bằng bộ nhớ đệm (Cache)
Phân tán đọc bằng Replication
Một bảng đã trở nên quá lớn
chạm đến giới hạn
Chia nhỏ bằng Partitioning
Không thể chứa hết trong một máy duy nhất
Không thể giải quyết
Phân tán bằng Sharding
Dữ liệu cũ tiêu tốn chi phí
Không thể giải quyết được
Nén và Lưu trữ (Archiving)
"Đừng chỉ cố gắng giải quyết bằng những câu truy vấn đơn giản như SELECT, mà nếu bạn biết cách tận dụng cơ sở dữ liệu như thế nào, bạn sẽ giải quyết được theo những cách khác." Bài giảng này đã được bắt đầu từ chính câu nói đó.
02Bắt đầu
Đây là cuộc hội thoại đã thực sự diễn ra
Một câu hỏi đặt ra cho một người quen đang làm nhà phát triển tại Toss đã trở thành một bài giảng.
HHong ơi, ở Toss khi dùng MySQL, chắc hẳn phải có hàng trăm tỷ hoặc hàng nghìn tỷ dữ liệu, làm thế nào để xử lý hết đống đó vậy?
TNhà phát triển TossBạn là ai vậy.
HHongKhông, thật đấy. Việc tối ưu hóa SELECT cũng sẽ có giới hạn và bộ nhớ vật lý cũng sẽ có hạn, mình đang rất trăn trở không biết phải giải quyết những phần này thế nào khi dịch vụ ngày càng phát triển.
TNhà phát triển TossĐừng chỉ cố gắng giải quyết bằng các câu lệnh truy vấn như SELECT, nếu bạn biết cách tận dụng cơ sở dữ liệu thì có thể giải quyết theo những cách khác. Bởi vì các giới hạn vật lý là rất rõ ràng.
HHongLần này hãy cho tôi biết về vấn đề này nhé. Hãy cùng nhau tạo ra nó bằng cách kết hợp với những phần mà tôi cũng đã biết.
03Mở rộng
Bốn cách sử dụng khi một máy không đáp ứng được
Phần 6 nằm ở vị trí này. Chúng ta sẽ đặt cạnh nhau để xem xét mỗi phương pháp giải quyết vấn đề gì và phải đánh đổi những gì.
01
Replication
Sao chép cùng một dữ liệu sang nhiều máy để chia sẻ tải trọng đọc. Việc ghi vẫn chỉ thực hiện ở một nơi.
02
Partitioning
Chia một bảng thành các mảnh nhỏ. Thay vì phạm vi truy vấn được giảm bớt, bạn phải thiết lập tiêu chí phân chia thật tốt.
03
Sharding
Phân tán dữ liệu sang nhiều cơ sở dữ liệu khác nhau. Trong bài giảng, câu hỏi "Liệu điều này có luôn đúng không?" cũng sẽ được đặt ra.
04
Nén · Lưu trữ (Archiving)
Giảm bớt hoặc di chuyển dữ liệu đang tích tụ. Việc này là cần thiết tại thời điểm chi phí trở thành vấn đề.
Trong phần 5, chúng ta sẽ xem xét kiến trúc nội bộ, công cụ lưu trữ (storage engine), bộ nhớ và transaction/lock trước. Sau khi hiểu rõ bên trong rồi mới xem xét đến việc mở rộng, thì mới có thể hiểu được tại sao những hạn chế đó lại phát sinh.
04Lộ trình học tập
Nội dung nào được đề cập theo thứ tự nào
Bắt đầu từ việc kiểm tra các chỉ số môi trường, đi qua thiết kế và CRUD, sau đó kết thúc bằng thiết kế nội bộ, mở rộng và hệ thống.
01
Giới thiệu bài giảng
Giới thiệu khóa học
Procedure tạo dữ liệu Mock để kiểm tra cá nhân - 1
Procedures tạo dữ liệu Mock để kiểm tra cá nhân - 2
Trắc nghiệm Phần 1
02
Kiểm tra các chỉ số môi trường DB thông qua câu lệnh truy vấn SQL
Xem trộm các thiết lập môi trường toàn cục (Global Configuration) của MySQL
Quản lý truy cập sử dụng MySQL
Các chỉ số hiệu suất tiêu biểu của MySQL và trải nghiệm thử Explain
Câu đố phần 2
03
Thiết kế dữ liệu cho phát triển máy chủ thực tế
Thiết kế Database dành cho nhà phát triển Server
Các mẫu thiết kế Database cho thực tế
Chiến lược phân tách (partitioning) để phân tán bảng và kỹ thuật thiết kế tối ưu hóa chỉ mục (index)
Thử nghiệm thiết kế bảng và mô hình hóa dữ liệu
Câu đố Phần 3
04
CRUD cơ bản trong MySQL
Thêm dữ liệu!! Kỹ thuật tối ưu hóa câu lệnh truy vấn CREATE
Tối ưu hóa SELECT, chiếm 90% lưu lượng truy cập trong thực tế
Kỹ thuật SELECT nâng cao cho dữ liệu dịch vụ phức tạp
Hướng dẫn hoàn hảo về UPDATE & DELETE
Câu đố Phần 4
05
Nhìn trộm vào bên trong MySQL
Kiến trúc nội bộ và Storage Engine của MySQL
Cốt lõi của MySQL!! Cơ chế bộ nhớ, giao dịch (transaction) và khóa (lock)
06
Hệ thống mở rộng quy mô theo chiều ngang của MySQL
Hệ thống mở rộng của MySQL [ Replication & Distribution ]
Hệ thống mở rộng của MySQL [ Partitioning & Sharding ]
Dữ liệu tích tụ và chi phí tăng cao, nén dữ liệu và lưu trữ (archiving)
Trắc nghiệm Phần 6
07
Phương pháp thiết kế hệ thống ở cấp độ vận hành
Kỹ thuật xử lý dữ liệu streaming để xử lý dữ liệu biến đổi theo thời gian thực
Xử lý Batch siêu lớn để xử lý hàng trăm tỷ dữ liệu
Các mẫu thiết kế hệ thống để đồng bộ hóa dữ liệu thời gian thực
Cách sử dụng hàng đợi công việc (Job Queue) của MySQL để xử lý các tác vụ bất đồng bộ một cách bền vững
Kiến trúc hệ thống hiện đại kết hợp MySQL và NoSQL
Câu đố Phần 7
Phần cuối cùng không phải về truy vấn mà là về thiết kế. Nội dung bao gồm xử lý streaming, batch dung lượng siêu lớn, mô hình đồng bộ hóa, hàng đợi công việc (job queue) và cả việc kết hợp NoSQL.
Phần cuối cùng chính là trọng tâm của bài giảng này
Đây là phần tiếp nối sau khi đã học hết về truy vấn. Chúng ta sẽ xem xét cơ sở dữ liệu không chỉ là một nơi lưu trữ, mà là một thành phần của hệ thống.
Xử lý dữ liệu streaming
Batch siêu lớn
Mô hình đồng bộ hóa thời gian thực
Hàng đợi công việc MySQL
Kết hợp MySQL + NoSQL
Phân tích Explain
Tối ưu hóa Index
Chiến lược phân vùng
Trong số các đánh giá khóa học, có một chia sẻ rằng: "Tôi đã nhận được câu hỏi về cách đồng bộ hóa MySQL và NoSQL trong một buổi phỏng vấn dành cho lập trình viên 3 năm kinh nghiệm, và tất cả các giải pháp đều nằm ở đây". Nội dung đó nằm trong phần này.
06Đánh giá khóa học
Chia sẻ từ những người đã học trước đó
Tôi đã trích dẫn nguyên văn từ đánh giá khóa học trên Inflearn.
Tôi đã tham gia phỏng vấn cho vị trí nhà phát triển 3 năm kinh nghiệm và nhận được câu hỏi về cách đồng bộ hóa MySQL và NoSQL. Ở đây có hướng dẫn chi tiết tất cả các phương pháp giải quyết luôn. Tiếc là tôi đã không xem nó sớm hơn.
kr즈아 · Viết sau khi hoàn thành 58% khóa học
Thực tế, đối với những hình thức ít khi được sử dụng, tác giả sẽ trực tiếp đề cập rằng nó không hay dùng, nhưng vẫn hướng dẫn những điều mà tác giả nghĩ là nên biết. Tôi nghĩ có thể thấy được sự nỗ lực của tác giả trong việc cố gắng truyền đạt tất cả bằng cách phân chia rõ ràng giữa phần thực tế và phần không thực tế.
Amy · Viết sau khi hoàn thành 88% khóa học
Khóa học này càng hữu ích hơn vì nó bao gồm một phần CRUD đơn giản và chỉ tập trung vào các truy vấn được sử dụng trong thực tế. Phần quan trọng hơn có lẽ là các mẫu thiết kế (design pattern) ở cuối khóa. Nó đã giúp ích rất nhiều cho tôi trong việc có được cái nhìn tổng quan hơn.
lsls ks · Viết sau khi hoàn thành 83% khóa học
07Đối tượng
Khóa học này dành cho ai?
Chỉ mới sử dụng CRUD
Nhân viên phát triển Backend cấp độ Junior đang chỉ viết các câu lệnh truy vấn và lưu trữ cơ bản tại công ty
Cảm thấy giới hạn của việc tuning
Nhà phát triển thực tế đã xem qua chỉ mục (index) và kế hoạch thực thi (execution plan) nhưng không biết bước tiếp theo phải làm gì
Đang đứng trước ngưỡng cửa mở rộng
Những người không biết nên chọn gì giữa sao chép (replication), phân vùng (partitioning) và phân mảnh (sharding) khi dữ liệu tiếp tục tích tụ.
Chuẩn bị phỏng vấn
Những người muốn hệ thống lại kiến thức để có thể trả lời các câu hỏi về mở rộng và đồng bộ hóa cơ sở dữ liệu.
08Thị trường hiện tại
Câu chuyện về việc AI sẽ thay thế lập trình viên
Tuyển dụng mới đang giảm dần, và các doanh nghiệp chỉ muốn chọn những người đã được kiểm chứng. Đây là những bài báo xuất hiện trong vài tháng gần đây.
2025Krafton, công ty vừa đạt được kết quả kinh doanh cao kỷ lục, đã bắt đầu cắt giảm nhân sự. Lý do được đưa ra là để chuyển đổi thành một doanh nghiệp 'AI First'.
2025Các doanh nghiệp chuyên về phần mềm đang ngừng tuyển dụng lập trình viên mới. Cũng có dự báo cho rằng việc tuyển dụng lập trình viên cấp độ sơ cấp sẽ giảm mạnh tới 77%.
2025 có 53% nhà thiết kế trò chơi đã trả lời rằng "AI sẽ thay thế công việc của tôi". Các trường hợp thôi việc theo đề nghị cũng đã được báo cáo.
Doanh nghiệp càng bất an thì phía người được tuyển chọn càng phải thể hiện sự khác biệt rõ ràng hơn. Có rất nhiều người biết cách viết truy vấn (query), nhưng số người biết cách lựa chọn cấu trúc thì lại rất ít.
09Người tạo
Được dẫn dắt bởi nhà phát triển chuyên xử lý dữ liệu tài chính
TOSS · KỸ SƯ BACKEND
Nhà phát triển Toss
Tôi đã từng làm việc tại Naver và hiện đang phát triển backend tại Toss. Tôi đã tham gia sâu nhất vào bài giảng này, và đã đưa nguyên vẹn các tiêu chuẩn phán đoán rút ra từ quy mô dữ liệu thực tế mà tôi xử lý vào đây.
"Giới hạn vật lý là rất rõ ràng. Nếu cứ chỉ bám lấy câu truy vấn trước giới hạn đó thì sẽ không có lời giải đâu."
Người chia sẻ kiến thức · Phát triển server nền tảng tại Pangyo
Hong
Xuất thân là một người không chuyên về công nghệ, hiện tại tôi đang phát triển backend cho nền tảng tại Pangyo. Tôi luôn tuân thủ nguyên tắc xây dựng các bài giảng cùng với những người quen đang trực tiếp làm việc trong ngành.
"Nếu bạn biết trước dịch vụ sẽ bị tắc nghẽn ở đâu khi nó mở rộng, bạn sẽ có thêm nhiều lựa chọn."
10câu hỏi
Câu hỏi thường gặp về khóa học MySQL
Q.Có cần ngôn ngữ hay framework khác không?
⌄
Không cần thiết. Khóa học sẽ tiến hành thuần túy bằng cú pháp SQL mà không sử dụng thêm ngôn ngữ nào khác. Trong Phần 1 có bao gồm procedure để tạo dữ liệu giả (mock data) dùng cho thực hành, nên bạn chỉ cần lấp đầy dữ liệu và chạy thử các câu lệnh truy vấn được hướng dẫn trong bài giảng là được.
Q.Liệu có quá khó đối với người mới bắt đầu không?
⌄
Có một phần riêng biệt xử lý CRUD, nơi chúng ta sẽ xem xét từng lệnh CREATE·SELECT·UPDATE·DELETE một. Tuy nhiên, trọng tâm của bài giảng này nằm ở phần mở rộng và thiết kế hệ thống ở phía sau. Nếu mục tiêu của bạn là học kỹ từ các cú pháp cơ bản, tốt hơn hết bạn nên thay đổi thứ tự học.
Q.Có nhất thiết phải thực hiện Sharding không?
⌄
Không phải vậy. Trong bài giảng, tôi có đặt riêng một câu hỏi là "Liệu Sharding có luôn là hình thức đúng đắn không?". Mục đích của phần 6 là để phân biệt xem vấn đề đó có thể giải quyết bằng nhân bản (replication), bằng phân vùng (partitioning), hay thực sự là việc cần phải chia nhỏ (sharding) ra.
Q.Có cần phải biết cả cơ chế hoạt động bên trong không?
⌄
Trong Phần 5, chúng ta sẽ tìm hiểu về kiến trúc nội bộ, storage engine, bộ nhớ cũng như cơ chế transaction và lock. Bạn cần phải hiểu rõ bên trong thì mới có thể giải thích được tại sao các chiến lược mở rộng lại có những hạn chế như vậy. Đó là lý do tại sao phần này được đặt ngay trước phần về mở rộng.
Q.Nó có giúp ích cho việc phỏng vấn không?
⌄
Các chủ đề trong phần cuối cùng thường xuyên trở thành câu hỏi phỏng vấn. Trong phần đánh giá khóa học cũng có chia sẻ rằng: "Tôi đã nhận được câu hỏi về cách đồng bộ hóa MySQL và NoSQL trong một buổi phỏng vấn cho vị trí 3 năm kinh nghiệm, và phương pháp giải quyết chi tiết đã có sẵn ở đây".
Có các thẻ tiếp theo sau truy vấn after the query
Sau khi biết được đâu là điểm mà việc tinh chỉnh (tuning) không thể giải quyết được, bạn sẽ xác định được bước tiếp theo mình cần phải làm gì.
Có một không gian riêng để chia sẻ về những phần còn vướng mắc khi nghe giảng, những câu hỏi phát sinh khi áp dụng vào dịch vụ của chính mình, cho đến cả những câu chuyện về sự nghiệp. Những chỗ bạn bị tắc nghẽn thường cũng là nơi mà người khác gặp khó khăn.
Tôi bắt đầu học lập trình sau một thời gian dài lười biếng ở nhà và cảm thấy hứng thú với nó, hiện tại tôi đang đảm nhận việc phát triển máy chủ nền tảng (platform server) tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức vì muốn cung cấp cho các bạn phương pháp tôi đã học cũng như những vấn đề và giải pháp khác nhau mà các bạn có thể gặp phải trong thực tế.
Bài giảng không chỉ được tạo ra từ kiến thức của riêng tôi. Mọi bài giảng đều có sự đồng hành của những người cộng sự.
Tôi là một server developer đang phát triển tại Toss, công ty tham gia sâu nhất vào khóa học MySQL này. Hong trước đây đã cùng với Choi chuẩn bị và tạo ra khóa học về Kafka, và vì chủ đề đó rất hay cũng như tôi muốn chia sẻ kiến thức của mình một cách sâu sắc hơn nên đã quyết định tham gia như thế này.
- Tất nhiên tôi đã tham gia gián tiếp hoặc trực tiếp trước đây, nhưng khóa học này tôi đã tham gia với sự tập trung nhiều hơn.
Thực ra tôi không nghĩ rằng việc chỉ đơn thuần học về nội dung MySQL sẽ mang lại hiệu quả học tập tốt cho các bạn. Hiện tại với sự phát triển của AI, thực tế AI viết query tốt hơn chúng ta.
Điều các bạn cần biết ở đây là "những phần nào cần xem xét", "có những cách thức nào" v.v. Tôi nghĩ khả năng là biết những phần đó và biết cách yêu cầu AI làm. Tôi hy vọng khóa học này sẽ giúp ích rất nhiều cho các bạn từ góc độ đó.
Mong các bạn quan tâm nhiều. Cảm ơn các bạn!!
Lần này cũng cảm ơn bạn đã cùng tạo ra khóa học tốt có thể mang lại ảnh hưởng tích cực!! Hy vọng những phần chúng tôi đã suy nghĩ và cân nhắc sẽ đến được với những người học. Lần sau cũng nhờ bạn nhiều!!
Xin chào young pyo lee, cảm ơn bạn đã đánh giá và góp ý!!
Tôi nghĩ rằng trong thời đại hiện tại, việc sử dụng db đơn giản không phải là điều quan trọng. Tôi cho rằng điều quan trọng là liệu có thể làm được những gì phát sinh từ db đó hay không.
Từ quan điểm này, tôi đã quay khóa học và muốn chia sẻ rộng rãi quan điểm của mọi người với các bạn.
Vì vậy mà có vẻ như các khái niệm trừu tượng đã trở nên khá nhiều. Lần sau tôi sẽ cố gắng chăm chỉ hơn nữa để có thể cung cấp cho các bạn khóa học có độ hài lòng cao hơn. Cảm ơn bạn đã dành thời gian để lại đánh giá như vậy!!
Xin chào anh Hwang Yong-hak, cảm ơn anh đã dành thời gian và để lại đánh giá. Thực ra trong quá trình chuẩn bị khóa học này, tôi đã có rất nhiều suy nghĩ. Tôi đã cân nhắc về những phần nào cần truyền đạt, khái niệm nào sẽ hiệu quả hơn trong thực tế công việc và đã chọn chủ đề này!!
Tôi nghĩ rằng việc viết các truy vấn thông thường thực sự không mang lại nhiều giúp ích. Việc sử dụng UNION thành thạo, áp dụng điều kiện WHERE thật tốt, những nội dung như vậy tôi nghĩ không phù hợp với xu hướng thời đại hiện tại. Bởi vì giờ đây AI sử dụng tốt hơn tôi và cả những senior developer khác, phân tích tốt hơn và hướng dẫn tốt hơn.
Vì vậy mặc dù cũng đề cập đến các truy vấn thông thường, nhưng thay vì tập trung vào phần này, tôi nghĩ đúng hơn là nên cho các bạn biết những phần nào có thể ứng dụng và áp dụng khi sử dụng cơ sở dữ liệu MySQL này.
Tôi nghĩ rằng dựa trên nội dung này, sau này có thể đặt câu hỏi cho AI để nâng cao hiệu suất công việc của các bạn.
Vì vậy do khóa học này có nhiều quan điểm như vậy nên có lẽ không phải là khóa học mà anh Hwang Yong-hak mong muốn. Dù vậy, tôi sẽ cố gắng cung cấp những khóa học tốt hơn và cho thấy hình ảnh tốt đẹp hơn trong tương lai. Cảm ơn anh rất nhiều vì đã học khóa học này!!!
Xin chào digitcom, cảm ơn bạn đã gửi phản hồi!! Có lẽ vì phải đề cập đến nhiều chủ đề khác nhau, và mặc dù có nhiều cách khác nhau để viết query cho MySQL nhưng tôi nghĩ tính cạnh tranh còn kém nên muốn chia sẻ với bạn về kiến trúc tổng thể.
Ngoài ra, tôi muốn chia sẻ với bạn về định hướng và quan điểm trong việc học tập ở một mức độ nhất định nên đã cung cấp chủ đề này. Có lẽ tôi chưa mang lại sự hài lòng tốt hơn cho digitcom 😭😭 Tôi sẽ cố gắng hơn nữa để nhận được đánh giá tốt hơn trong tương lai.
Cảm ơn bạn.
Hmm... vì tiêu đề nên tôi đã tự kỳ vọng và nghĩ rằng sẽ có các ví dụ thực tế,
tôi muốn xem một số thực tế xử lý dung lượng lớn bằng mysql
Nhưng không có nội dung như vậy.
Phần cuối có vẻ như sẽ đề cập đến dung lượng lớn nhưng chỉ giải thích một cú pháp
rồi kết thúc bằng "thực ra không cần thiết phải đưa vào đến mức này", "có nhiều trường hợp mysql là đủ" v.v. nên tiếc quá.
Tôi muốn biết trường hợp nào mysql là đủ, trong thực tế khi nào cảm nhận được giới hạn của mysql v.v.
Tiếc quá.
Vì có nhiều nội dung trong thời gian giới hạn nên độ sâu hơi nông, có vẻ như đây là nội dung dành cho người mới hoặc những ai muốn học mysql một cách thoải mái không gánh nặng hơn là cho người làm thực tế.