MongoDB là gì?

Tổng quat

Với sự gia tăng dữ liệu trên toàn thế giới, cơ sở dữ liệu phi quan hệ, còn được gọi là “NoSQL” đang được chú ý nhiều hơn. Các doanh nghiệp và tổ chức đang tìm kiếm những cách thức mới để quản lý lượng dữ liệu tràn ngập, tìm kiếm các công cụ và hệ thống quản lý cơ sở dữ liệu thay thế khác với hệ thống cơ sở dữ liệu quan hệ truyền thống. Ví dụ điển hình là MongoDb.

MongoDb là gì?

Theo định nghĩa, MongoDB là một cơ sở dữ liệu nguồn mở sử dụng mô hình dữ liệu hướng tài liệu và ngôn ngữ truy vấn phi cấu trúc. Đây là một trong những hệ thống và cơ sở dữ liệu NoSQL mạnh nhất hiện nay.

Là một công cụ NoSQL có nghĩa là nó không sử dụng các hàng và cột thông thường mà chúng ta sử dụng để liên kết quản lý cơ sở dữ liệu quan hệ. Nó là một kiến ​​trúc được xây dựng trên các bộ sưu tập và tài liệu. Đơn vị dữ liệu cơ bản trong cơ sở dữ liệu này bao gồm một tập hợp các cặp Key-giá trị. Nó cho phép các tài liệu có các trường và cấu trúc khác nhau. Cơ sở dữ liệu này sử dụng định dạng lưu trữ tài liệu được gọi là BSON, là loại nhị phân của tài liệu kiểu JSON. Mô hình dữ liệu MongoDB là một mô hình có khả năng phục hồi cao cho phép bạn kết hợp và lưu trữ dữ liệu thuộc các loại đa biến mà không ảnh hưởng đến các quy tắc xác thực, truy cập dữ liệu và lập chỉ mục mạnh mẽ. Không có thời gian chết khi bạn muốn sửa đổi động các lược đồ. Điều này rất có ý nghĩa, bạn sẽ có nhiều thời gian tập trung làm việc hơn là dành thời gian chỉ việc chuẩn bị dữ liệu cho cơ sở dữ liệu.

Kiến trúc cơ sở dữ liệu của NoSQL MongoDB

Cơ sở dữ liệu: Nói một cách đơn giản, nó có thể được coi là vật lý chứa dữ liệu. Mỗi cơ sở dữ liệu có một bộ File riêng trên hệ thống File với nhiều cơ sở dữ liệu có sẵn trên một máy chủ MongoDB duy nhất.

Bộ sưu tập: Một nhóm các tài liệu cơ sở dữ liệu có thể được gọi là một tập hợp. RDBMS tương đương với một tập hợp một bảng. Toàn bộ bộ sưu tập tồn tại trong một cơ sở dữ liệu duy nhất. Không có lược đồ khi nói đến bộ sưu tập. Trong một tập hợp, các tài liệu khác nhau có thể có các trường khác nhau, nhưng hầu hết các tài liệu trong một tập hợp đều có cùng mục đích hoặc phục vụ cùng một mục tiêu.

Mình nghĩ bạn cần xem =>  Giải ngố về công nghệ 5G - thứ mà các nhà mạng trên thế giới đang đua nhau phát triển

Tài liệu: Một tập hợp các cặp Key – giá trị có thể được chỉ định dưới dạng tài liệu. Tài liệu được liên kết với các lược đồ động. Ưu điểm của lược đồ động là các tài liệu trong một tập hợp không nhất thiết phải có cấu trúc hoặc các trường giống nhau. Ngoài ra, các trường phổ biến trong tài liệu của bộ sưu tập có thể có nhiều loại dữ liệu khác nhau.

MongoDB khác với RDBMS như thế nào?

Chúng ta có thể so sánh trực tiếp NoSQL MongoDB với RDBMS và so sánh các thuật ngữ khác nhau trong hai hệ thống:

Bảng RDBMS là một tập hợp MongoDB, cột là trường, tuple / hàng là tài liệu và bảng nối là tài liệu được nhúng. Lược đồ điển hình của cơ sở dữ liệu quan hệ hiển thị số lượng bảng và mối quan hệ giữa chúng, nhưng MongoDB không tuân theo khái niệm mối quan hệ.

