MongoDB Atlas là một cơ sở dữ liệu đám mây [Cơ sở dữ liệu đám mây] chạy trên hạ tầng đám mây của AWS, Azure và Google Cloud. Nó cũng cung cấp rất nhiều công cụ để quản lý khai thác, phân tích dữ liệu
- Tự thay đổi kích thước bộ nhớ mà không phải tắt máy chủ
- Tự động thêm/bớt các nút truy cập, tự động phân chia dữ liệu [Shard]
- Tự động cấp phát bổ sung không lưu trữ cho phù hợp
- Các nhiệm vụ xuất ra tự động đánh chỉ mục dựa trên tần suất sử dụng
- Dark time query data
- Tự động xuất đề thiết kế dữ liệu cho mức tối ưu
- Tự động cảnh báo các vấn đề có thể cải thiện
Một số gợi ý đã được phát hiện và được đưa ra như
- Loại bỏ các mục không cần thiết,
- Unlimited arrays working mode
- Giảm số lượng Bộ sưu tập
- Sử dụng tìm kiếm toàn văn
- Giảm kích thước của các tài liệu lớn
- Tự động lưu trữ dữ liệu dựa trên cơ sở phân tầng
- Cho phép truy vấn dữ liệu đã lưu trữ
- Cho phép tùy chỉnh việc lưu trữ dữ liệu
- Tự cấu hình và tạo các dữ liệu chỉ đọc để phục vụ cho một số phần mềm phân tích như MongoDB Charts, BI Connector
- Việc phân tích không ảnh hưởng đến dữ liệu lưu trữ
- Cũng có thể cấu hình chỉ ghi trên một bản sao
- Tự động cảnh báo qua email, tin nhắn
- Cấu hình để thông báo qua nhiều nền tảng khác nhau
- Tạo Bảng điều khiển để báo cáo với các số liệu quan tâm
- Báo cáo kỳ, và báo cáo theo thời gian thực
- đoán sự cố nhanh chóng
- Thong kê các truy vấn dài, truy vấn lỗi
- Xem lại, thống kê hoạt động của các truy vấn đã thực hiện
- Phân tích đánh giá việc sử dụng dữ liệu theo thời gian thực
- Chỉ ra thời gian hoạt động của các câu hỏi
Dễ dàng tạo ra các công cụ tìm kiếm
- Dung sai lỗi đánh máy. Hỗ trợ tìm kiếm mờ
- tự động hoàn thành. Tự động điền
- Bộ lọc và Khía cạnh. Lọc, lựa chọn khía cạnh
- chấm điểm tùy chỉnh. Xếp hạng kết quả
- từ đồng nghĩa. Search search from ĐỒNG NGHĨA
- DSL truy vấn phong phú. Truy vấn tăng cường, tổng hợp
- Lưu trữ và xử lý dữ liệu để phân tích trong hồ dữ liệu [Data lake]
- Truy vấn dữ liệu và quản lý dữ liệu nhanh chóng
https. //www. youtube. com/watch?v=aW7P4Y8DY9o
Chọn phương án đúng nhất về MongoDB Atlas
MongoDB Atlas là gì?
Bản đồ dữ liệu nơi quản lý toàn bộ cơ sở dữ liệu MongoDB toàn cầu. Bộ công cụ và dịch vụ cho cơ sở dữ liệu MongoDBHệ thống quản trị cảnh báo việc sử dụng các Server MongoDBCông cụ hỗ trợ tìm kiếm, phân tích khai thác dữ liệu phi cấu trúcTính năng cô lập công việc
Khi cho dữ liệu được bảo vệ tốt hơnGiúp giảm bớt các mục không cần thiếtGiúp cho các phần của hệ thống được cô lập để phục vụ cho các hoạt động riêng biệtGiúp giảm chi phí cho những thành phần ít sử dụngTính năng tự động thay đổi quy định hệ thống
Tự động nâng cấp khi mức sử dụng CPU hoặc bộ nhớ trung bình lớn hơn 90%Khi hết dung lượng thì dung lượng sẽ được tự động nâng cấp khi dung lượng còn thiếuTự động hạ cấp khi mức sử dụng CPU hoặc bộ nhớĐịnh nghĩa bất kỳ sau đây là đúng với tính năng gợi ý chỉ mục
Tính năng này chỉ dựa trên số ImpactOne chỉ mục được gợi ý khi nó tăng 5% tốc độ truy vấn Tính năng này hoàn toàn miễn phí và hoạt động trên mọi loại cụm Đây là một tính năng phải trả phí dựa trên số gợi ýTính năng lưu trữ dữ liệu trực tuyến
Giúp giảm chi phí lưu trữ dữ liệuGiúp dữ liệu được an toàn hơnGiúp cho việc sao lưu dữ liệu được thuận tiệnGiúp cho việc truy xuất dữ liệu nhanh hơnTruy cập vào trang Atlas
Chọn Đường dẫn để truy cập Atlas
Đăng ký tài khoản
Để đăng ký tài khoản có thể sử dụng email hoặc tài khoản Google
Dữ liệu trong Atlas được đặt trong các Cơ sở dữ liệu [Database], Các cơ sở dữ liệu sẽ được tổ chức trong các Cơ sở dữ liệu [Database]. Các Cụm thuộc Dự án [Dự án]. Các Dự án thuộc các tổ chức [Organization]
Sau khi đăng nhập sẽ hiển thị màn hình để tạo các Tổ chức
Chọn Create an Organization để tạo một tổ chức, đặt tên tổ chức, và chọn gói dịch vụ MongoDB Atlas
Để tạo Project, chọn new Project
Set name Project
Thêm thành viên khác [nếu cần thiết] để tham gia cùng dự án
Bấm Create Project để hoàn thành việc tạo Project
Trong một dự án, chúng ta có thể tạo ra các Cơ sở dữ liệu bằng cách chọn Build a Database
Lựa chọn được chia sẻ nếu muốn sử dụng dịch vụ miễn phí
Trong bước tiếp theo lựa chọn nhà cung cấp và vùng, rồi nhấn Tạo cụm
Trong bước này cần đợi vài phút để MongoDB tạo ra Cụm. Giao diện quản lý cụm của MongoDB Atlas như sau
Để xem hoặc tạo cơ sở dữ liệu, hãy chọn Bộ sưu tập
Chọn Thêm dữ liệu của riêng tôi
Đặt tên cơ sở dữ liệu và Bộ sưu tập
Tại trang quản lý DB vừa tạo, để thêm dữ liệu vào Bộ sưu tập Sản phẩm, chọn Chèn tài liệu
Chọn View dưới dạng Json, sau đó dán dữ liệu json [phía dưới] vào rồi nhấn Insert
Content data format Json
[
{
"name": "Electra Girl's Hawaii 1 [20-inch] - 2015/2016",
"year": 2016,
"price": 299.99,
"brand": "Electra",
"category": "Children Bicycles"
},
{
"name": "Electra Townie Original 21D - 2016",
"year": 2016,
"price": 549.99,
"brand": "Electra",
"category": "Comfort Bicycles"
},
{
"name": "Electra Townie Original 7D - 2015/2016",
"year": 2016,
"price": 499.99,
"brand": "Electra",
"category": "Comfort Bicycles"
},
{
"name": "Electra Townie Original 7D EQ - 2016",
"year": 2016,
"price": 599.99,
"brand": "Electra",
"category": "Comfort Bicycles"
},
{
"name": "Electra Townie Original 21D - 2016",
"year": 2016,
"price": 549.99,
"brand": "Electra",
"category": "Cruisers Bicycles"
},
{
"name": "Electra Cruiser 1 [24-Inch] - 2016",
"year": 2016,
"price": 269.99,
"brand": "Electra",
"category": "Cruisers Bicycles"
},
{
"name": "Electra Girl's Hawaii 1 [16-inch] - 2015/2016",
"year": 2016,
"price": 269.99,
"brand": "Electra",
"category": "Cruisers Bicycles"
},
{
"name": "Electra Moto 1 - 2016",
"year": 2016,
"price": 529.99,
"brand": "Electra",
"category": "Cruisers Bicycles"
},
{
"name": "Electra Townie Original 7D EQ - 2016",
"year": 2016,
"price": 599.99,
"brand": "Electra",
"category": "Cruisers Bicycles"
},
{
"name": "Pure Cycles Vine 8-Speed - 2016",
"year": 2016,
"price": 429,
"brand": "Pure Cycles",
"category": "Cruisers Bicycles"
},
{
"name": "Pure Cycles Western 3-Speed - Women's - 2015/2016",
"year": 2016,
"price": 449,
"brand": "Pure Cycles",
"category": "Cruisers Bicycles"
},
{
"name": "Pure Cycles William 3-Speed - 2016",
"year": 2016,
"price": 449,
"brand": "Pure Cycles",
"category": "Cruisers Bicycles"
},
{
"name": "Electra Townie Original 7D EQ - Women's - 2016",
"year": 2016,
"price": 599.99,
"brand": "Electra",
"category": "Cruisers Bicycles"
},
{
"name": "Surly Straggler - 2016",
"year": 2016,
"price": 1549,
"brand": "Surly",
"category": "Cyclocross Bicycles"
},
{
"name": "Surly Straggler 650b - 2016",
"year": 2016,
"price": 1680.99,
"brand": "Surly",
"category": "Cyclocross Bicycles"
},
{
"name": "Trek Boone 7 - 2017",
"year": 2017,
"price": 3499.99,
"brand": "Trek",
"category": "Cyclocross Bicycles"
},
{
"name": "Trek Conduit+ - 2016",
"year": 2016,
"price": 2999.99,
"brand": "Trek",
"category": "Electric Bikes"
},
{
"name": "Sun Bicycles ElectroLite - 2017",
"year": 2017,
"price": 1559.99,
"brand": "Sun Bicycles",
"category": "Electric Bikes"
},
{
"name": "Trek Powerfly 8 FS Plus - 2017",
"year": 2017,
"price": 4999.99,
"brand": "Trek",
"category": "Electric Bikes"
},
{
"name": "Trek 820 - 2016",
"year": 2016,
"price": 379.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Ritchey Timberwolf Frameset - 2016",
"year": 2016,
"price": 749.99,
"brand": "Ritchey",
"category": "Mountain Bikes"
},
{
"name": "Surly Wednesday Frameset - 2016",
"year": 2016,
"price": 999.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Trek Fuel EX 8 29 - 2016",
"year": 2016,
"price": 2899.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Heller Shagamaw Frame - 2016",
"year": 2016,
"price": 1320.99,
"brand": "Heller",
"category": "Mountain Bikes"
},
{
"name": "Surly Ice Cream Truck Frameset - 2016",
"year": 2016,
"price": 469.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Trek Slash 8 27.5 - 2016",
"year": 2016,
"price": 3999.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Trek Remedy 29 Carbon Frameset - 2016",
"year": 2016,
"price": 1799.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Surly Big Dummy Frameset - 2017",
"year": 2017,
"price": 999.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Surly Karate Monkey 27.5+ Frameset - 2017",
"year": 2017,
"price": 2499.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Trek X-Caliber 8 - 2017",
"year": 2017,
"price": 999.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Surly Ice Cream Truck Frameset - 2017",
"year": 2017,
"price": 999.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Surly Wednesday - 2017",
"year": 2017,
"price": 1632.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Trek Farley Alloy Frameset - 2017",
"year": 2017,
"price": 469.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Surly Wednesday Frameset - 2017",
"year": 2017,
"price": 469.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Trek Session DH 27.5 Carbon Frameset - 2017",
"year": 2017,
"price": 469.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Sun Bicycles Spider 3i - 2017",
"year": 2017,
"price": 832.99,
"brand": "Sun Bicycles",
"category": "Mountain Bikes"
},
{
"name": "Surly Troll Frameset - 2017",
"year": 2017,
"price": 832.99,
"brand": "Surly",
"category": "Mountain Bikes"
},
{
"name": "Haro Flightline One ST - 2017",
"year": 2017,
"price": 379.99,
"brand": "Haro",
"category": "Mountain Bikes"
},
{
"name": "Haro Flightline Two 26 Plus - 2017",
"year": 2017,
"price": 549.99,
"brand": "Haro",
"category": "Mountain Bikes"
},
{
"name": "Trek Stache 5 - 2017",
"year": 2017,
"price": 1499.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Trek Fuel EX 9.8 29 - 2017",
"year": 2017,
"price": 4999.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Haro Shift R3 - 2017",
"year": 2017,
"price": 1469.99,
"brand": "Haro",
"category": "Mountain Bikes"
},
{
"name": "Trek Fuel EX 5 27.5 Plus - 2017",
"year": 2017,
"price": 2299.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Trek Fuel EX 9.8 27.5 Plus - 2017",
"year": 2017,
"price": 5299.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Haro SR 1.1 - 2017",
"year": 2017,
"price": 539.99,
"brand": "Haro",
"category": "Mountain Bikes"
},
{
"name": "Haro SR 1.2 - 2017",
"year": 2017,
"price": 869.99,
"brand": "Haro",
"category": "Mountain Bikes"
},
{
"name": "Haro SR 1.3 - 2017",
"year": 2017,
"price": 1409.99,
"brand": "Haro",
"category": "Mountain Bikes"
},
{
"name": "Trek Remedy 9.8 - 2017",
"year": 2017,
"price": 5299.99,
"brand": "Trek",
"category": "Mountain Bikes"
},
{
"name": "Trek Emonda S 4 - 2017",
"year": 2017,
"price": 1499.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Domane SL 6 - 2017",
"year": 2017,
"price": 3499.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Silque SLR 7 Women's - 2017",
"year": 2017,
"price": 5999.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Silque SLR 8 Women's - 2017",
"year": 2017,
"price": 6499.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Surly Steamroller - 2017",
"year": 2017,
"price": 875.99,
"brand": "Surly",
"category": "Road Bikes"
},
{
"name": "Surly Ogre Frameset - 2017",
"year": 2017,
"price": 749.99,
"brand": "Surly",
"category": "Road Bikes"
},
{
"name": "Trek Domane SL Disc Frameset - 2017",
"year": 2017,
"price": 3199.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Domane S 6 - 2017",
"year": 2017,
"price": 2699.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Domane SLR 6 Disc - 2017",
"year": 2017,
"price": 5499.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Emonda S 5 - 2017",
"year": 2017,
"price": 1999.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Madone 9.2 - 2017",
"year": 2017,
"price": 4999.99,
"brand": "Trek",
"category": "Road Bikes"
},
{
"name": "Trek Domane S 5 Disc - 2017",
"year": 2017,
"price": 2599.99,
"brand": "Trek",
"category": "Road Bikes"
}
]
Sau khi dữ liệu được đưa vào, có thể thực hiện truy vấn, ví dụ
Để thực hiện kết nối tới Cơ sở dữ liệu có thể sử dụng MongoDB Shell, MongoDB Compass hoặc một ứng dụng khác. Để có các thông tin cho tiến trình Kết nối, hãy chọn Kết nối
Trước tiên cần thiết lập Bảo mật, bằng cách Thêm địa chỉ IP. Nếu chưa có IP, muốn kết nối từ mọi nơi, chọn Allow Access from Anywhere
Đặt Tên người dùng và Mật khẩu
Khi đó Cụm có thể được truy cập từ bên ngoài, ví dụ
- Từ Mongo shell
- Từ ứng dụng đang phát triển
- Từ La bàn và các ứng dụng tương tự
To access from Mongo shell, chọn Connect with mongo shell
Hệ thống sẽ đưa ra câu lệnh để truy cập
Sử dụng câu lệnh để truy cập thử, câu hỏi nhập mật khẩu và thay đổi cơ sở dữ liệu cần truy cập
mongosh "mongodb+srv://cluster0.mp88b5c.mongodb.net/myFirstDatabase" --apiVersion 1 --username lampx
Tại đây có thể chạy các câu lệnh để thao tác với cơ sở dữ liệu đã được tạo trên Atlas
Vui lòng nhập lệnh để truy cập Atlas của mình vào ô dưới đây
Mã nguồnLựa chọn kết nối ứng dụng của bạn
Select the setting language language, instead of password of account
Chạy thử kết nối với DB, ví dụ nếu lập trình bằng Java
public static void main[String[] args] throws FileNotFoundException {
ConnectionString connectionString = new ConnectionString["mongodb+srv://lampx:ktqd123456@cluster0.mp88b5c.mongodb.net/MyDB?retryWrites=true&w=majority"];
MongoClientSettings settings = MongoClientSettings.builder[]
.applyConnectionString[connectionString]
.build[];
MongoClient mongoClient = MongoClients.create[settings];
MongoDatabase database = mongoClient.getDatabase["MyDB"];
MongoCollection products = database.getCollection["Products"];
FindIterable result = products.find[];
result.forEach[doc -> System.out.println[doc.toJson[]]];
mongoClient.close[];
}
Kết quả
{"_id": {"$oid": "60e531755fd1c341d664b0fe"}, "name": "Electra Moto 1 - 2016", "year": 2016, "price": 529.99, "brand": "Electra", "category": "Cruisers Bicycles"}
{"_id": {"$oid": "60e531755fd1c341d664b117"}, "name": "Trek Farley Alloy Frameset - 2017", "year": 2017, "price": 469.99, "brand": "Trek", "category": "Mountain Bikes"}
{"_id": {"$oid": "60e531755fd1c341d664b0fa"}, "name": "Electra Townie Original 7D EQ - 2016", "year": 2016, "price": 599.99, "brand": "Electra", "category": "Comfort Bicycles"}
...
Hãy sử dụng bất kỳ ngôn ngữ lập trình nào mà bạn biết, kết nối với Cơ sở dữ liệu MongoDB trên Atlas, để hiển thị các Tài liệu trong bộ sưu tập Sản phẩm
Mã nguồn
Mã nguồnDữ liệu có thể truy cập từ ứng dụng MongoDB Compass
Nếu chưa có Compass, có thể tải về, sau đó sử dụng chuỗi kết nối gợi ý, chỉnh sửa mật khẩu chính và tên DB để truy cập
With Compass, enter on the connection to connect
Sau khi kết nối sẽ có thể làm việc với cơ sở dữ liệu trên Atlas. Thực hiện thử truy vấn và xem kết quả
MongoDB có bộ dữ liệu mẫu [https. // tài liệu. bản đồ. mongodb. com/sample-data/available-sample-datasets/] để phục vụ cho việc thực thi. Để tải dữ liệu mẫu, chọn Load Sample Dataset
Sau khi tải xuống, hãy kiểm tra lại dữ liệu mẫu bằng MongoDB Compass
Để nhập/xuất dữ liệu JSON và BSON, hãy sử dụng các câu lệnh
- mongodump. Export data to file BSON
- mongorestore. Nhập dữ liệu từ tệp BSON
- mongoexport. Export data to file JSON
- mongoimport. Nhập dữ liệu từ tệp JSON
Giả sử dữ liệu trên Atlas có URI là. mongodb+srv. //nguồn gốc. gốc@cụm0. lh5rj. mongodb. mạng/sample_training
Export data to file BSON
Use command
mongodump --uri mongodb+srv://root:root@cluster0.lh5rj.mongodb.net/sample_training
Dữ liệu sẽ được xuất ra các tập tin
companies.bson companies.metadata.json grades.bson grades.metadata.json inspections.bson inspections.metadata.json posts.bson posts.metadata.json routes.bson routes.metadata.json trips.bson trips.metadata.json zips.bson zips.metadata.json
Nhập dữ liệu từ tệp BSON
Giả sử dữ liệu được kết xuất bằng câu lệnh mongodump để ở thư mục
mongosh "mongodb+srv://cluster0.mp88b5c.mongodb.net/myFirstDatabase" --apiVersion 1 --username lampx2
dump/sample_training, muốn khôi phục dữ liệu này vào thư mục newDB, có thể thực hiện bằng cách đơn giản như sau
Bước 1. đổi tên thư mục sample_training thành newDB
Bước 2. run command
mongorestore --drop ~/Desktop/dump/
Khi đó toàn bộ dữ liệu trong thư mục kết xuất sẽ được khôi phục vào cơ sở dữ liệu
Export data to file JSON
Việc xuất dữ liệu ra tệp json chỉ có thể thực hiện trên từng bộ sưu tập. Ví dụ muốn công ty thu gom xuất khẩu
________số 8Nhập dữ liệu từ tệp JSON
To input data from file json to 1 collections, run command
mongoimport --uri="mongodb+srv://root:root@cluster0.lh5rj.mongodb.net/sample_training" --collection=companies1 --drop companies.json
Khi đó dữ liệu từ tập tin công ty. json sẽ được đưa vào collection Companies1 thuộc DB sample_training
Nếu nhập dữ liệu vào cơ sở dữ liệu cục bộ, bạn cũng có thể chạy lệnh trên, ví dụ
Tải tệp dữ liệu. https. //phương tiện truyền thông. mongodb. tổ chức/ổ khóa. json
Run command
mongosh "mongodb+srv://cluster0.mp88b5c.mongodb.net/myFirstDatabase" --apiVersion 1 --username lampx0
Kết quả
mongosh "mongodb+srv://cluster0.mp88b5c.mongodb.net/myFirstDatabase" --apiVersion 1 --username lampx0
Please snapshot DB on Local in that have đủ Mẫu DB
Ảnh chụp
Các tập tinTrình kích hoạt trong MongoDB tương tự như trong SQL, tính năng này cho phép chạy một số câu lệnh mỗi khi có sự thay đổi về mặt dữ liệu. Các câu lệnh này có thể được thực hiện trước hoặc sau khi dữ liệu bị thay đổi. Kích hoạt cũng có thể được thực hiện sau một khoảng thời gian
To add a trigger, select function Triggers
MongoDB Atlas cho phép tạo ra Restful API một cách dễ dàng. Để tạo API, hãy chọn chức năng API dữ liệu
Create API key
Tạo Khóa API sau đó chọn Nguồn dữ liệu, Cơ sở dữ liệu và Bộ sưu tập để có mã kiểm tra, tại đây có thể chọn ngôn ngữ lập trình để sinh mã gọi API