강의

멘토링

로드맵

Programming

/

Back-end

Hướng dẫn hoàn chỉnh MongoDB dễ hiểu và sâu sắc nhất [ By. Người không chuyên ngành & Nhà phát triển Kakao ]

Khóa học này là một lớp master class chuyên sâu, đề cập một cách bài bản về các nguyên lý cơ bản và cách ứng dụng thực tế của MongoDB. Bắt đầu từ các khái niệm cốt lõi của MongoDB, bạn sẽ học một cách có hệ thống các nội dung thiết yếu trong thực tế như thiết kế cơ sở dữ liệu, thao tác CRUD, lập chỉ mục (indexing), pipeline tổng hợp (aggregation pipeline), tối ưu hiệu suất, transaction, bảo mật, v.v. Khóa học giải thích từng bước để ngay cả người mới bắt đầu cũng có thể hiểu, và bạn có thể nắm vững nguyên lý hoạt động của MongoDB một cách sâu sắc thông qua các bài thực hành và ví dụ. Đây là khóa học nhập môn và thực hành tốt nhất dành cho các lập trình viên muốn xây dựng năng lực MongoDB vững mạnh cho công việc thực tế.

(4.2) 12 đánh giá

82 học viên

  • Hong
실습 중심
데이터
데이터베이스
데이터모델링
취업
Java
SQL
MySQL
MongoDB
database

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

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

  • Mẫu thiết kế schema trên MongoDB

  • 5 cách thiết kế index trong MongoDB

  • Tùy chọn Preference trong MongoDB

  • Sự khác biệt thiết kế schema RDBMS và NoSQL

  • CRUD với MongoDB

  • Các toán tử khác nhau trong MongoDB

  • Đặc điểm nổi bật trong MongoDB [ Xử lý cache hoặc cấu trúc ]

  • Phân mảnh, Ánh xạ bộ nhớ, Bộ bản sao

  • 플랫폼에 따른 Schema 설계 예제

Lớp học MongoDB master class tốt nhất, gần với chuẩn mực và trung thành với những kiến thức cơ bản

Các bạn xem xét những yếu tố nào trong quá trình lựa chọn Database??

  • Khả năng mở rộng có thể chịu được lưu lượng truy cập cao

  • Hiệu suất xử lý dữ liệu nhanh chóng và ổn định

  • Hỗ trợ linh hoạt cho các cấu trúc dữ liệu đa dạng

  • Đảm bảo tính an toàn và nhất quán của dữ liệu ngay cả khi xảy ra sự cố


Những yếu tố này đều là điều kiện cần thiết phải được cân nhắc kỹ lưỡng trong các dịch vụ hiện đại.

Và thực tế, để đáp ứng những điều kiện này, chúng ta sẽ phải suy nghĩ sâu sắc về cấu trúc cơ sở dữ liệu và cách sử dụng nó. Vậy thì, cơ sở dữ liệu nào có thể đáp ứng tất cả những yêu cầu đa dạng này? Chính là MongoDB.


Nhiều tài liệu và bài gi강 khi giới thiệu về MongoDB

  • Chỉ dừng lại ở việc giải thích lý thuyết đơn giản, hoặc,

  • Thông tin thường chỉ dừng lại ở mức độ khái niệm về việc cấu trúc bên trong 'được tổ chức như thế này'.


Nhưng khóa học này thì khác.

  • Cung cấp các ví dụ thiết kế schema đa dạng phù hợp với môi trường platform/service thực tế

  • Các mẫu và bí quyết có thể áp dụng ngay trong thực tế

  • Replica Set, Sharding, Memory Mapping File và các kiến trúc thiết yếu khác thông qua thực hành

  • Khóa học nâng cao về Cache và lý thuyết CAP trong kiến trúc hiện đại

  • CRUD của MongoDB so với SQL

