Tôi có thể lưu trữ cục bộ MongoDB không?

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

Ví 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ó rất nhiều điều để nói về việc chạy cơ sở dữ liệu MongoDB trên đám mây. Bạn có thể nhận các cụm máy chủ trực tuyến một cách nhanh chóng và tất cả mạng được quản lý và bảo mật. Tất cả người dùng của bạn có thể được kết nối với nó và nó sẽ có các bản sao lưu tự động. Một dịch vụ như Atlas là tuyệt vời cho loại điều này. Nhưng đôi khi bạn có thể muốn cài đặt MongoDB cục bộ của riêng mình và một số lý do chính đáng để làm như vậy. Vì vậy, đây là năm trong số họ

1. Miễn phí không giới hạn

Rất nhiều cơ sở dữ liệu đám mây cung cấp cho bạn một bậc miễn phí. Cấp miễn phí thường có một số giới hạn về nó. Lấy bậc miễn phí M0 của MongoDB Atlas, trong đó các giới hạn bắt đầu với dung lượng lưu trữ tối đa là 512MB và bao gồm một loạt các hạn chế do cơ sở dữ liệu nằm trên một nền tảng dùng chung. Nếu bạn cài đặt cục bộ MongoDB của riêng mình, giới hạn duy nhất của bạn là dung lượng ổ đĩa và RAM bạn có thể dành để chạy cơ sở dữ liệu của mình

2. Không cần phải trực tuyến

Điều này có vẻ hiển nhiên nhưng cơ sở dữ liệu đám mây có nghĩa là bạn phải trực tuyến trên internet để kết nối với nó. Nếu bạn đang đi du lịch hoặc làm việc ở đâu đó với kết nối hạn chế thì đây có thể là một vấn đề. Tệ hơn nữa là nếu kết nối đó dựa trên cơ sở trả tiền khi bạn sử dụng và giá cước cao. Mọi truy vấn và tập hợp kết quả sẽ khiến bạn mất tiền

3. Độ trễ bằng không

Khi bạn đang chạy với cơ sở dữ liệu đám mây, độ trễ của internet cũng sẽ ảnh hưởng, nghĩa là thêm mili giây cho mỗi và mọi truy vấn bạn thực hiện từ một ứng dụng. Mặc dù khó có thể phát hiện ra độ trễ đó trong ứng dụng GUI do người dùng điều khiển như Studio 3T, nhưng độ trễ đó sẽ luôn ở đó (trừ khi họ nhận được 5G hoạt động theo cách mà họ đã hứa… không, đừng nín thở)

4. Nhanh như máy cục bộ của bạn

Chạy cục bộ cơ sở dữ liệu của bạn có nghĩa là tất cả sức mạnh CPU cục bộ của bạn đều khả dụng cho các tác vụ tính toán chuyên sâu hơn. Cơ sở dữ liệu đám mây dùng chung, theo thiết kế, là hàng xóm tốt cho các cơ sở dữ liệu khác chạy trên cùng một máy chủ. Vì vậy sẽ có những giới hạn hợp lý. Điều đó hoặc bạn sẽ thấy rằng thỉnh thoảng hiệu suất giảm xuống khi người khác đang chạy một tác vụ điện toán chuyên sâu. Khi bạn chạy cục bộ, chỉ có bạn cạnh tranh tài nguyên

5. sao chép miễn phí

Trừ khi bạn sử dụng thứ gì đó như Docker và định cấu hình cho mình một cụm nhỏ cục bộ, MongoDB cục bộ của bạn sẽ là một phiên bản duy nhất của MongoDB. Điều đó có nghĩa là nó sẽ không phải sao chép dữ liệu sang một phiên bản MongoDB khác để làm cho nó có tính khả dụng cao. Và điều đó đến lượt nó có nghĩa là sẽ có nhiều tài nguyên miễn phí hơn để bạn sử dụng với các ứng dụng của mình

Vậy MongoDB địa phương này tốt cho ai?

  • Bất kỳ ai làm công việc phát triển không cần cắm vào hệ thống sản xuất. (Studio 3T cũng có thể giúp cung cấp cho họ dữ liệu thử nghiệm thực tế thông qua việc sử dụng Mặt nạ dữ liệu)
  • Bất kỳ ai muốn xử lý dữ liệu thường quan trọng trong sản xuất mà không ảnh hưởng đến quy trình sản xuất. Studio 3T có thể giúp xuất dữ liệu đó sang cơ sở dữ liệu cục bộ bằng các tính năng xuất của nó)
  • hoặc người cần cơ sở dữ liệu nhưng không có Internet
  • và cả những người cần một cơ sở dữ liệu cục bộ miễn phí hiệu quả

