MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tổng quan về MongoDB Atlas:Phần một

Phương pháp điện toán đám mây giải quyết một số thách thức liên quan đến việc chạy các hệ thống xử lý dữ liệu. Các công ty dựa trên dữ liệu đang thúc đẩy chuyển đổi kinh doanh nhanh chóng với các dịch vụ đám mây và nhiều người coi dịch vụ đám mây là một cải tiến đáng kể về tự động hóa, độ tin cậy và mở rộng theo yêu cầu so với các mô hình cơ sở hạ tầng truyền thống trước đây. Bản chất theo yêu cầu của mô hình Phần mềm dưới dạng Dịch vụ (SaaS) có nghĩa là các tổ chức có thể mua những gì họ cần, khi họ cần. Tất nhiên, các khía cạnh chi phí và hiệu quả là rất quan trọng, nhưng không phải là những khía cạnh duy nhất.

Trong quá trình thiết kế kiến ​​trúc hệ thống, chúng tôi luôn tìm kiếm những hệ thống phù hợp với số lượng người dùng phù hợp, ở mức hiệu suất phù hợp cho từng người. Chúng tôi muốn tránh các vấn đề về hiệu suất và tắc nghẽn, và nếu những vấn đề đó xảy ra, chúng tôi muốn có một hệ thống thích ứng với nhu cầu thay đổi.

Chúng tôi cũng muốn mọi thứ nhanh hơn. Quá trình phát triển nhanh ngày càng trở nên phổ biến hơn; chủ yếu là vì nó tăng tốc độ phân phối giá trị kinh doanh ban đầu và (thông qua một quá trình lập kế hoạch và phản hồi liên tục) nó có thể đảm bảo rằng ROI là tối đa.

Cuối cùng, chúng tôi muốn giảm độ phức tạp. Một tính năng chính của MongoDB là khả năng dự phòng được tích hợp sẵn của nó. Nếu bạn có hai hoặc nhiều nút dữ liệu, chúng có thể được định cấu hình như một tập hợp bản sao hoặc các phân đoạn mongodb. Nếu không có tự động hóa phù hợp, nó có thể là một nhiệm vụ lặp lại đối với một số nhóm (mạng, bộ nhớ, hệ điều hành, v.v.). Tự động hóa đám mây có thể giúp bạn giảm bớt sự phụ thuộc giữa các nhóm khác nhau trong tổ chức của bạn. Ví dụ, bạn có thể không cần tham gia vào nhóm mạng khi bạn tạo một hệ thống cơ sở dữ liệu mới.

Tự động hóa đám mây không chỉ tiết kiệm thời gian và tiền bạc mà còn giúp tổ chức của bạn cạnh tranh hơn trong thị trường đầy thách thức.

Trong blog này, chúng ta sẽ xem xét Atlas, giải pháp từ MongoDB cố gắng giải quyết tất cả những vấn đề này.

Bắt đầu với MongoDB Atlas

Để bắt đầu với MongoDB Atlas, hãy truy cập https://cloud.mongodb.com. Trong biểu mẫu đăng ký, bạn cần cung cấp thông tin tối thiểu như email, công ty, quốc gia và số điện thoại di động.

MongoDB Atlas thực hiện một công việc xuất sắc trong việc thiết lập và cung cấp cơ sở hạ tầng. Toàn bộ quy trình sử dụng giao diện web động hướng dẫn bạn qua các tùy chọn triển khai khác nhau. Nó dễ dàng, trực quan và không yêu cầu kiến ​​thức chuyên môn.

Sau lần đăng nhập đầu tiên, bạn sẽ được yêu cầu xây dựng cụm đầu tiên của mình trong một trong ba đám mây quan trọng nhất. Atlas hoạt động với Amazon AWS, Google Cloud và Microsoft Azure. Dựa trên sự lựa chọn của bạn, bạn có thể chọn vị trí của vị trí trung tâm dữ liệu ưa thích. Để tăng tính khả dụng, bạn có thể đặt Đa vùng, Cách ly khối lượng công việc hoặc đặt các tùy chọn Nhân rộng khác nhau. Mỗi dự án Atlas hỗ trợ tối đa 25 cụm, nhưng sau khi liên hệ với bộ phận hỗ trợ, bạn sẽ có thể lưu trữ nhiều hơn.

Bạn cần chọn kích thước phù hợp của máy chủ, cùng với IO và khả năng lưu trữ. Trong bài viết này, chúng tôi sẽ sử dụng phiên bản miễn phí. Bắt đầu với MongoDB Atlas miễn phí để tạo mẫu, phát triển ban đầu hoặc để học. Thẻ tín dụng là không cần thiết, vì vậy bạn không cần phải bận tâm về các chi phí ẩn. Phiên bản miễn phí có tên M0 Sandbox được giới hạn ở:

  • Bộ nhớ 512MB
  • vCPU được chia sẻ
  • RAM được chia sẻ
  • 100 kết nối tối đa
  • Có giới hạn một cụm M0 cho mỗi dự án.