Không chỉ dừng lại ở lý thuyết, hãy biến những công nghệ có thể áp dụng ngay vào dịch vụ thực tế thành của riêng bạn. Đây sẽ là thời gian cùng nhau suy nghĩ và phát triển.

Tại sao phải học MongoDB...?

MongoDB là một cơ sở dữ liệu NoSQL hỗ trợ lập trình hiện đại và có thể áp dụng linh hoạt để đáp ứng các yêu cầu đa dạng.

📚Lược đồ động (Dynamic Schema)


Mỗi khi cấu trúc dữ liệu thay đổi, bạn không cần phải Alter bảng, có thể tự do thêm các trường mới hoặc áp dụng cấu trúc khác chỉ cho một số document. Nhờ vậy, nó được tối ưu hóa cho việc tạo prototype nhanh chóng và thay đổi yêu cầu thường xuyên.

📚Lưu trữ dựa trên Document-Oriented, BSON


MongoDB lưu trữ dữ liệu dưới dạng "document" theo định dạng BSON (Binary JSON) tương tự như JSON, và mỗi document có thể có cấu trúc độc lập, cho phép xử lý dữ liệu rất linh hoạt mà không có ràng buộc cột như RDBMS.

📚Hỗ trợ tích hợp các cấu trúc dữ liệu phức tạp (Embedded Documents & Arrays)


Có thể lưu trữ trực tiếp các cấu trúc dữ liệu phức hợp như mảng, tài liệu lồng nhau (đối tượng trong đối tượng), danh sách, v.v. trong một tài liệu, nên có thể truy vấn dữ liệu liên quan một lần mà không cần join, do đó hiệu suất đọc rất xuất sắc.

📚Khả năng mở rộng ngang mạnh mẽ (Built-in Sharding)


MongoDB có tính năng sharding tích hợp sẵn, cho phép tự động phân tán lưu trữ dữ liệu trên nhiều server khi dữ liệu tăng lên. Nhờ đó, việc mở rộng theo chiều ngang trở nên rất dễ dàng đối với các dịch vụ xử lý lưu lượng truy cập lớn và khối lượng dữ liệu khổng lồ.

Nội dung chính được đề cập trong khóa học

Tôi chỉ liệt kê những chủ đề tiêu biểu thôi, còn nhiều nội dung đa dạng khác đã được tích hợp vào bài giảng, hy vọng qua khóa học này chúng ta sẽ cùng nhau say mê với sức hấp dẫn của MongoDB!

📚 Các khái niệm cơ bản và kiến trúc của MongoDB

Hiểu được đặc điểm của NoSQL, Document-Oriented Database và hiểu cấu trúc Document cùng định dạng BSON, đồng thời nắm được sự khác biệt thực tế so với RDBMS.

📚 Chỉ mục và tối ưu hóa hiệu suất

Bạn sẽ hiểu về các loại chỉ mục đơn/phức hợp/văn bản/TTL/đa khóa, và dựa trên đó học các mẫu thiết kế và phương pháp thiết kế chỉ mục.

📚 Các mẫu schema của MongoDB

Cung cấp các phương pháp cấu thành schema theo môi trường hệ thống và thiết kế, cùng với nhiều pattern thiết kế schema tốt để xem xét tùy theo tình huống.

📚Hiểu về Preference Option và phương pháp xử lý ngoại lệ

Bạn sẽ học cách hiểu Preference Option trong MongoDB, phương pháp áp dụng dựa trên đó cho xử lý phân tán và cách giải quyết các trường hợp sai lầm trong thực tế thông qua các ví dụ cụ thể.

📚Hiểu về cách xử lý đa Transaction

MongoDB 4.0 trở lên hỗ trợ đa giao dịch giống như MySQL và thông qua điều này có thể đảm bảo tính nhất quán của dữ liệu. Tuy nhiên, do cách thức hoạt động khác với MySQL nên sẽ xảy ra Write Conflict, chúng ta sẽ cùng tìm hiểu về vấn đề này.

