Hướng dẫn why we use mongodb instead of mysql interview questions? - tại sao chúng tôi sử dụng mongodb thay vì các câu hỏi phỏng vấn mysql?

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).

1. Một số lợi thế của MongoDB là gì?

Một số lợi thế của MongoDB như sau:

  • MongoDB hỗ trợ các truy vấn loại khớp mẫu dựa trên chuỗi, dựa trên phạm vi. để tìm kiếm dữ liệu trong cơ sở dữ liệu & nbsp;
  • MongoDB hỗ trợ chỉ số chính và phụ trên bất kỳ trường nào
  • MongoDB về cơ bản sử dụng các đối tượng JavaScript thay cho các thủ tục
  • MongoDB sử dụng lược đồ cơ sở dữ liệu động
  • MongoDB rất dễ mở rộng hoặc giảm
  • MongoDB có hỗ trợ sẵn có cho phân vùng dữ liệu (Sharding).

2. Tài liệu trong MongoDB là gì?

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
{"greeting" : "Hello world!"}

Các tài liệu phức tạp sẽ chứa nhiều cặp khóa/giá trị: ________ 6
{"greeting" : "Hello world!", "views" : 3}

3. Bộ sưu tập trong MongoDB là gì?

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:
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:

{"greeting" : "Hello world!", "views": 3}
{"signoff": "Good bye"}

4. Cơ sở dữ liệu trong MongoDB là gì?

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
Some reserved database names are as follows:
admin
local
config

5. Vỏ Mongo là gì?

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:

$ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>

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:

> x = 100;
200
> x / 5;
20

6. Làm thế nào để mở rộng quy mô xảy ra trong MongoDB?

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.

Hướng dẫn why we use mongodb instead of mysql interview questions? - tại sao chúng tôi sử dụng mongodb thay vì các câu hỏi phỏng vấn mysql?

7. Một số tính năng của MongoDB là gì?

  • Lập chỉ mục: Nó hỗ trợ các chỉ mục thứ cấp chung và cung cấp các khả năng lập chỉ mục độc đáo, hợp chất, không gian địa lý và toàn văn. It supports generic secondary indexes and provides unique, compound, geospatial, and full-text indexing capabilities as well.
  • Tập hợp: Nó cung cấp một khung tổng hợp dựa trên khái niệm các đường ống xử lý dữ liệu. It provides an aggregation framework based on the concept of data processing pipelines.
  • Các loại bộ sưu tập và chỉ mục đặc biệt: Nó hỗ trợ các bộ sưu tập thời gian sống (TTL) cho dữ liệu sẽ hết hạn vào một thời điểm nhất định It supports time-to-live (TTL) collections for data that should expire at a certain time
  • Lưu trữ tệp: Nó hỗ trợ một giao thức dễ sử dụng để lưu trữ các tệp lớn và siêu dữ liệu tệp. It supports an easy-to-use protocol for storing large files and file metadata.
  • Sharding: Sharding là quá trình chia dữ liệu trên các máy. Sharding is the process of splitting data up across machines.

8. Làm thế nào để thêm dữ liệu trong MongoDB?

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:

> db.books.insertOne({"title" : "Start With Why"})

Để 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.

9. Làm thế nào để bạn cập nhật một tài 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:

{
   "_id" : ObjectId("4b2b9f67a1f631733d917a7a"),
   "name" : "alice",
   "friends" : 24,
   "enemies" : 2
}

10. Làm thế nào để bạn xóa 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

$ mongod
$ mongo
MongoDB shell version: 4.2.0
connecting to: test
>
7

11. Làm thế nào để thực hiện các truy vấn trong MongoDB?

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;
20
0
> x = 100;
200
> x / 5;
20
0