Nhưng… trường hợp chống lại MongoDB cục bộ

Tất nhiên có những lưu ý về điều này.  

  • Sản xuất –  MongoDB sẽ luôn là một cụm gồm ba máy trở lên chạy MongoDB. Chạy một MongoDB cục bộ độc lập rất tốt cho hiệu suất nhưng đó là tất cả
  • Bản sao, Độ trễ và Những người khác – nếu bạn đang phát triển trên MongoDB độc lập, đừng mong đợi hiệu suất tương tự khi bạn chuyển ứng dụng của mình sang chạy trên đám mây. Cụm sản xuất sẽ thực hiện sao chép, nó sẽ ở xa và sẽ có độ trễ và nếu bạn định sản xuất trên nền tảng dùng chung, sẽ có những người khác tranh giành tài nguyên. Đó không phải là lý do để không xây dựng cục bộ, lý do hơn là đảm bảo bạn kiểm tra trên đám mây để đảm bảo rằng bạn không dựa vào nút hiệu suất quá nhiều
  • Không có bản sao lưu – Trừ khi bạn được tổ chức tốt và sao lưu máy tính xách tay hoặc máy tính để bàn của mình, có thể sẽ không có bản sao lưu nào cho cơ sở dữ liệu của bạn. Nếu bạn vô tình làm hỏng hoặc xóa dữ liệu của mình, bạn sẽ phải tạo lại dữ liệu đó
  • Không có các tính năng như mã hóa khi nghỉ ngơi và các tùy chọn doanh nghiệp khác – Giả sử rằng bạn sử dụng phiên bản Cộng đồng của MongoDB, bạn sẽ không thể sử dụng các tính năng doanh nghiệp khác nhau, nhưng hầu hết chúng đều là các tính năng vận hành/triển khai cho các triển khai lớn
  • Bảo mật - bạn chịu trách nhiệm về nó trên máy cục bộ của mình. Khi bạn cài đặt MongoDB bây giờ, nó chỉ liên kết với máy chủ cục bộ, nhưng hãy coi chừng. Nếu bạn liên kết với một địa chỉ IP để cấp cho người khác quyền truy cập vào MongoDB của mình, thì bạn đã mở một hộp sâu - bạn cần đảm bảo rằng bạn có người dùng và xác thực được thiết lập để quản lý các kết nối đến

Cuối cùng

Khi bạn đã quyết định chuyển sang cục bộ và thiết lập MongoDB cục bộ của mình, bạn sẽ muốn kết nối với nó. quá. Giờ hãy truy vấn, tổng hợp và tạo thêm MongoDB với Studio 3T

MongoDB có hoạt động cục bộ không?

Mỗi phiên bản mongod đều có cơ sở dữ liệu cục bộ riêng , lưu trữ dữ liệu được sử dụng trong quá trình sao chép và dữ liệu dành riêng cho phiên bản khác.

Tôi có thể lưu trữ MongoDB miễn phí không?

MongoDB có miễn phí không? . Không cần thẻ tín dụng để cung cấp một cụm và bạn có thể sử dụng nó để khám phá và tìm hiểu thêm về MongoDB Atlas, nền tảng cơ sở dữ liệu dưới dạng dịch vụ từ MongoDB. You can get started with a MongoDB developer sandbox in MongoDB Atlas for free with basic configuration options. No credit cards are required to provision a cluster, and you can use it to explore and learn more about MongoDB Atlas, the database-as-a-service platform from MongoDB.

Làm cách nào để thiết lập cục bộ cơ sở dữ liệu MongoDB?

Trong MongoDB Compass, bạn tạo cơ sở dữ liệu và thêm bộ sưu tập đầu tiên của nó cùng một lúc. .
Nhấp vào "Tạo cơ sở dữ liệu" để mở hộp thoại
Nhập tên của cơ sở dữ liệu và bộ sưu tập đầu tiên của nó
Nhấp vào "Tạo cơ sở dữ liệu"

Làm cách nào để kết nối MongoDB cục bộ?

Bạn có thể kết nối với máy chủ MongoDB cục bộ đang chạy với cấu hình mặc định của nó bằng cách nhập. .
mongo. .
Phiên bản vỏ MongoDB v4. 4. 6. .
mongo --username --password. .. .
Phiên bản vỏ MongoDB v. 4. 4. 6. .
mongo "mongodb://:@127.0.0.1" .. .
mongo. .
hiển thị dbs. .
sử dụng quản trị viên