Giới thiệu về MongoDB
Khi xử lý dữ liệu, có hai loại dữ liệu như chúng ta biết - & nbsp; (i) dữ liệu có cấu trúc và & nbsp; (ii) Dữ liệu không có cấu trúc. Để quản lý các bộ dữ liệu không cấu trúc khổng lồ như dữ liệu nhật ký hoặc IoT, cơ sở dữ liệu NoQuery được sử dụng.
MongoDB là gì?
- MongoDB là một cơ sở dữ liệu NoQuery nguồn mở được viết bằng ngôn ngữ C ++. Nó sử dụng các tài liệu giống JSON với các lược đồ tùy chọn.
- Nó cung cấp khả năng mở rộng dễ dàng và là một cơ sở dữ liệu theo hướng đa nền tảng, hướng đến tài liệu.
- MongoDB hoạt động trên khái niệm thu thập và tài liệu.
- Nó kết hợp khả năng mở rộng quy mô với các tính năng như chỉ mục thứ cấp, truy vấn phạm vi, phân loại, tập hợp và chỉ mục không gian địa chỉ.
- MongoDB được phát triển bởi MongoDB Inc. và được cấp phép theo giấy phép công cộng phía máy chủ (SSPL).
Một số lợi thế của MongoDB như sau: Một tài liệu trong MongoDB là một tập hợp các khóa có giá trị liên quan. Nó được đại diện bởi một bản đồ, băm hoặc từ điển. Trong JavaScript, các tài liệu được biểu diễn dưới dạng đối tượng: ________ 5 Các tài liệu phức tạp sẽ chứa nhiều cặp khóa/giá trị: ________ 6 Một bộ sưu tập trong MongoDB là một nhóm các tài liệu. Nếu một tài liệu là tương tự MongoDB của một hàng trong cơ sở dữ liệu quan hệ, thì một bộ sưu tập có thể được coi là tương tự với bảng. . & nbsp; Ví dụ, cả hai tài liệu sau đây có thể được lưu trữ trong một bộ sưu tập duy nhất: Bộ sưu tập nhóm MongoDB vào cơ sở dữ liệu. MongoDB có thể lưu trữ một số cơ sở dữ liệu, mỗi nhóm nhóm lại với nhau. & Nbsp; một số tên cơ sở dữ liệu dành riêng như sau: adminlocalconfig Nó là một vỏ JavaScript cho phép tương tác với một thể hiện MongoDB từ dòng lệnh. Với điều đó, người ta có thể thực hiện các chức năng hành chính, kiểm tra một ví dụ hoặc khám phá MongoDB. & NBSP; Để bắt đầu shell, hãy chạy Mongo thực thi: Shell là một trình thông dịch JavaScript đầy đủ tính năng, có khả năng chạy các chương trình JavaScript tùy ý. Hãy cùng xem cách thức toán học cơ bản hoạt động trên này: Mô hình dữ liệu theo định hướng tài liệu của MongoDB giúp phân chia dữ liệu dễ dàng hơn trên nhiều máy chủ. Cân bằng và tải dữ liệu trên một cụm được thực hiện bởi MongoDB. Sau đó, nó tự động phân phối lại tài liệu. Các Mongos hoạt động như một bộ định tuyến truy vấn, cung cấp giao diện giữa các ứng dụng khách và cụm bị chia cắt. Cấu hình Máy chủ lưu trữ Siêu dữ liệu và cài đặt cấu hình cho cụm. MongoDB sử dụng các máy chủ cấu hình để quản lý các khóa phân tán. Mỗi cụm Sharded phải có máy chủ cấu hình riêng. Phương pháp cơ bản để thêm dữ liệu vào MongoDB là chèn chèn. Để chèn một tài liệu duy nhất, hãy sử dụng phương thức bộ sưu tập ____ ____ ____ của: Để chèn nhiều tài liệu vào một bộ sưu tập, chúng tôi sử dụng insertMany. Phương pháp này cho phép chuyển một mảng các tài liệu vào cơ sở dữ liệu. Khi một tài liệu được lưu trữ trong cơ sở dữ liệu, nó có thể được thay đổi bằng một trong một số phương thức cập nhật: Tham số thứ hai. $ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>3 cũng lấy bộ lọc làm tham số đầu tiên, nhưng vì tham số thứ hai $ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>3 mong đợi một tài liệu mà nó sẽ thay thế tài liệu khớp với bộ lọc. Ví dụ: để thay thế một tài liệu: API CRUD trong MongoDB cung cấp $ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>5 và $ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>6 cho mục đích này. Cả hai phương pháp này đều lấy một tài liệu bộ lọc làm tham số đầu tiên của chúng. Bộ lọc chỉ định một tập hợp các tiêu chí để phù hợp với việc loại bỏ các tài liệu. Ví dụ: ________ 17 Phương pháp $ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>8 được sử dụng để thực hiện các truy vấn trong MongoDB. Truy vấn trả về một tập hợp các tài liệu trong một bộ sưu tập, từ không có tài liệu nào cho toàn bộ bộ sưu tập. Những tài liệu nào được trả lại được xác định bởi đối số đầu tiên cho $ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>8, đây là một tài liệu chỉ định các tiêu chí truy vấn. Example:> x = 100;
200
> x / 5;
200 MongoDB hỗ trợ một loạt các loại dữ liệu là giá trị trong tài liệu. Các tài liệu trong MongoDB tương tự như các đối tượng trong JavaScript. Cùng với bản chất Key/giá trị thiết yếu của JSON, MongoDB bổ sung hỗ trợ cho một số loại dữ liệu bổ sung. Các loại dữ liệu phổ biến trong MongoDB là: Bạn nên sử dụng MongoDB khi bạn đang xây dựng các ứng dụng Internet và kinh doanh cần phát triển nhanh chóng và mở rộng một cách thanh lịch. MongoDB phổ biến với các nhà phát triển thuộc mọi loại đang xây dựng các ứng dụng có thể mở rộng bằng phương pháp Agile.MongoDB là một lựa chọn tuyệt vời nếu cần:1. Một số lợi thế của MongoDB là gì?
2. Tài liệu trong MongoDB là gì?
{"greeting" : "Hello world!"}
{"greeting" : "Hello world!", "views" : 3}3. Bộ sưu tập trong MongoDB là gì?
Documents within a single collection can have any number of different “shapes.”, i.e. collections have dynamic schemas.
For example, both of the following documents could be stored in a single collection:4. Cơ sở dữ liệu trong MongoDB là gì?
Some reserved database names are as follows:
admin
local
config5. Vỏ Mongo là gì?
6. Làm thế nào để mở rộng quy mô xảy ra trong MongoDB?
7. Một số tính năng của MongoDB là gì?
8. Làm thế nào để thêm dữ liệu trong MongoDB?
9. Làm thế nào để bạn cập nhật một tài liệu?
10. Làm thế nào để bạn xóa một tài liệu?
$ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>711. Làm thế nào để thực hiện các truy vấn trong MongoDB?
> x = 100;
200
> x / 5;
20012. Các loại dữ liệu trong MongoDB là gì?
> x = 100;
200
> x / 5;
201
> x = 100;
200
> x / 5;
202
> x = 100;
200
> x / 5;
203
> x = 100;
200
> x / 5;
204
> x = 100;
200
> x / 5;
205
> x = 100;
200
> x / 5;
206
> x = 100;
200
> x / 5;
207
> x = 100;
200
> x / 5;
208
> x = 100;
200
> x / 5;
209
Binary data is a string of arbitrary bytes.
> db.books.insertOne({"title" : "Start With Why"})013. Khi nào nên sử dụng MongoDB?
MongoDB is a great choice if
one needs to:
MongoDB Câu hỏi phỏng vấn nâng cao
19. Ý bạn là gì khi giao dịch?
Một giao dịch là một đơn vị xử lý hợp lý trong cơ sở dữ liệu bao gồm một hoặc nhiều hoạt động cơ sở dữ liệu, có thể được đọc hoặc ghi các hoạt động. Giao dịch cung cấp một tính năng hữu ích trong MongoDB để đảm bảo tính nhất quán.
MongoDB cung cấp hai API để sử dụng các giao dịch.
- API lõi: Đây là một cú pháp tương tự như cơ sở dữ liệu quan hệ (ví dụ: start_transaction và cam kết_transaction) It is a similar syntax to relational databases (e.g., start_transaction and commit_transaction)
- API gọi lại: Đây là cách tiếp cận được khuyến nghị sử dụng các giao dịch. Nó bắt đầu một giao dịch, thực hiện các hoạt động được chỉ định và cam kết (hoặc hủy bỏ lỗi). Nó cũng tự động kết hợp logic xử lý lỗi cho "transientTransactionError" và "UnknownTransactionCommitResult". This is the recommended approach to using transactions. It starts a transaction, executes the specified operations, and commits (or aborts on the error). It also automatically incorporates error handling logic for "TransientTransactionError" and"UnknownTransactionCommitResult".
20. Biểu đồ MongoDB là gì?
Biểu đồ MongoDB là một công cụ mới, tích hợp trong MongoDB để trực quan hóa dữ liệu.
Biểu đồ MongoDB cung cấp cách tốt nhất để tạo trực quan hóa bằng cách sử dụng dữ liệu từ cơ sở dữ liệu MongoDB. Nó cho phép người dùng thực hiện biểu diễn dữ liệu nhanh từ cơ sở dữ liệu mà không cần ghi mã bằng ngôn ngữ lập trình như Java hoặc Python.
It allows users to perform quick data representation from a database without writing code in a programming language such as Java or Python.
Hai triển khai khác nhau của biểu đồ MongoDB là:
- Biểu đồ MongoDB PaaS (nền tảng như một dịch vụ)
- Máy chủ biểu đồ MongoDB
21. Khung tổng hợp trong MongoDB là gì?
- Khung tổng hợp là một tập hợp các công cụ phân tích trong MongoDB cho phép bạn thực hiện phân tích trên các tài liệu trong một hoặc nhiều bộ sưu tập.
- Khung tổng hợp dựa trên khái niệm đường ống. Với một đường ống tổng hợp, chúng tôi lấy đầu vào từ một bộ sưu tập MongoDB và chuyển các tài liệu từ bộ sưu tập đó qua một hoặc nhiều giai đoạn, mỗi giai đoạn thực hiện một hoạt động khác nhau trên các đầu vào của nó (xem hình bên dưới). Mỗi giai đoạn lấy làm đầu vào bất kể giai đoạn trước khi nó tạo ra dưới dạng đầu ra. Các đầu vào và đầu ra cho tất cả các giai đoạn là tài liệu Một luồng tài liệu.
22. Giải thích khái niệm đường ống trong khung tập hợp MongoDB.
Một giai đoạn riêng lẻ của một đường ống tổng hợp là một đơn vị xử lý dữ liệu. Nó có một luồng tài liệu đầu vào cùng một lúc, xử lý từng tài liệu một và tạo một luồng tài liệu đầu ra một lần (xem hình bên dưới).
23. Một bản sao được đặt trong MongoDB là gì?
Để giữ các bản sao giống hệt nhau của dữ liệu của bạn trên nhiều máy chủ, chúng tôi sử dụng sao chép. Nó được khuyến nghị cho tất cả các triển khai sản xuất. Sử dụng sao chép để giữ cho ứng dụng của bạn chạy và dữ liệu của bạn an toàn, ngay cả khi có điều gì đó xảy ra với một hoặc nhiều máy chủ của bạn.
Sự sao chép như vậy có thể được tạo bởi một bộ bản sao với MongoDB. Một bộ bản sao là một nhóm các máy chủ có một chính, máy chủ đang ghi và nhiều máy chủ, nhiều máy chủ giữ các bản sao của dữ liệu chính. Nếu các vụ tai nạn chính, các trường thứ hai có thể chọn một chính mới giữa chính họ.
24. Giải thích kiến trúc sao chép trong MongoDB.
Sơ đồ sau đây mô tả sơ đồ kiến trúc của cụm tập bản sao đơn giản chỉ có ba nút máy chủ - một nút chính và hai nút phụ:
- Trong mô hình trước, cơ sở dữ liệu chính là thành viên tập hợp bản sao hoạt động duy nhất nhận được hoạt động ghi từ các máy khách cơ sở dữ liệu. Cơ sở dữ liệu chính lưu các thay đổi dữ liệu trong oplog. Các thay đổi được lưu trong oplog là tuần tự, đó là, được lưu theo thứ tự mà chúng được nhận và thực thi. & NBSP;
- Cơ sở dữ liệu thứ cấp đang truy vấn cơ sở dữ liệu chính cho các thay đổi mới trong oplog. Nếu có bất kỳ thay đổi nào, thì các mục oplog được sao chép từ chính sang phụ ngay khi chúng được tạo trên nút chính.
- Sau đó, cơ sở dữ liệu thứ cấp áp dụng các thay đổi từ oplog sang các data của chính nó. Các mục oplog được áp dụng theo cùng một thứ tự chúng được chèn vào nhật ký. Do đó, DataFiles trên thứ cấp được giữ đồng bộ với các thay đổi trên chính. & NBSP;
- Thông thường, cơ sở dữ liệu thứ cấp sao chép dữ liệu thay đổi trực tiếp từ chính. Đôi khi một cơ sở dữ liệu thứ cấp có thể sao chép dữ liệu từ một thứ cấp khác. Loại sao chép này được gọi là sao chép chuỗi vì đây là quá trình sao chép hai bước. Sao chép chuỗi rất hữu ích trong các cấu trúc liên kết sao chép nhất định và nó được kích hoạt theo mặc định trong MongoDB.
25. Một số tiện ích để sao lưu và khôi phục trong MongoDB là gì?
Shell Mongo không bao gồm các chức năng xuất, nhập, sao lưu hoặc khôi phục. Tuy nhiên, MongoDB đã tạo ra các phương pháp để thực hiện điều này, do đó không cần công việc kịch bản hoặc GUI phức tạp. Đối với điều này, một số tập lệnh tiện ích được cung cấp có thể được sử dụng để lấy dữ liệu trong hoặc ra khỏi cơ sở dữ liệu với số lượng lớn. Các tập lệnh tiện ích này là:
- Mongoimport
- MongoExport
- MongoDump
- MongoRestore
Sự kết luận
26. Kết luận
MongoDB là một cơ sở dữ liệu đa năng mạnh mẽ, linh hoạt và có thể mở rộng. Nó kết hợp khả năng mở rộng quy mô với các tính năng như chỉ mục thứ cấp, truy vấn phạm vi, phân loại, tập hợp và chỉ mục không gian địa chỉ. Vì vậy, kết luận, MongoDB là:
Thus, in conclusion, MongoDB is:
- Hỗ trợ lập chỉ mục
- Được thiết kế để mở rộng quy mô
- Phong phú với các tính năng
- Hiệu suất cao
- Cân bằng tải
- Hỗ trợ Sharding
Mặc dù MongoDB rất mạnh mẽ, kết hợp nhiều tính năng từ các hệ thống quan hệ, nhưng nó không nhằm mục đích làm mọi thứ mà một cơ sở dữ liệu quan hệ làm. Đối với một số chức năng, máy chủ cơ sở dữ liệu giảm tải xử lý và logic cho phía máy khách (được xử lý bởi các trình điều khiển hoặc bằng mã ứng dụng của người dùng). Việc duy trì thiết kế hợp lý này là một trong những lý do MongoDB có thể đạt được hiệu suất cao như vậy.
Dưới đây là một số tài liệu tham khảo để hiểu về MongoDB chuyên sâu:
- //www.mongodb.com/2
- //docs.mongodb.com
Hướng dẫn được đề xuất:
- Câu hỏi phỏng vấn SQL
- Câu hỏi phỏng vấn máy chủ SQL
- Câu hỏi phỏng vấn MySQL
- Câu hỏi phỏng vấn DBMS
- Câu hỏi phỏng vấn kiểm tra cơ sở dữ liệu
- MongoDB vs MySQL
- MongoDB Cheat Sheet
MongoDB MCQ
đọc
đọc viết
Dbowner
viết
Cập nhật
Tạo ra
Xóa bỏ
Viết
Sharding đề cập đến quá trình chia dữ liệu trên các máy.
Lần lượt Sharding đòi hỏi các máy lớn hơn và mạnh hơn
Sharding thủ công có thể được thực hiện với hầu hết mọi phần mềm cơ sở dữ liệu.
Sharding là cách phức tạp nhất để cấu hình MongoDB
JavaScript
C
C ++
Tất cả những gì được đề cập
Bản sao
Sumcalculation
Tổng hợp
Không có điều nào ở trên
Phương pháp
bộ lọc
thủ tục lưu trữ
không có điều nào ở trên
những cái bàn
bộ sưu tập
hàng
Tất cả những điều trên
Băm
Bản đồ
B-cây
Tất cả những điều trên
Hợp chất
tổng hợp
ứng viên
không có điều nào ở trên
những cái bàn
bộ sưu tập
hàng
Tất cả những điều trên
Băm
Bản đồ
B-cây
Tất cả những điều trên
Băm
Bản đồ
B-cây
Tất cả những điều trên