A. Câu Hỏi Cơ Bản Về MongoDB
-
MongoDB là gì?
MongoDB là một cơ sở dữ liệu NoSQL mã nguồn mở, hướng tài liệu, lưu trữ dữ liệu linh hoạt dưới dạng tài liệu JSON. Nó được thiết kế với hiệu suất cao, tính sẵn sàng cao và khả năng mở rộng dễ dàng. -
Những tính năng nổi bật của MongoDB?
MongoDB sở hữu nhiều tính năng chính như sự linh hoạt của schema, tính sẵn sàng cao nhờ vào replication, sharding tự động cho việc mở rộng, hỗ trợ các truy vấn địa lý, framework tổng hợp (aggregation framework) và tích hợp MapReduce. -
Cơ sở dữ liệu NoSQL là gì?
Cơ sở dữ liệu NoSQL là những hệ thống không quan hệ, được thiết kế để xử lý khối lượng lớn dữ liệu không có cấu trúc hoặc bán cấu trúc, mang đến khả năng mở rộng và linh hoạt hơn so với cơ sở dữ liệu SQL truyền thống. -
Tài liệu (document) trong MongoDB là gì?
Document là đơn vị cơ bản của dữ liệu trong MongoDB, tương tự như hàng trong cơ sở dữ liệu quan hệ, có cấu trúc giống JSON với các cặp key-value, cho phép lồng ghép các mảng và đối tượng. -
Collection trong MongoDB là gì?
Collection là nhóm các document trong MongoDB, giống như bảng trong cơ sở dữ liệu quan hệ, không áp đặt schema, cho phép cấu trúc tài liệu khác nhau. -
Database trong MongoDB là gì?
Database trong MongoDB là một container chứa các collection. Một server MongoDB có thể chứa nhiều database và mỗi database sẽ có các collection lưu trữ document. -
mongod là gì?
mongod là tiến trình daemon chính trong MongoDB, chịu trách nhiệm xử lý các yêu cầu và quản lý dữ liệu. -
mongo là gì?
mongo là một shell dòng lệnh kết nối với instance MongoDB, cho phép người dùng thực hiện truy vấn và lệnh trên cơ sở dữ liệu. -
BSON là gì?
BSON (Binary JSON) là định dạng nhị phân được MongoDB sử dụng để lưu trữ document, mở rộng JSON với các loại dữ liệu như Date và NumberLong. -
Replica set trong MongoDB là gì?
Replica set là nhóm các server trong MongoDB giữ cùng một tập dữ liệu, đảm bảo tính dư thừa và sẵn sàng với một node primary và nhiều node secondary. -
Sharding trong MongoDB là gì?
Sharding là quá trình phân phối dữ liệu trên nhiều server, cho phép xử lý tập dữ liệu lớn và thực hiện các thao tác throughput cao. -
Index trong MongoDB là gì?
Index là cấu trúc dữ liệu đặc biệt giúp tìm kiếm nhanh hơn trong các collection, hỗ trợ truy vấn hiệu quả. -
Các loại index trong MongoDB bao gồm những gì?
- Single field index: Index trên một trường.
- Compound index: Index trên nhiều trường.
- Multikey index: Index cho các trường chứa mảng.
- Text index: Index cho tìm kiếm văn bản.
- Geospatial index: Index cho các truy vấn vị trí.
-
Aggregation trong MongoDB là gì?
Aggregation là quá trình xử lý dữ liệu để tính toán và biến đổi thông qua các toán tử như $match, $group, $sort và $project. -
Khác biệt giữa find() và findOne() trong MongoDB?
find() trả về tất cả các document khớp truy vấn, trong khi findOne() chỉ trả về document đầu tiên.
B. Câu Hỏi Trung Cấp Về MongoDB
-
Mục đích của ObjectId trong MongoDB?
ObjectId là định danh duy nhất cho mỗi document trong collection, gồm timestamp, định danh máy, ID tiến trình và bộ đếm để đảm bảo tính duy nhất. -
Replication hoạt động thế nào trong MongoDB?
Replication sao chép dữ liệu từ node primary sang node secondary, đảm bảo failover tự động để nâng cấp node secondary thành primary. -
Aggregation pipeline là gì?
Aggregation pipeline là framework giúp tổng hợp dữ liệu qua chuỗi các giai đoạn xử lý như lọc, nhóm, biến đổi. -
mapReduce trong MongoDB là gì?
mapReduce là mô hình dùng để thực hiện tổng hợp dữ liệu phức tạp với các hàm map và reduce. -
$lookup trong MongoDB là gì?
$lookup là giai đoạn trong aggregation cho phép thực hiện join giữa các collection khác trong cùng cơ sở dữ liệu. -
Capped collection là gì?
Capped collection là một collection có kích thước cố định, tự động ghi đè document cũ nhất khi đạt giới hạn kích thước, phù hợp cho log hoặc caching. -
oplog trong MongoDB là gì?
oplog là collection đặc biệt lưu lại các thao tác sửa đổi trong replica set, hỗ trợ replication giữa primary và secondary. -
db.stats() trong MongoDB là gì?
db.stats() trả về thống kê về cơ sở dữ liệu bao gồm kích thước lưu trữ và số lượng collection. -
Shard key là gì?
Shard key là trường hoặc nhiều trường dùng để phân phối document trên các shard trong cluster MongoDB. -
MongoDB xử lý concurrency thế nào?
MongoDB sử dụng khóa đa hạt, bao gồm khóa toàn cục, database và collection, hỗ trợ concurrency lạc quan.
C. Câu Hỏi Nâng Cao Về MongoDB
-
Khác biệt giữa mô hình dữ liệu Embedded và Referenced?
- Embedded: Lưu trữ dữ liệu liên quan trong một document nhằm cải thiện hiệu suất.
- Referenced: Lưu trữ quan hệ giữa các document trong các collection khác nhau nhằm giảm thiểu trùng lặp.
-
Write concern trong MongoDB là gì?
Write concern xác định mức độ xác nhận yêu cầu từ MongoDB khi ghi dữ liệu. -
Schema design trong MongoDB là gì?
Schema design liên quan đến việc tổ chức dữ liệu thành các collection và document để tối ưu truy vấn và cập nhật. -
Tạo backup trong MongoDB như thế nào?
Backup có thể được tạo bằng lệnh mongodump và mongorestore hoặc sử dụng snapshot hệ thống. -
Tối ưu hóa truy vấn trong MongoDB như thế nào?
Các kỹ thuật tối ưu hóa bao gồm tạo index phù hợp, sử dụng projection, phân tích kế hoạch truy vấn và tối ưu hóa schema.
Khám phá thêm về MongoDB Commands và RESTful API với MongoDB để mở rộng kiến thức và thực hành hiệu quả hơn trong công việc quản lý dữ liệu.
source: viblo