Hãy xem 9 so sánh khác nhau dưới đây để hiểu chính xác cơ sở dữ liệu NoSQL chuyên nghiệp như MongoDB khác với RDBMS như thế nào.

MongoDB

RDBMS

Định hướng tài liệu và cơ sở dữ liệu phi quan hệ

Cơ sở dữ liệu quan hệ

Dựa trên tài liệu

Dựa trên mặt hàng

Dựa trên trường học

Dựa trên cột

Dựa trên Bộ sưu tập và các cặp Key-giá trị

Dựa trên bảng

Cung cấp ứng dụng khách Javascript cho truy vấn

Không cung cấp Javascript cho các truy vấn

Tương đối dễ cài đặt

Tương đối không dễ thiết lập

Nó không bị ảnh hưởng bởi SQL injection

Nó khá dễ bị tấn công bởi SQL injection

Lý tưởng để lưu trữ dữ liệu phi tập trung

Không tốt cho việc lưu trữ dữ liệu phân cấp

Có lược đồ động

Chứa lược đồ xác định trước

Nhanh hơn 100 lần

Quy mô dọc của RAM

Nó có thể mở rộng theo chiều ngang thông qua sharding

Quy mô dọc của RAM

Các tính năng quan trọng của MongoDB

Truy vấn: Hỗ trợ truy vấn đặc biệt và truy vấn dựa trên tài liệu.

Hỗ trợ chỉ mục: Bất kỳ trường nào trong tài liệu đều có thể được lập chỉ mục

Nhân rộng: Nó hỗ trợ sao chép Master nô lệ. MongoDB sử dụng ứng dụng gốc để duy trì nhiều bản sao dữ liệu. Ngăn chặn thời gian chết của cơ sở dữ liệu là một trong những tính năng của bộ sao chép vì nó có các mảnh tự phục hồi.

Nhiều máy chủ: Cơ sở dữ liệu có thể chạy trên nhiều máy chủ. Dữ liệu được sao chép để đánh lừa hệ thống trong trường hợp lỗi phần cứng.

Tự động làm sắc nét: Quá trình phân phối dữ liệu trên nhiều phân vùng vật lý này được gọi là sharding do tính năng Sharding MongoDB với khả năng cân bằng tải tự động.

MapReduce: Hỗ trợ MapReduce và các công cụ tổng hợp linh hoạt.

Xử lý lỗi: Trong MongoDb, bạn rất dễ quản lý trong trường hợp hỏng hóc. Số lượng bản sao khổng lồ làm tăng khả năng bảo vệ và tính sẵn sàng của dữ liệu trong thời gian ngừng hoạt động của cơ sở dữ liệu như lỗi rack, lỗi máy, lỗi trung tâm dữ liệu, thậm chí cả phân vùng mạng.

Mình nghĩ bạn cần xem =>  MMO là gì? Tìm hiểu ngay về MMO hôm nay nhé

GridFS: Có thể lưu trữ bất kỳ kích thước File nào, mà không làm phức tạp ngăn xếp. Tính năng GridFS chia File thành các phần nhỏ hơn và lưu trữ chúng dưới dạng tài liệu riêng biệt.

Vô tỉ: Đây là lược đồ nhỏ được viết bằng C ++.

Lưu trữ hướng tài liệu (Lưu trữ định hướng tài liệu): Nó sử dụng định dạng BSON, định dạng giống như JSON.

Thủ tục: Sự kết hợp của MongoDB JavaScript hoạt động tốt khi cơ sở dữ liệu sử dụng ngôn ngữ thay vì các thủ tục.

Tại sao chúng ta cần công nghệ MongoDB?

Công nghệ này khắc phục được một trong những điểm yếu lớn nhất của các hệ thống cơ sở dữ liệu truyền thống, đó là khả năng mở rộng. Với nhu cầu ngày càng tăng của các doanh nghiệp, hệ thống cơ sở dữ liệu của họ cũng cần được nâng cấp. MongoDb có khả năng mở rộng đặc biệt giúp truy xuất dữ liệu dễ dàng và cung cấp khả năng tích hợp tự động và liền mạch. Đây là những lý do tại sao chúng ta cần MongoDb:

– Không có thời gian chết trong khi ứng dụng đang mở rộng.

– Thực hiện trong xử lý bộ nhớ

– Tìm kiếm văn bản

