Cơ sở dữ liệu MongoDB là cơ sở dữ liệu phi quan hệ được nhiều người sử dụng quan tâm hiện nay. Qua nội dung sau đây sẽ bổ sung thêm nhiều thông tin đến độc giả, cùng xem xét thêm nhé. Show
Mục Lục Cơ sở dữ liệu MongoDB là gì?Cơ sở dữ liệu MongoDB là gì?MongoDB là một cơ sở dữ liệu NoSQL, một dạng database hướng tài liệu. Chúng thường được sử dụng để lưu giữ dữ liệu khối lượng lớn. MongoDB không sử dụng cấu trúc dạng bảng như relational database. Thay vì vậy, MongoDB sẽ lưu trữ dữ liệu dưới dạng Document JSON. Vì lẽ đó, mỗi một collection sẽ các các kích cỡ và các document không giống nhau. Bên cạnh đó, việc các dữ liệu được lưu giữ trong document kiểu JSON dẫn tới chúng được truy vấn cực kỳ nhanh. Một tí thông tin bên lề về MongoDB: MongoDB được thành lập bởi MongoDB Inc. (Một doanh nghiệp ứng dụng của Mỹ). Công ty được thành lập lần đầu tiên vào năm 2007 với tên gọi 10gen. Nó cũng là một PaaS (Platform as a Service) tương tự như Windows Azure và Google App Engine, sau đó đã được chuyển thành nguồn mở từ năm 2009. MongoDB đã trở nên một trong các NoSQL database nổi bậc nhất lúc bấy giờ, được sử dụng làm backend cho rất nhiều site như eBay, SourceForge và The New York Times.
Những Ưu và nhược điểm của MongoDBĐiểm tốt nhất của MongoDB
Điểm không tốt của MongoDB
Có có thể sử dụng MongoDBVậy khi nào ta nên sử dụng MongoDB:
Một vài use case phổ biến của MongoDB là hệ thống để quản lý thông tin số, Các bộ máy phân tích dữ liệu lớn, Quản lý danh mục các sản phẩm trong thương mại điên tử, các ứng dụng social… Khi nào không nên sử dụng MongoDBCòn khi nào thì đừng nên sử dụng MongoDB?
Các feature của MongoDBHướng tài liệuVì MongoDB là cơ sở dữ liệu kiểu NoSQL. Nó lưu trữ dữ liệu dưới dạng Document JSON có thể mỗi một collection sẽ có các kích cỡ và các document khác nhau, linh hoạt trong việc lưu giữ dữ liệu, thích ứng với tình hình và yêu cầu thực tế của công ty. Các ad hoc queryMongoDB giúp đỡ tìm kiếm bằng field, range query, regular expression và các phép tìm kiếm thông thường. IndexingCác index có thể được tạo để tốt lên hiệu năng của các tìm kiếm trong MongoDB. Bất kỳ field nào trong MongoDB document đều sẽ được index. ReplicationReplicationCơ sở dữ liệu MongoDB “Nhân bản” là có một phiên bản giống hệt phiên bản đang hiện hữu, đang sử dụng. Với cơ sở dữ liệu, mong muốn lưu giữ lớn, đòi hỏi cơ sở dữ liệu vẹn toàn, không bị mất mát trước những sự cố ngoài ý muốn. Vì lẽ đó, người ta nghĩ ra khái niệm “nhân bản”, có nghĩa là tạo một phiên bản cơ sở dữ liệu giống hệt cơ sở dữ liệu đang hiện hữu, và lưu giữ chúng ở một nơi khác, đề phòng có sự cố.
AggregationCác Aggregation operation giải quyết các bản ghi dữ liệu và trả về kết quả đã được tính toán. Các phép toán tập hợp group các giá trị từ nhiều Document lại với nhau, và có khả năng hành động nhiều phép toán đa dạng trên dữ liệu đã được nhóm đó để trả về một hậu quả duy nhất. Trong SQL, count(*) và nhóm BY là tương đương với Aggregation trong MongoDB. Lưu trữ fileMongoDB được dùng như một hệ thống tệp tận dụng những function trên và hoạt động như một bí quyết phân phối qua Sharding. Cân bằng tảiCơ sở dữ liệu MongoDB bằng việc dùng Sharding, MongoDB chia phần trăm theo chiều ngang để người sử dụng chọn một Shard key, lựa chọn các dữ liệu được phân phối trong collection. Nhìn chung, dữ liệu được chia thành các phạm vi và được phân phối đồng đều dựa trên các Shard key. Nó chạy trên nhiều máy chủ, cân bằng tải hoặc sao chép dữ liệu để giữ hệ thống luôn hoạt động trong trường hợp có lỗi về phần cứng. Một số câu lệnh cơ bản trên MongoDBMột số câu lệnh cơ bản trên MongoDBCSDLMySQLMongoDBTạo csdlCREATE DATABASE test;use test;Tạo bảngCREATE TABLE students (ten_cot – kieu_du_lieu);db.createCollection(‘students’);Tạo bản ghiINSERT INTO studetns (‘name’, ‘gender’) VALUES(‘thanh’, ‘male’);db.students.insert( name:’thanh’, gender: ‘male’);Cập nhậtUPDATE students SET name = ‘thanh update’ WHERE id = 1;db.students.update( _id: 1 ,$set: name: ‘thanh update’ );Xóa bản ghiDELETE FROM students Where id = 1;db.students.remove( _id: 1);Tìm kiếm allSELECT * FROM students;db.students.find({});Tìm kiếmSELECT * FROM students WHERE name = ‘thanh’;db.students.find( name: ‘thanh’ );
Qua bài viết trên của Coder.com.vn đã cung cấp các thông tin về cơ sở dữ liệu MongoDB và những điều bạn cần biết. Hy vọng những thông tin trên của bài viết sẽ hữu ích với các bạn đọc, cùng tham khảo nhé. |