Đối với các cụm chuyên dụng, MongoDB Atlas được lập hóa đơn hàng giờ dựa trên số lượng bạn sử dụng. Tỷ lệ phụ thuộc vào một số yếu tố, quan trọng nhất là quy mô và số lượng máy chủ bạn sử dụng. Giá bắt đầu từ 0,08 / giờ (M10, RAM 2GB, bộ nhớ 10 GB, 1vCPU) đến M700 với RAM 768 GB, bộ nhớ 4096 GB, 96 đvCPU từ $ 33,26 / giờ. Rõ ràng, bạn sẽ cần bao gồm các yếu tố chi phí khác, chẳng hạn như chi phí sao lưu.

Theo tính toán của MongoDB, một AWS một tập hợp bản sao 3 nút của M40 và chạy nó 24/7 trong một tháng bằng cách sử dụng 80GB bộ nhớ khối tiêu chuẩn đi kèm sẽ khiến bạn mất khoảng 947 đô la.

Thiết lập cơ bản hoạt động với tính năng sao chép. Nếu bạn cần loại cá thể sharding M30 là tối thiểu (RAM 8GB, bộ nhớ 40GB, 2vCPU, giá từ $ 0,54 / giờ).

Thiết lập Ban đầu Truy cập Mạng MongoDB Atlas

Một trong những bước đầu tiên chúng ta cần làm sau khi tạo cụm là bật danh sách trắng IP. Để cho phép truy cập từ mọi nơi, bạn có thể đặt mục nhập danh sách trắng thành 0.0.0.0/0 nhưng không được khuyến khích. Nếu bạn không biết địa chỉ IP của mình, Atlas sẽ giúp bạn xác định địa chỉ đó.

Để giữ cho kết nối của bạn an toàn hơn, bạn cũng có thể thiết lập kết nối mạng ngang hàng . Tính năng này không khả dụng cho các cụm M0, M2 và M5. Mạng ngang hàng cho phép kết nối giữa MongoDB VPC và nhà cung cấp đám mây của bạn. Mạng VPC ngang hàng cho phép các VOC khác nhau giao tiếp trong không gian riêng tư, lưu lượng truy cập không qua internet công cộng.

Để bắt đầu làm việc với cụm mới của bạn, hãy tạo một người dùng ban đầu. Làm điều đó trong tab Truy cập Cơ sở dữ liệu. MongoDB sử dụng Cơ chế xác thực phản hồi thử thách muối. Đó là cơ chế bảo mật dựa trên SHA-256, bằng chứng xác thực của người dùng dựa trên tên, mật khẩu và cơ sở dữ liệu xác thực của người dùng.

Di chuyển Cụm MongoDB Hiện tại sang MongoDB Atlas

Cũng có thể di chuyển cụm tại chỗ hiện có của bạn sang Mongo Atlas. Nó được thực hiện thông qua một dịch vụ chuyên dụng có tên là Live Migration Service. Quá trình Atlas Live Migration truyền dữ liệu thông qua một máy chủ ứng dụng do MongoDB kiểm soát.

Di chuyển trực tiếp hoạt động bằng cách giữ một cụm trong MongoDB Atlas đồng bộ với cơ sở dữ liệu nguồn của bạn. Trong quá trình này, ứng dụng của bạn có thể tiếp tục đọc và ghi từ cơ sở dữ liệu nguồn của bạn. Vì quy trình theo dõi những thay đổi sắp tới, tất cả sẽ được sao chép và việc di chuyển có thể được thực hiện trực tuyến. Bạn quyết định thời điểm thay đổi cài đặt kết nối ứng dụng và thực hiện cắt bỏ. Để thực hiện quy trình ít bị lỗi hơn, Atlas cung cấp tùy chọn Xác thực để kiểm tra quyền truy cập IP trong danh sách trắng, cấu hình SSL, CA, v.v.

Điều quan trọng ở đây là dịch vụ miễn phí.

Nếu bạn không cần di chuyển trực tuyến, bạn cũng có thể sử dụng mongoimport. Sử dụng trình bao mongo với phiên bản tối thiểu 3.2.7 luôn sử dụng SSL. Bạn có thể lấy dữ liệu thử nghiệm từ đây.

​mongoimport --host TestCluster-shard-0/testcluster-shard-*****.azure.mongodb.net:27017,testcluster-shard-****.azure.mongodb.net:27017,testcluster-shard-******.azure.mongodb.net:27017 --ssl --username admin --authenticationDatabase admin  --type JSON --file city_inspections.json

2019-08-15T21:53:09.921+0200 WARNING: ignoring unsupported URI parameter 'replicaset'

2019-08-15T21:53:09.922+0200 no collection specified

2019-08-15T21:53:09.922+0200 using filename 'city_inspections' as collection

Enter password:



2019-08-15T21:53:14.288+0200 connected to: mongodb://testcluster-shard-*****.azure.mongodb.net:27017,testcluster-shard-*****.azure.mongodb.net:27017,testcluster-shard-*****.azure.mongodb.net:27017/?replicaSet=TestCluster-shard-0

