Sự phát triển nhanh chóng của ứng dụng, người dùng và các cơ sở hạ tầng đặc trưng đang định hình một thế giới dữ liệu phù hợp với mô hình cơ sở dữ liệu NoQuery. MongoDB là một trong những cơ sở dữ liệu NoSQL phổ biến nhất với những tính năng đáng giá. Nó được quảng bá là tương lai của các hệ thống cơ sở dữ liệu và đang có một vị trí khá quan trọng trong quá trình phát triển ứng dụng hiện đại. Những tập đoàn lớn như CISCO, SAP, IBM, Microsoft và Salesforce đều có mặt trong cộng đồng phát triển MongoDB. Trong chuyên mục này, Quantrimang.com cũng sẽ tổng hợp lại những điều cơ bản nhất về MongoDB, giúp các bạn nắm được kiến thức tổng quát về cơ sở dữ liệu này.

  • Capped Collection trong MongoDB Capped Collection trong MongoDB
    Capped collections là các Circular Collection có kích cỡ cố định mà theo sau thứ tự chèn để làm tăng cao hiệu suất của các hoạt động create, read và delete.
  • GridFS trong MongoDB GridFS trong MongoDB
    GridFS là MongoDB Specification để lưu giữ và thu thập các file lớn như các image, audio, video file,… Nó là một loại của hệ thống file để lưu giữ các file nhưng dữ liệu của nó được lưu giữ bên trong các Collection của MongoDB.
  • Auto-Increment Sequence trong MongoDB Auto-Increment Sequence trong MongoDB
    MongoDB không có tính năng out-of-the-box auto-increment giống SQL Database. Theo mặc định, nó sử dụng ObjectId có độ dài 12 byte cho trường _id như Primary key để nhận diện một cách duy nhất các Document. Tuy nhiên, có các tình huống khi chúng ta muốn trường _id có một số giá trị có thể tự động tăng ngoài ObjectId.
  • Làm việc với Rockmongo Làm việc với Rockmongo
    Rockmongo là một công cụ quản lý MongoDB. Sử dụng nó, bạn có thể quản lý Server, Database, Collection, Document, Index,… của bạn. Nó cung cấp một cách rất thân thiện cho người dùng để đọc, ghi và tạo các Document. Rockmongo là khá giống với PHPMyAdmin tool cho PHP và MySQL.
  • Regular Expression trong MongoDB Regular Expression trong MongoDB
    Regular Expression được sử dụng thường xuyên trong tất cả ngôn ngữ để tìm kiếm một pattern hoặc một từ trong bất cứ chuỗi nào. MongoDB cũng cung cấp tính năng Regular Expression để so khớp mẫu (Pattern matching) trong chuỗi bởi sử dụng toán tử $regex. MongoDB sử dụng PCRE (Perl Compatible Regular Expression) như là ngôn ngữ Regular Expression.
  • Text Search trong MongoDB Text Search trong MongoDB
    Bắt đầu từ phiên bản 2.4, MongoDB bắt đầu hỗ trợ các Text Index để tìm kiếm bên trong nội dung chuỗi.
  • Map Reduce trong MongoDB Map Reduce trong MongoDB
    Trong MongoDB Documentation, Map-Reduce là một hệ xử lý dữ liệu để cô đọng một khối lượng lớn dữ liệu thành các kết quả tổng thể có ích. MongoDB sử dụng lệnh mapReduce cho hoạt động Map-Reduce. Nói chung, Map Reduce được sử dụng để xử lý các tập dữ liệu lớn.
  • Hạn chế của chỉ mục trong MongoDB Hạn chế của chỉ mục trong MongoDB
    Mỗi chỉ mục không chỉ chiếm dụng một phần không gian bộ nhớ mà còn gây ra một overhead trên mỗi hoạt động insert, update, và delete. Vì thế, nếu bạn hiếm khi sử dụng Collection của mình cho các hoạt động read, thì bạn không nên sử dụng chỉ mục cho nó.
  • Hoạt động chỉ mục nâng cao trong MongoDB Hoạt động chỉ mục nâng cao trong MongoDB
    Tạo một chỉ mục trên mảng tức là tạo các chỉ mục riêng rẽ cho mỗi trường của nó. Vì thế trong tình huống này, khi chúng ta tạo chỉ mục trên mảng tags, các chỉ mục riêng rẽ sẽ được tạo cho các giá trị của nó là music, cricket và blogs.
  • Hoạt động nguyên tử (Atomic Operation) trong MongoDB Hoạt động nguyên tử (Atomic Operation) trong MongoDB
    MongoDB không hỗ trợ các Atomic Transaction qua nhiều Document. Tuy nhiên, nó cung cấp các Atomic Operation (hoạt động nguyên tử) trên một Document đơn. Vì thế, nếu một Document có hàng trăm trường, thì lệnh update sẽ hoặc cập nhật tất cả các trường đó hoặc không cập nhật bất cứ trường nào, vì thế duy trì tính Atomicity tại cấp độ Document.
  • Phân tích truy vấn trong MongoDB Phân tích truy vấn trong MongoDB
    Việc phân tích các truy vấn là một khía cạnh rất quan trọng để đánh giá tính hiệu quả của Database và tính hiệu quả của chỉ mục đã thiết kế. Chúng ta sẽ tìm hiểu hai truy vấn được sử dụng thường xuyên nhất là $explain và $hint.
  • Covered Query trong MongoDB Covered Query trong MongoDB
    Khi tất cả các trường có mặc trong truy vấn là một phần của chỉ mục, MongoDB kết nối các điều kiện truy vấn và trả về kết quả bởi sử dụng cùng chỉ mục đó mà không nhìn vào bên trong Document. Khi các chỉ mục có mặt trong RAM, việc lấy dữ liệu từ các chỉ mục là nhanh hơn khi so sánh với khi lấy dữ liệu bằng cách quét toàn bộ các Document.
  • Tham chiếu Database trong MongoDB Tham chiếu Database trong MongoDB
    Như đã được trình bày trong chương Relationship trong MongoDB, để triển khai một cấu trúc cơ sở dữ liệu tiêu chuẩn hóa trong MongoDB, chúng ta sử dụng khái niệm Referenced Relationship, còn được gọi là Manual References, trong đó chúng ta thao tác để lưu giữ id của các Document được tham chiếu bên trong Document khác.
  • Relationship trong MongoDB Relationship trong MongoDB
    Relationship trong MongoDB tượng trưng cho cách các Document có mối liên quan với nhau. Relationship có thể được mô hình hóa thông qua phương thức Embeded và Referenced.
  • MongoDB Deployment MongoDB Deployment
    Khi bạn đang chuẩn bị một MongoDB Deployment, bạn nên hiểu cách ứng dụng của bạn đang được hỗ trợ trong Production.
  • Tạo Backup trong MongoDB Tạo Backup trong MongoDB
    Để tạo Backup của cơ sở dữ liệu trong MongoDB, bạn nên sử dụng lệnh mongodump. Lệnh này sẽ dump tất cả dữ liệu của Server vào trong dump directory. Có nhiều tùy chọn có sẵn từ đó bạn có thể giới hạn lượng dữ liệu hoặc tạo backup của Remote Server.
  • Shard trong MongoDB Shard trong MongoDB
    Sharding là một tiến trình lưu giữ các bản ghi dữ liệu qua nhiều thiết bị và nó là một phương pháp của MongoDB để đáp ứng yêu cầu về sự gia tăng dữ liệu. Khi kích cỡ của dữ liệu tăng lên, một thiết bị đơn không thể đủ để lưu giữ dữ liệu.
  • Replica Set trong MongoDB Replica Set trong MongoDB
    Replication là tiến trình đồng bộ hóa dữ liệu từ nhiều Server. Replication cung cấp sự dư thừa và tăng dữ liệu có tính khả dụng với nhiều bản sao dữ liệu trên nhiều Database Server khác nhau. Replication bảo vệ một cơ sở dữ liệu từ việc thất thoát của một Server nào đó. Replication cũng cho phép bạn phục hồi dữ liệu từ việc các lỗi ở phần cứng hoặc từ việc ngắt kết nối dịch vụ. Với các bản sao dữ liệu bổ sung, bạn có thể sử dụng cho việc phục hồi, báo cáo, hoặc backup.
  • ObjectId trong MongoDB ObjectId trong MongoDB
    Bạn đã thấy sự sử dụng của ObjectId trong MongoDB trong các chương trước đó. Trong chương này, chúng ta sẽ hiểu cấu trúc của ObjectId.
  • Aggregation trong MongoDB Aggregation trong MongoDB
    Aggregation có thể hiểu là sự tập hợp. Các Aggregation operation xử lý 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 nhóm các giá trị từ nhiều Document lại với nhau, và có thể thực hiện nhiều phép toán đa dạng trên dữ liệu đã được nhóm đó để trả về một kết quả duy nhất. Trong SQL, count(*) và GROUP BY là tương đương với Aggregation trong MongoDB.