Cơ sở dữ liệu SQL được coi là cơ sở dữ liệu quan hệ. Họ lưu trữ dữ liệu liên quan trong các bảng riêng biệt. Khi cần dữ liệu, nó được truy vấn từ nhiều bảng để nối dữ liệu lại với nhau
MongoDB là cơ sở dữ liệu tài liệu thường được gọi là cơ sở dữ liệu phi quan hệ. Điều này không có nghĩa là dữ liệu quan hệ không thể được lưu trữ trong cơ sở dữ liệu tài liệu. Nó có nghĩa là dữ liệu quan hệ được lưu trữ khác nhau. Một cách tốt hơn để gọi nó là cơ sở dữ liệu không phải dạng bảng
MongoDB lưu trữ dữ liệu trong các tài liệu linh hoạt. Thay vì có nhiều bảng, bạn chỉ cần giữ tất cả dữ liệu liên quan của mình cùng nhau. Điều này làm cho việc đọc dữ liệu của bạn rất nhanh
Bạn vẫn có thể có nhiều nhóm dữ liệu. Trong MongoDB, thay vì các bảng, chúng được gọi là các bộ sưu tập
Cơ sở dữ liệu cục bộ và đám mây
MongoDB có thể được cài đặt cục bộ, điều này sẽ cho phép bạn lưu trữ máy chủ MongoDB của riêng mình trên phần cứng của bạn. Điều này yêu cầu bạn quản lý máy chủ, nâng cấp và mọi hoạt động bảo trì khác
Bạn có thể tải xuống và sử dụng miễn phí Máy chủ cộng đồng mã nguồn mở MongoDB trên phần cứng của mình
Tuy nhiên, đối với khóa học này, chúng tôi sẽ sử dụng MongoDB Atlas, một nền tảng cơ sở dữ liệu đám mây. Điều này dễ dàng hơn nhiều so với việc lưu trữ cơ sở dữ liệu cục bộ của riêng bạn
Để có thể thử nghiệm với các ví dụ mã, bạn sẽ cần quyền truy cập vào cơ sở dữ liệu MongoDB
Đăng ký tài khoản MongoDB Atlas miễn phí để bắt đầu
Tạo một cụm
Sau khi bạn đã tạo tài khoản của mình, hãy thiết lập "Cụm chia sẻ" miễn phí, sau đó chọn khu vực và nhà cung cấp đám mây ưa thích của bạn
Theo mặc định, MongoDB Atlas bị khóa hoàn toàn và không có quyền truy cập từ bên ngoài
Bạn sẽ cần thiết lập người dùng và thêm địa chỉ IP của mình vào danh sách địa chỉ IP được phép
Trong "Truy cập cơ sở dữ liệu", tạo người dùng mới và theo dõi tên người dùng và mật khẩu
Tiếp theo, trong "Truy cập mạng", hãy thêm địa chỉ IP hiện tại của bạn để cho phép truy cập từ máy tính của bạn
Cài đặt MongoDB Shell [mongosh]
Có nhiều cách để kết nối với cơ sở dữ liệu MongoDB của bạn
Chúng ta sẽ bắt đầu bằng cách sử dụng MongoDB Shell, mongosh
Sử dụng hướng dẫn chính thức để cài đặt mongosh
trên hệ điều hành của bạn
Để xác minh rằng nó đã được cài đặt đúng cách, hãy mở thiết bị đầu cuối của bạn và gõ
Bạn sẽ thấy rằng phiên bản mới nhất đã được cài đặt
Phiên bản được sử dụng trong hướng dẫn này là v1. 3. 1
Kết nối với cơ sở dữ liệu
Để kết nối với cơ sở dữ liệu của bạn, bạn sẽ cần chuỗi kết nối dành riêng cho cơ sở dữ liệu của mình
Trong bảng điều khiển MongoDB Atlas, bên dưới "Cơ sở dữ liệu", nhấp vào nút "Kết nối" cho Cụm của bạn
Tiếp theo, chọn "Kết nối với MongoDB Shell"
Sao chép chuỗi kết nối của bạn
Thí dụ
Chuỗi kết nối của bạn sẽ trông giống như thế này
mongosh "mongodb+srv. //cụm0. ex4ht. mongodb. net/myFirstDatabase" --apiVersion 1 --tên người dùng YOUR_USER_NAME
Tự mình thử »Dán chuỗi kết nối của bạn vào thiết bị đầu cuối của bạn và nhấn enter
Bạn sẽ được nhắc nhập mật khẩu người dùng cơ sở dữ liệu mà bạn đã tạo trước đó
Bây giờ bạn đã được kết nối với cơ sở dữ liệu
Tiếp theo là gì?
Trong các phần sau, chúng tôi sẽ sử dụng 'mongosh' để tạo, đọc, cập nhật và xóa [CRUD] các mục trong cơ sở dữ liệu của bạn
Sau khi tìm hiểu những điều cơ bản, chúng tôi sẽ chuyển sang sử dụng MongoDB với các công nghệ phụ trợ khác như Node. js
Có thể bạn đang lưu trữ MongoDB của mình trên một nhà cung cấp dịch vụ đám mây đáng tin cậy, chẳng hạn như Atlas vì bạn thực sự muốn tập trung vào ý tưởng của mình và ủy thác tất cả các lĩnh vực quản lý chính tinh vi như kết nối mạng, lưu trữ, truy cập, v.v.
Tất cả ban đầu có vẻ tốt cho đến khi ý tưởng nhỏ của bạn bắt đầu trở thành một doanh nghiệp và chi phí bắt đầu tăng vọt. Ngay cả khi đó không phải là trường hợp, bài đăng này…
Đặc biệt nếu bạn dự định lưu trữ trong AWS hoặc Azure, thì điểm gọi đầu tiên của bạn phải là cơ sở dữ liệu PaaS [Nền tảng dưới dạng Dịch vụ] do các nhà cung cấp này cung cấp, vì bạn sẽ thấy mình cần ít nỗ lực hơn rất nhiều để hỗ trợ họ.
Câu hỏi của bạn liên quan đến 'Mối quan hệ hay không' rõ ràng là quan trọng và bạn cần xem xét cả cấu trúc dữ liệu bắt buộc cũng như các yêu cầu ACID của mô hình ứng dụng của bạn, cũng như các yêu cầu phi chức năng về khả năng mở rộng, khả năng phục hồi, liệu . - tuy nhiên, xin đừng rơi vào cái bẫy coi 'NoSQL' là một danh mục duy nhất. MongoDB, với giải pháp loại lưu trữ tài liệu, là một mô hình rất khác so với lưu trữ cặp khóa-giá trị [như AWS DynamoDB] hoặc lưu trữ cột [như AWS RedShift] hoặc đối với các mối quan hệ dữ liệu phức tạp hơn, Cửa hàng biểu đồ thực thể [như AWS Neptune]
Cũng quan trọng trong tất cả những điều này là có bao nhiêu mục bạn tin rằng bạn cần lập chỉ mục theo. Các kho lưu trữ RDBMS/SQL rất phù hợp để có bao nhiêu chỉ mục tùy thích, ngoài tốc độ ghi chậm lại, trong khi các cơ sở dữ liệu như Amazon DynamoDB cung cấp hiệu suất đọc/ghi cực nhanh, nhưng rất hạn chế về khả năng lập chỉ mục chính
Có vẻ như bạn có hầu hết kinh nghiệm với các công nghệ SQL/RDBMS, vì vậy, để có lộ trình tìm hiểu đơn giản nhất và nếu ứng dụng của bạn phù hợp, thì cá nhân tôi sẽ bắt đầu bằng cách xem AWS Aurora https. //aws. amazon. com/rds/aurora/