12. Các loại dữ liệu trong MongoDB là gì?

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à:

  • Null
    > x = 100;
    200
    > x / 5;
    20
    1
    > x = 100;
    200
    > x / 5;
    20
    1
  • Boolean
    > x = 100;
    200
    > x / 5;
    20
    2
    > x = 100;
    200
    > x / 5;
    20
    2
  • Number
    > x = 100;
    200
    > x / 5;
    20
    3
    > x = 100;
    200
    > x / 5;
    20
    3
  • String
    > x = 100;
    200
    > x / 5;
    20
    4
    > x = 100;
    200
    > x / 5;
    20
    4
  • Date
    > x = 100;
    200
    > x / 5;
    20
    5
    > x = 100;
    200
    > x / 5;
    20
    5
  • Biểu hiện chính quy ____26
    > x = 100;
    200
    > x / 5;
    20
    6
  • Array
    > x = 100;
    200
    > x / 5;
    20
    7
    > x = 100;
    200
    > x / 5;
    20
    7
  • Tài liệu nhúng ____28
    > x = 100;
    200
    > x / 5;
    20
    8
  • Đối tượng id
    > x = 100;
    200
    > x / 5;
    20
    9
    > x = 100;
    200
    > x / 5;
    20
    9
  • Dữ liệu dữ liệu nhị phân là một chuỗi các byte tùy ý.
    Binary data is a string of arbitrary bytes.
  • Code
    > db.books.insertOne({"title" : "Start With Why"})
    0
    > db.books.insertOne({"title" : "Start With Why"})
    0

13. Khi nào nên sử dụng MongoDB?

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:
MongoDB is a great choice if one needs to:

  • Hỗ trợ phát triển lặp lại nhanh chóng.
  • Tỷ lệ đến mức độ cao của lưu lượng đọc và ghi - MongoDB hỗ trợ tỷ lệ ngang thông qua việc chia nhỏ, phân phối dữ liệu trên một số máy và tạo điều kiện cho các hoạt động thông lượng cao với các bộ dữ liệu lớn.
  • Quy mô kho lưu trữ dữ liệu của bạn đến một kích thước lớn.
  • Phát triển loại triển khai khi kinh doanh thay đổi.
  • Lưu trữ, quản lý và tìm kiếm dữ liệu với kích thước văn bản, không gian địa lý hoặc chuỗi thời gian.

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.
Hướng dẫn why we use mongodb instead of mysql interview questions? - tại sao chúng tôi sử dụng mongodb thay vì các câu hỏi phỏng vấn mysql?

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).

Hướng dẫn why we use mongodb instead of mysql interview questions? - tại sao chúng tôi sử dụng mongodb thay vì các câu hỏi phỏng vấn mysql?

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ụ:

Hướng dẫn why we use mongodb instead of mysql interview questions? - tại sao chúng tôi sử dụng mongodb thay vì các câu hỏi phỏng vấn mysql?
  • 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:

  • https://www.mongodb.com/2
  • https://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

Tại sao chúng ta sử dụng MongoDB thay vì MySQL?

Tại sao sử dụng MongoDB tốt hơn là sử dụng MySQL? Các tổ chức thuộc mọi quy mô đang áp dụng MongoDB, đặc biệt là cơ sở dữ liệu đám mây, bởi vì nó cho phép họ xây dựng các ứng dụng nhanh hơn, xử lý các loại dữ liệu rất đa dạng và quản lý các ứng dụng hiệu quả hơn ở quy mô.it enables them to build applications faster, handle highly diverse data types, and manage applications more efficiently at scale.

Tại sao chúng ta đi cho MongoDB chứ không phải SQL?

Bản chất động của lược đồ MongoDB là hữu ích vì hầu hết các dữ liệu đang được tạo bởi các ứng dụng Internet và các thiết bị IoT không có cấu trúc mà không thể lưu trong cơ sở dữ liệu SQL truyền thống. Ngoài ra, nhiều công ty sẽ lưu trữ dữ liệu trước khi họ biết nó sẽ được sử dụng như thế nào sau này.

Tại sao MongoDB rất được khuyến khích so với cơ sở dữ liệu SQL?

MongoDB được xây dựng trên một kiến trúc mở rộng đã trở nên phổ biến với các nhà phát triển các loại để phát triển các ứng dụng có thể mở rộng với các lược đồ dữ liệu phát triển.Là một cơ sở dữ liệu tài liệu, MongoDB giúp các nhà phát triển dễ dàng lưu trữ dữ liệu có cấu trúc hoặc không cấu trúc.Nó sử dụng định dạng giống JSON để lưu trữ tài liệu.MongoDB makes it easy for developers to store structured or unstructured data. It uses a JSON-like format to store documents.

Sự khác biệt giữa MongoDB so với MySQL là gì?

MongoDB là một hệ thống quản lý cơ sở dữ liệu phi quan hệ dựa trên tài liệu.Nó cũng được gọi là một hệ thống dựa trên đối tượng.Nó được thiết kế để thay thế cấu trúc MySQL như một cách dễ dàng hơn để làm việc với dữ liệu.Mặt khác, MySQL là một hệ thống dựa trên bảng (hoặc cơ sở dữ liệu quan hệ nguồn mở).