📚Các toán tử đa dạng trong MongoDB

Bạn sẽ học về các toán tử khác nhau được sử dụng để viết truy vấn thực tế hoặc cung cấp dữ liệu cho dịch vụ, và cùng với đó sẽ học về những phần cần chú ý và cân nhắc khi sử dụng các toán tử này.

📚Đặc điểm và ưu điểm của MongoDB

Chúng ta sẽ tìm hiểu về cấu trúc nội bộ mà MongoDB sử dụng để tối ưu hiệu suất và các phương pháp khác nhau được áp dụng để đảm bảo tính khả dụng cao. Thông qua điều này, bạn có thể học được MongoDB có những cấu hình nào để đảm bảo tính khả dụng cao và hiệu suất.

📚Cơ chế Lock để xử lý đồng thời [Nâng cao]

MongoDB xử lý lưu lượng truy cập đồng thời bên trong như thế nào?? Bạn có thể xem qua cơ chế khóa và MVCC để đảm bảo tính nhất quán của dữ liệu thông qua các ví dụ.

Xem trước nội dung bài giảng

📚Trong khóa học 'Thiết kế tài liệu MongoDB qua các ví dụ thực tế'

📚Trong bài học 'Cấu trúc chỉ mục và quy tắc tiền tố'

📚Trong khóa học 'Viết truy vấn thực tế'

4 giá trị quan trọng mà chúng tôi trân trọng

1. Bài giảng phải có tính nhân văn.

Dù có thể bị coi là thiếu chuyên môn, tôi nghĩ rằng những bài giảng dễ trình bày không phải là bài giảng thực sự. Thời gian thực hiện debug cũng là một phần của bài giảng.

2. Phải chuyên biệt hóa cho thực tế công việc

Lập trình không phải là nói suông. Bạn có thể cùng thực hiện việc triển khai thực tế và trải nghiệm quá trình hoạt động.

  • Các anh chị làm kế hoạch... xin hãy cứu tôi..

3. Phải có ích cho các học viên.

Tôi muốn truyền đạt những khái niệm mà tôi đã áp dụng trong thực tế và thấy hiệu quả. Thông qua khóa học này, bạn có thể trải nghiệm gián tiếp công việc thực tế hoặc nếu đã là người làm thực tế thì có thể thể hiện hiệu suất xuất sắc hơn trong môi trường làm việc.

4. Bài gi강không phải là kết thúc.

Trong quá trình học, mong các bạn để lại nhiều câu hỏi và thảo luận. Khóa học này không chỉ được tạo ra từ kiến thức của riêng tôi. Nó cũng tổng hợp ý kiến từ nhiều lập trình viên của các công ty lớn.

  • Tiểu sử ngắn gọn về những người đã giúp đỡ hoàn thành khóa học như sau.


private val supported_one = "Nhà phát triển backend nền tảng KakaoPay"

private val supported_two = "Nhà phát triển máy chủ API Toss Securities"

private val supported_three = "Nhà phát triển máy chủ startup unicorn yêu cầu giữ bí mật"

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

Những người tham gia khóa học này

  • Người tốt nghiệp chuyên ngành Công nghệ Thông tin tại các trường đại học ở Seoul

  • Đã từng làm việc tại ngân hàng hạng nhất và hiện tại là nhà phát triển backend và data engineer tại Kakao

  • Nhà phát triển đang đóng góp vào việc tạo ra các khóa học đa dạng cùng với Hong và cung cấp kiến thức cũng như môi trường thực tế

Những điều cần lưu ý trước khi học

Môi trường thực hành

  • Được quay bằng Macos M3.

  • Khóa học được cấu trúc sử dụng công cụ Mongo Compass.

  • Tôi đã sử dụng Mongo Atlas để tận dụng cluster.

  • Chúng tôi không cấu hình kiến trúc hệ thống giám sát.

