Hướng dẫn mongodb features - tính năng mongodb
NoSQL Show
1. NoSQL là gì ?NoSQL viết tắt của Not Only SQL hay Not SQL, là một hệ thống quản lý phân phối (DMS) cho các mô hình dữ liệu phi quan hệ, có cấu trúc linh hoạt, API đơn giản và cũng dễ dàng mở rộng, phù hợp với các ứng dụng hiện đại với số lượng dữ liệu phân tán khổng lồ hay các web thời gian thực. viết tắt của Not Only SQL hay Not SQL, là một hệ thống quản lý phân phối (DMS) cho các mô hình dữ liệu phi quan hệ, có cấu trúc linh hoạt, API đơn giản và cũng dễ dàng mở rộng, phù hợp với các ứng dụng hiện đại với số lượng dữ liệu phân tán khổng lồ hay các web thời gian thực. Thuật ngữ này được giới thiệu lần đầu tiên năm 1998 và từ đó được gọi chung cho các lightweight cơ sở dữ liệu quan hệ mã nguồn mở nhưng không sử dụng truy vấn SQL. Đến năm 2009, NoSQL được giới thiệu lại trong một hội thảo về CSDL mã nguồn mở phân tán bởi Eric Evans, đã đánh dấu bước phát triển mới cho thế hệ cơ sở dữ liệu: phân tán (distributed) và phi quan hệ (non-relational).phân tán (distributed) và phi quan hệ (non-relational). NoSQL bao gồm một loạt các công nghệ cơ sở dữ liệu khác nhau được phát triển để đáp ứng các yêu cầu lưu trữ dữ liệu có cấu trúc, bán cấu trúc, không cấu trúc hay đa hình của các ứng dụng hiện đại. 2. Tại sao lại là NoSQL?RDBMS được sử dụng rất rộng trong các ứng dụng không chỉ bởi tính ACID, nhất quán và toàn vẹn cho dữ liệu, ... mà còn bởi cộng đồng support vô cùng mạnh mẽ. Tuy nhiên, nó vẫn còn tồn tại nhiều khuyết điểm, mà quan trọng nhất đó chính là vấn đề về hiệu năng: thời gian phản hồi của hệ thống sẽ trở nên chậm khi khối lượng dữ liệu ngày càng mở rộng, yêu cầu thay đổi, cập nhật dữ liệu nhanh chóng ngày càng tăng. được sử dụng rất rộng trong các ứng dụng không chỉ bởi tính ACID, nhất quán và toàn vẹn cho dữ liệu, ... mà còn bởi cộng đồng support vô cùng mạnh mẽ. Tuy nhiên, nó vẫn còn tồn tại nhiều khuyết điểm, mà quan trọng nhất đó chính là vấn đề về hiệu năng: thời gian phản hồi của hệ thống sẽ trở nên chậm khi khối lượng dữ liệu ngày càng mở rộng, yêu cầu thay đổi, cập nhật dữ liệu nhanh chóng ngày càng tăng. Để giải quyết vấn đề này, chúng ta có thể "mở rộng" (scale-up) hệ thống bằng cách nâng cấp phần cứng hiện có, nhưng quá trình này rất tốn kém và không triệt để. Ngoài ra, RDBMS được thiết kế chỉ để chạy trên một máy chủ (master), nên khi muốn mở rộng, nó sẽ rất khó để thực thi trên nhiều cụm khác (clustering).scale-up) hệ thống bằng cách nâng cấp phần cứng hiện có, nhưng quá trình này rất tốn kém và không triệt để. Ngoài ra, RDBMS được thiết kế chỉ để chạy trên một máy chủ (master), nên khi muốn mở rộng, nó sẽ rất khó để thực thi trên nhiều cụm khác (clustering). NoSQL xuất hiện đã giải quyết những thiếu sót trên của CSDL quan hệ. Được phát triển dựa trên ý tưởng về những CSDL với thiết kế đơn giản, nhưng có khả năng lưu trữ dữ liệu cực lớn cùng cấu trúc linh hoạt, truy vấn dữ liệu tốc độ cao cho kết quả nhanh chóng mà không cần quá nhiều yêu cầu về phần cứng cũng như các tài nguyên hệ thống, tăng khả năng chịu lỗi.
xuất hiện đã giải quyết những thiếu sót trên của CSDL quan hệ. NoSQL DB là cơ sở dữ liệu phi quan hệ, vì vậy nó có khả năng "nhân rộng" (scale-out), mở rộng theo "chiều ngang" cho các cụm máy chủ đơn giản tốt hơn RDBMS khi cần phân phối tải CSDL bất cứ khi nào tải tăng, giúp kiểm soát tính khả dụng tốt hơn. là cơ sở dữ liệu phi quan hệ, vì vậy nó có khả năng "nhân rộng" (scale-out), mở rộng theo "chiều ngang" cho các cụm máy chủ đơn giản tốt hơn RDBMS khi cần phân phối tải CSDL bất cứ khi nào tải tăng, giúp kiểm soát tính khả dụng tốt hơn. 3. Ưu điểm
4. Nhược điểm
5. Một số loại NoSQL DatabasesHiện nay có khá nhiều NoSQL Database Management System như MongoDB, RavenDB, Redis, Neo4J, … Nhưng chủ yếu có thể chia thành 4 loại, mỗi loại đều có các thuộc tính và giới hạn riêng, và chúng ta nên cân nhắc lựa chọn một CSDL phù hợp nhất với các yêu cầu của ứng dụng trước khi sử dụng chúng.NoSQL Database Management System như MongoDB, RavenDB, Redis, Neo4J, … Nhưng chủ yếu có thể chia thành 4 loại, mỗi loại đều có các thuộc tính và giới hạn riêng, và chúng ta nên cân nhắc lựa chọn một CSDL phù hợp nhất với các yêu cầu của ứng dụng trước khi sử dụng chúng.
6. SQL vs NoSQL
MongoDB1. MongoDB là gì?MongoDB là một cơ sở dữ liệu document mã nguồn mở, đa nền tảng với khả năng mở rộng và hiệu năng cao cùng tốc độ truy vấn dữ liệu vượt trội với chỉ mục, và là CSDL hàng đầu của NoSQL, được viết bằng C++. là một cơ sở dữ liệu document mã nguồn mở, đa nền tảng với khả năng mở rộng và hiệu năng cao cùng tốc độ truy vấn dữ liệu vượt trội với chỉ mục, và là CSDL hàng đầu của NoSQL, được viết bằng C++. 2. Tại sao nên sử dụng MongoDB?
3. Khi nào nên sử dụng MongoDB?
4. Khi nào không nên sử dụng MongoDB?
5. Ưu điểm
6. Nhược điểm
7. Các khái niệm cơ bản trong MongoDBBất kỳ cơ sở dữ liệu quan hệ nào cũng có thiết kế lược đồ điển hình hiển thị số lượng bảng và mối quan hệ giữa các bảng này. Trong khi ở MongoDB, không có khái niệm về mối quan hệ. Một server MongoDB thường có nhiều CSDL. CSDL là một container vật lý chứa các collections.
8. Một số lệnh truy vấn cơ bản
9. So sánh MongoDB với một số CSDL khácRedis - MySQL - MongoDB 10. Tham khảo
|