강의

멘토링

커뮤니티

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á

101 học viên

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

Đá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.

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

4,589

Học viên

335

Đánh giá

118

Trả lời

4.7

Xếp hạng

18

Các khóa học

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

[前] 메타버스 백엔드 개발자

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

 

인터뷰 이력

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á

  • kknd님의 프로필 이미지
    kknd

    Đánh giá 2

    Đánh giá trung bình 4.0

    Đã chỉnh sửa

    3

    88% đã tham gia

    강의 소개를 보고 큰 기대를 했습니다. 그래서 실망을 했는지도 모릅니다. 그림 하나 열어놓고 말로만 설명하면 오디오 강의만 있어도 될 것 같습니다. 유튜브 무료 강좌도 강의 노트에 정성이 보이는데 유료 강의인데 이렇게 지나간다니 실망이 큽니다. 타강의를 벤치마킹하는 것을 추천합니다.

    • Hong
      Giảng viên

      안녕하세요 kknd님 이렇게 피드백 주셔서 감사합니다. 우선 저와는 조금 생각이 다른 부분이 있어서 공유드리겠습니다!! 일단 저는 강의 내용에 대해서는 기본적으로 인프런 기능을 참고하는것을 의도 하였습니다. 이미 인프런에서 제가 하는 말을 요약해 주시고 있어서 이런 부분을 참고하면 좋다고 생각을 하였습니다. 또한 공부하는 방식은 누군가 정리해주는 것을 보는게 아니라 내가 정리하며 하는 거라고 생각합니다. 아무리 제가 열정을 가지고 설명을 해도 상대방이 이해하지 못하면 의미가 없다고 생각을 합니다. 이러한 관점에서 제가 하는 말하는 내용을 수강하시는 분들이 이해하고 스스로의 언어로 정리하기를 원했습니다. 하지만 제가 의도하는 기대효과는 다른 결과가 나온거 같아서 아쉬운 마음만 드네요 ㅠㅠ 타 강의도 당연히 벤치마킹 하며 작성된 강의 입니다. 하지만 떠먹여주는 강의는 만들고 싶지 않았어요 당연하게도 이런 형태는 수강하시는 분들에게 큰 도움은 못드리고요 그래도 피드백 주신 만큼 다음에는 더 다양한 만족감을 드릴 수 있게 노력하고 피드백을 수용하도록 하겠습니다. 이렇게 시간 내주셔서 평 남겨주셔서 감사합니다!! 좋은 하루 보내세요!

    • 답글을 남겨주셨군요. 의도에 대한 오해는 풀려서 평점을 수정하였습니다. 다만 그래도 좀 납득하기 힘들긴 합니다. 수강자 입장에서는 빠른 학습이 목적인데 현재 스타일 강의면 학습이 늦어지겠죠. 평균 평점으로 수정하였습니다.

    • Hong
      Giảng viên

      추가적으로 이렇게 의견 주셔서 감사합니다. kknd님의 의견도 맞는 부분이 있는거 같아요 ㅠㅠ 앞으로 의견 주신 만큼 더 보완하여 준비해보도록 할게요. 좋은 하루 보내세요!

  • 우왕 개발자다님의 프로필 이미지
    우왕 개발자다

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    강의를 같이 만드는데 참여한 카카오에서 고여가는 서버 개발자 입니다. 저도 MongoDB를 주로 사용을 하는데요. 매력적인 NoSQL로써 활용을 하고 있습니다. 이번에는 강의 내용이 이론적인 부분과 실습이 혼합이 되어 있는 주제 입니다. 그만큼 MongoDB에 대해서 이해시켜 드리기 위해 노력했습니다. 실습적인 부분이 부족하다고 생각하실 수도 있는데, 사실 쿼리라는게 직접 계속 쳐보셔야 하는거라고 생각을 합니다. 그래서 어떤 연산자를 활용 가능한지 연산자에 따른 주의점들을 위주로 촬영이 되었습니다. 열심히 노력해서 만든만큼 보시는 분들에게 많은 도움이 되면 좋겠습니다. 많은 관심 부탁드립니다!! 좋은 하루 보내세요~!

    • Hong
      Giảng viên

      ㅋㅋㅋㅋ 도움 많이 주셔서 감사합니다~ 다음 강의도 화이팅 해봐요!

  • 부스타님의 프로필 이미지
    부스타

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    61% đã tham gia

    이론적인 부분과 일부 실습이 함께 섞여잇는 강의 입니다 대략 60:40 정도 되는거 같아요. 기본적으로 초심자가 듣기에 되게 유익하지만, 심화과정은 난이도가 좀 있는 편인거 같습니다. 저는 아직은 어려운 내용인거 같네요.

    • Hong
      Giảng viên

      안녕하세요 부스타님 좋은 평 남겨주셔서 감사합니다. DB 강의라는 주제가 꽤나 어려운거 같아요. 제가 많이 알려드려도 실제로 해보지 않으면 익숙해 질 수 없기 떄문에 제가 알려드린 내용을 기반으로 다양하게 쿼리를 작성해보시면 좋지 않을까 싶습니다. 감사합니다!

  • 임창빈님의 프로필 이미지
    임창빈

    Đánh giá 2

    Đánh giá trung bình 4.0

    5

    30% đã tham gia

    좋습니다

    • Hong
      Giảng viên

      안녕하세요 임창빈님 좋은 평 남겨주셔서 감사합니다. 앞으로 더 유익한 강의 제공하도록 노력하겠습니다. 좋은 하루 보내세요!!

  • Jlos Ho님의 프로필 이미지
    Jlos Ho

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    91% đã tham gia

    좋은 강의 잘 봤습니다.

    • Hong
      Giảng viên

      안녕하세요 JIos Ho님 좋은 평 남겨주셔서 감사합니다!! 앞으로 더 좋은 강의로 찾아 뵙도록 할게요!! 좋은 하루 보내세요!!

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

49.500 ₫

23%

1.371.016 ₫

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!