🚨 Lưu ý bắt buộc 🚨

Các truy vấn và schema được viết trực tiếp trong bài giảng đã được tôi tổng hợp cùng trong ghi chú.

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

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

  • Người mới bắt đầu với MongoDB hoặc muốn học thật kỹ từ cơ bản

  • Lập trình viên hoặc kỹ sư sử dụng MongoDB trong công việc

  • Người muốn tìm hiểu về cấu trúc của MongoDB, như File ánh xạ bộ nhớ, Replica set, Sharding, v.v.

  • Người hiểu sự khác biệt giữa RDBMS và NoSQL, và muốn áp dụng MongoDB vào công việc

  • Những người quan tâm đến thiết kế index hiệu quả và tối ưu hóa query

  • Tất cả những ai quan tâm đến hệ thống lưu trữ dữ liệu và hệ thống phân tán, bao gồm nhà phát triển backend, kỹ sư dữ liệu, v.v.

Xin chào
Đây là

3,795

Học viên

287

Đánh giá

104

Trả lời

4.6

Xếp hạng

18

Các khóa học

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

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

Tất cả

33 bài giảng ∙ (4giờ 35phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

12 đánh giá

4.2

12 đánh giá

  • sunrise21님의 프로필 이미지
    sunrise21

    Đánh giá 2

    Đánh giá trung bình 4.0

    Đã chỉnh sửa

    3

    88% đã tham gia

    Xem phần giới thiệu khóa học, tôi đã rất kỳ vọng. Có lẽ vì thế mà tôi đã thất vọng. Mở một bức tranh rồi chỉ giải thích bằng lời thì có lẽ chỉ cần có bài giảng âm thanh là đủ. Ngay cả các khóa học miễn phí trên YouTube cũng thể hiện sự chăm chút trong ghi chú bài giảng, vậy mà đây là khóa học trả phí lại diễn ra như vậy thì tôi rất thất vọng. Tôi đề xuất nên tham khảo các khóa học khác.

    • jhong
      Giảng viên

      Xin chào kknd, cảm ơn bạn đã góp ý như thế này. Trước hết, tôi xin chia sẻ một vài điểm mà tôi có suy nghĩ hơi khác một chút!! Đầu tiên, đối với nội dung bài giảng, về cơ bản tôi đã có ý định để học viên tham khảo các tính năng của Inflearn. Tôi nghĩ rằng việc tham khảo phần này là tốt vì Inflearn đã tóm tắt những gì tôi nói rồi. Hơn nữa, tôi nghĩ rằng cách học là tự mình hệ thống hóa chứ không phải chỉ xem người khác tổng hợp lại. Dù tôi có giải thích nhiệt tình đến đâu đi chăng nữa, nếu người nghe không hiểu thì tôi nghĩ điều đó cũng vô nghĩa. Với quan điểm này, tôi mong muốn những người tham gia khóa học sẽ hiểu những gì tôi nói và tự hệ thống hóa bằng ngôn ngữ của chính họ. Tuy nhiên, có vẻ như kết quả thực tế lại khác so với hiệu quả mong đợi mà tôi hướng tới, nên tôi chỉ thấy tiếc nuối 😭😭 Các khóa học khác đương nhiên cũng được xây dựng dựa trên việc tham khảo. Nhưng tôi không muốn tạo ra một khóa học "đút tận miệng". Hiển nhiên, hình thức này sẽ không giúp ích nhiều cho người học. Dù sao đi nữa, vì đã nhận được góp ý của bạn, lần tới tôi sẽ cố gắng đáp ứng sự hài lòng đa dạng hơn và tiếp thu các góp ý. Cảm ơn bạn đã dành thời gian để lại nhận xét!! Chúc bạn một ngày tốt lành!

    • Bạn đã để lại phản hồi. Sự hiểu lầm về ý định đã được giải tỏa nên tôi đã sửa lại đánh giá. Tuy nhiên, tôi vẫn thấy hơi khó chấp nhận. Với tư cách người học, mục đích là học nhanh, nhưng với phong cách giảng dạy hiện tại thì việc học sẽ chậm lại. Tôi đã sửa lại thành điểm trung bình.

    • jhong
      Giảng viên

      Cảm ơn bạn đã góp ý thêm như thế này. Tôi thấy ý kiến của bạn kknd cũng có phần đúng 😭😭. Tôi sẽ cố gắng cải thiện thêm dựa trên những gì bạn đã góp ý. Chúc bạn một ngày tốt lành!

  • ddddve님의 프로필 이미지
    ddddve

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    Tôi là lập trình viên server tại Kakao, người đã tham gia cùng tạo nên bài giảng này. Tôi cũng chủ yếu sử dụng MongoDB. Tôi sử dụng nó như một cơ sở dữ liệu NoSQL đầy cuốn hút. Lần này, nội dung bài giảng là sự kết hợp giữa phần lý thuyết và thực hành. Vì vậy, tôi đã nỗ lực để giúp các bạn hiểu rõ về MongoDB. Có thể các bạn sẽ cảm thấy phần thực hành còn thiếu, nhưng thực ra, tôi nghĩ việc học truy vấn là phải tự tay gõ đi gõ lại nhiều lần. Do đó, bài giảng tập trung vào việc có thể sử dụng những toán tử nào và những điểm cần lưu ý đối với từng toán tử. Tôi hy vọng rằng bài giảng, được tạo ra bằng sự nỗ lực chăm chỉ, sẽ hữu ích cho người xem. Rất mong nhận được sự quan tâm của mọi người!! Chúc một ngày tốt lành~!

    • jhong
      Giảng viên

      😆😆😆😆 Cảm ơn bạn đã giúp đỡ rất nhiều~ Buổi học tiếp theo cũng cố gắng nhé!

  • boster62109528님의 프로필 이미지
    boster62109528

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    61% đã tham gia

    Đây là khóa học kết hợp cả phần lý thuyết và một số phần thực hành, tỷ lệ khoảng 60:40. Về cơ bản, khóa học này rất hữu ích cho người mới bắt đầu, nhưng phần nâng cao thì có vẻ hơi khó. Đối với tôi, nội dung này vẫn còn khó.

    • jhong
      Giảng viên

      Xin chào anh/chị Boosta, cảm ơn anh/chị đã để lại đánh giá tốt. Chủ đề về bài giảng DB có vẻ khá khó. Dù tôi có chỉ nhiều đến đâu, nếu không thực sự thực hành thì sẽ khó quen được, vì vậy tôi nghĩ sẽ tốt nếu anh/chị thử viết nhiều loại truy vấn khác nhau dựa trên những nội dung tôi đã hướng dẫn. Cảm ơn anh/chị!

  • changbinlim9346님의 프로필 이미지
    changbinlim9346

    Đánh giá 2

    Đánh giá trung bình 4.0

    5

    30% đã tham gia

    Tốt lắm

    • jhong
      Giảng viên

      Xin chào anh Lim Chang Bin, cảm ơn anh đã để lại đánh giá tốt. Tôi sẽ cố gắng cung cấp những bài giảng bổ ích hơn trong tương lai. Chúc anh có một ngày tốt lành!!

  • ho6227574978님의 프로필 이미지
    ho6227574978

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    91% đã tham gia

    Tôi đã xem một bài giảng rất hay.

    • jhong
      Giảng viên

      Xin chào JIos Ho, cảm ơn bạn đã để lại đánh giá tốt!! Tôi sẽ cố gắng mang đến những khóa học tốt hơn nữa!! Chúc bạn có một ngày tốt lành!!

Ưu đãi có thời hạn, kết thúc sau 1 ngày ngày

1.043.720 ₫

23%

1.371.746 ₫

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!