– Xử lý đồ thị

Nhân rộng toàn cầu

– MongoDb tiết kiệm

Hơn nữa, các doanh nghiệp ngày càng nhận thấy rằng MongoDB có thể đáp ứng hầu hết các yêu cầu kinh doanh của họ, như sau:

– MongoDB cung cấp sự kết hợp hiệu quả giữa công nghệ và dữ liệu để tăng lợi thế cạnh tranh.

Nó phù hợp nhất cho các ứng dụng quan trọng vì nó làm giảm đáng kể rủi ro có thể xảy ra.

Nó tăng giá trị theo thời gian và giảm tổng chi phí sở hữu. Cơ sở dữ liệu quan hệ.

Nó xây dựng các ứng dụng mà cơ sở dữ liệu quan hệ truyền thống không thể thực hiện được.

Ưu điểm của MongoDB

Dưới đây là những đặc điểm khiến MongoDB trở thành một trong những cơ sở dữ liệu NoSQL tốt nhất:

Nền tảng dữ liệu phân tán

– Phát triển nhanh, lặp lại

– Mô hình dữ liệu linh hoạt

– Giảm TCO (tổng chi phí sở hữu)

– Bộ tính năng tích hợp

– Cam kết lâu dài

Ai là đối tượng thích hợp để tìm hiểu công nghệ MongoDB?

Nhà phát triển phần mềm, kiến ​​trúc sư và quản trị viên

Chuyên gia cơ sở dữ liệu và nhà phân tích

Quản trị hệ thống, chuyên gia nghiên cứu

Bạn có thể sử dụng cơ sở dữ liệu NoSQL MongoDB ở đâu?

Cơ sở dữ liệu NoSQL MongoDB có thể được sử dụng rộng rãi cho các ứng dụng Big Data và Hadoop, hoạt động với lượng dữ liệu NoSQL khổng lồ – phần chính của Big Data.

MongoDB có thể được triển khai thành công cho các phương tiện truyền thông xã hội và các ứng dụng di động trong việc phân tích tất cả dữ liệu trực tuyến ở định dạng không có cấu trúc.

Cơ sở dữ liệu MongoDB NoSQL cũng được ứng dụng trong quản lý và phân phối nội dung, quản lý dữ liệu người dùng và hoạt động độc quyền trong các trung tâm dữ liệu.

Mình nghĩ bạn cần xem =>  Những điều bạn chưa biết về Cookie và Session

Các lệnh cơ bản trong MongoDB

1. Kết nối với MongoDB

Tương tự, khi sử dụng sql, bạn phải kết nối với cơ sở dữ liệu, mongodb cũng vậy:

Lệnh này khởi tạo kết nối đến server nơi cài đặt mongodb, mặc định nếu không có tham số thì sẽ là localhost với port = 27017.

Tiếp theo là lệnh chọn cơ sở dữ liệu

Tiếp theo chọn tập hợp (tập hợp tương tự như chọn một bảng trong cơ sở dữ liệu quan hệ sql):

Vậy là kết nối xong, để hiểu rõ hơn về quá trình này, bạn có thể truy cập trực tiếp vào trang chủ php.net theo đường dẫn: http://www.php.net/manual/vi/mayo.connecting.php

2. Lệnh chèn

Lệnh dùng để thêm dữ liệu mới vào bộ sưu tập tương tự như lệnh chèn trong sql

Ví dụ: thêm bản ghi người dùng vào tập hợp người dùng được kết nối ở trên:

3. Lệnh cập nhật

Khi muốn thay đổi thông tin của một bản ghi, bạn có thể sử dụng lệnh update, tương tự như lệnh update trong sql

Ví dụ: thay đổi tuổi của người dùng có tên người dùng là google:

4. Tìm lệnh

Được sử dụng để truy vấn bộ sưu tập để lấy các bản ghi cần thiết.

Ví dụ: lấy thông tin người dùng với tên người dùng ‘google’

Kết quả sẽ là:

Theo Rapidsharefiles tổng hợp

>> Có thể bạn quan tâm: SQL so với NoSQL – lựa chọn nào tốt nhất cho cơ sở dữ liệu đám mây?

✤ Top 20 bài viết Tổng Hợp mới nhất :

Xem thêm nhiều Tổng Hợp mới hay

Leave A Reply

Your email address will not be published.