2019-08-15T21:53:17.289+0200 [........................] test.city_inspections 589KB/23.2MB (2.5%)

2019-08-15T21:53:20.290+0200 [#.......................] test.city_inspections 1.43MB/23.2MB (6.2%)

2019-08-15T21:53:23.292+0200 [##......................] test.city_inspections 2.01MB/23.2MB (8.6%)

...

2019-08-15T21:55:09.140+0200 [########################] test.city_inspections 23.2MB/23.2MB (100.0%)

2019-08-15T21:55:09.140+0200 81047 document(s) imported successfully. 0 document(s) failed to import.

Để kiểm tra dữ liệu, hãy đăng nhập bằng mongo shell.

mongo "mongodb+srv://testcluster-*****.azure.mongodb.net/test" --username admin

MongoDB shell version v4.2.0

Enter password:

connecting to: mongodb://testcluster-shard-00-00-*****.azure.mongodb.net:27017,testcluster-shard-00-02-*****.azure.mongodb.net:27017,testcluster-shard-00-01-*****.azure.mongodb.net:27017/test?authSource=admin&compressors=disabled&gssapiServiceName=mongodb&replicaSet=TestCluster-shard-0&ssl=true

2019-08-15T22:15:58.068+0200 I  NETWORK [js] Starting new replica set monitor for TestCluster-shard-0/testcluster-shard-00-00-*****.azure.mongodb.net:27017,testcluster-shard-00-02-*****.azure.mongodb.net:27017,testcluster-shard-00-01-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.069+0200 I  CONNPOOL [ReplicaSetMonitor-TaskExecutor] Connecting to testcluster-shard-00-01-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.070+0200 I  CONNPOOL [ReplicaSetMonitor-TaskExecutor] Connecting to testcluster-shard-00-00-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.070+0200 I  CONNPOOL [ReplicaSetMonitor-TaskExecutor] Connecting to testcluster-shard-00-02-*****.azure.mongodb.net:27017

2019-08-15T22:15:58.801+0200 I  NETWORK [ReplicaSetMonitor-TaskExecutor] Confirmed replica set for TestCluster-shard-0 is TestCluster-shard-0/testcluster-shard-00-00-*****.azure.mongodb.net:27017,testcluster-shard-00-01-*****.azure.mongodb.net:27017,testcluster-shard-00-02-*****.azure.mongodb.net:27017

Implicit session: session { "id" : UUID("6a5d1ee6-064b-4ba8-881a-71aa4aef4983") }

MongoDB server version: 4.0.12

WARNING: shell and server versions do not match

MongoDB Enterprise TestCluster-shard-0:PRIMARY> show collections;

city_inspections

MongoDB Enterprise TestCluster-shard-0:PRIMARY> db.city_inspections.find();

{ "_id" : ObjectId("56d61033a378eccde8a83557"), "id" : "10284-2015-ENFO", "certificate_number" : 9287088, "business_name" : "VYACHESLAV KANDZHANOV", "date" : "Feb 25 2015", "result" : "No Violation Issued", "sector" : "Misc Non-Food Retail - 817", "address" : { "city" : "NEW YORK", "zip" : 10030, "street" : "FREDRCK D BLVD", "number" : 2655 } }

{ "_id" : ObjectId("56d61033a378eccde8a83559"), "id" : "10302-2015-ENFO", "certificate_number" : 9287089, "business_name" : "NYC CANDY STORE SHOP CORP", "date" : "Feb 25 2015", "result" : "No Violation Issued", "sector" : "Cigarette Retail Dealer - 127", "address" : { "city" : "NEW YORK", "zip" : 10030, "street" : "FREDRCK D BLVD", "number" : 2653 } }

...

{ "_id" : ObjectId("56d61033a378eccde8a8355e"), "id" : "10391-2015-ENFO", "certificate_number" : 3019415, "business_name" : "WILFREDO DELIVERY SERVICE INC", "date" : "Feb 26 2015", "result" : "Fail", "sector" : "Fuel Oil Dealer - 814", "address" : { "city" : "WADING RIVER", "zip" : 11792, "street" : "WADING RIVER MANOR RD", "number" : 1607 } }

Type "it" for more

MongoDB Enterprise TestCluster-shard-0:PRIMARY>

Kết luận

Đó là tất cả cho phần một. Trong bài viết tiếp theo, chúng ta sẽ đề cập đến việc giám sát, sao lưu, quản trị hàng ngày và dịch vụ mới của MongoDB để xây dựng Hồ dữ liệu. Hãy theo dõi!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ và Nhà điều hành đường ống tổng hợp

  2. mongo.so:> ký hiệu không xác định:php_json_encode trong Không xác định trên dòng 0. Sau khi cài đặt trình điều khiển mongo cho php

  3. Điều đó có nghĩa là gì để phù hợp với bộ làm việc vào RAM cho MongoDB?

  4. Làm cách nào để tổng hợp tổng trong MongoDB để có tổng số?

  5. Mongoose điền và đối tượng lồng vào nhau