Định dạng nào được sử dụng để lưu trữ dữ liệu trong MongoDB?
MongoDB là một giải pháp cơ sở dữ liệu mã nguồn mở, phi quan hệ, được phân loại là một hệ thống NoSQL và có thể được sử dụng cho các ứng dụng Dữ liệu lớn. MongoDB được giới thiệu lần đầu tiên vào năm 2009 và hoạt động với cái gọi là bộ sưu tập và tài liệu, lần lượt chứa các cặp khóa-giá trị khác nhau để lưu trữ dữ liệu Show Cơ sở dữ liệu NoSQL là gì?Nguyên tắc NoSQL (“Không chỉ SQL”) xuất hiện lần đầu tiên vào cuối những năm 2000 và thường đề cập đến tất cả các cơ sở dữ liệu không lưu trữ dữ liệu trong các bảng quan hệ và có ngôn ngữ truy vấn không phải là SQL. Các ví dụ nổi tiếng nhất về cơ sở dữ liệu NoSQL, bên cạnh MongoDB, là Apache Cassandra, Redis hoặc Neo4j Cơ sở dữ liệu NoSQL có thể mở rộng quy mô cao hơn đáng kể so với các giải pháp SQL thông thường do cấu trúc của chúng, vì chúng cũng có thể được phân phối trên các hệ thống và máy tính khác nhau. Ngoài ra, hầu hết các giải pháp đều là nguồn mở và cho phép truy vấn cơ sở dữ liệu mà các hệ thống quan hệ không thể đáp ứng được Các giải pháp NoSQL thuộc một trong bốn loại Danh mục cơ sở dữ liệu NoSQL
Cấu trúc cơ sở dữ liệu MongoDBMongoDB chứa nhiều cái gọi là bộ sưu tập, có thể so sánh với các bảng của cơ sở dữ liệu quan hệ. Trong một bộ sưu tập, có thể có một số cái gọi là tài liệu, lần lượt tương ứng với các bản ghi trong một bảng để duy trì sự tương tự này. Điều thực sự thú vị và mới mẻ xảy ra trong chính các tài liệu. Đó là lý do tại sao chúng ta sẽ xem xét kỹ hơn về chúng Các tài liệu chứa một số cặp khóa-giá trị lưu trữ dữ liệu thực tế. Các giá trị có thể chứa các kiểu dữ liệu khác nhau (chuỗi, số nguyên, dấu phẩy, v.v. ) đồng thời một khóa có thể có hai kiểu dữ liệu khác nhau trong hai tài liệu khác nhau. Trong mô hình dữ liệu cơ sở dữ liệu quan hệ, điều này sẽ không thể thực hiện được trong hai hàng một cột Trong triển khai hiện tại, MongoDB chỉ cho phép kích thước dữ liệu 8 MB trên mỗi tài liệu. Sau khi trừ dung lượng lưu trữ cho chi phí tệp, không còn quá nhiều dung lượng lưu trữ cho tập dữ liệu. Tuy nhiên, MongoDB sử dụng định dạng dữ liệu nhị phân được xây dựng trên JSON, giúp nó thân thiện với bộ nhớ hơn nhiều so với các định dạng tệp dựa trên văn bản. Theo tên của nó, BSON, định dạng dữ liệu này dựa trên nguồn gốc của nó (“JSON nhị phân”) Định dạng tệp MongoDB là gì?BSON là định dạng tệp nhị phân của JSON và tối ưu hóa nó ở một số khía cạnh. Các định dạng tệp gốc, như CSV, XML hoặc JSON, được gọi là định dạng dựa trên văn bản. Họ lưu trữ dữ liệu ở dạng văn bản thuần túy. Điều này làm cho chúng dễ hiểu đối với con người chúng ta, nhưng đòi hỏi một lượng không gian lưu trữ tương đối lớn. Khi các dự án Dữ liệu lớn trở nên nổi bật hơn trong những năm gần đây, các định dạng dữ liệu nhị phân đã trở nên thú vị hơn Những phần lưu trữ này hoặc thậm chí tất cả dữ liệu ở dạng ký hiệu nhị phân, khiến con người chúng ta không thể đọc được chúng trong thời gian lưu trữ. Điều này có nghĩa là việc mở và lưu các tệp như vậy sẽ mất nhiều thời gian hơn một chút vì thông tin phải được xử lý trước, nhưng không gian lưu trữ nhỏ hơn và các truy vấn đôi khi hiệu quả hơn. Các tệp BSON lưu trữ các khóa dưới dạng giá trị nhị phân. Tuy nhiên, các giá trị vẫn được giữ dưới dạng văn bản, trong khi siêu dữ liệu được lưu trữ ở dạng nhị phân và do đó có thể được đọc nhanh hơn các khóa văn bản. Đây là một ví dụ về từ điển JSON đơn giản và tệp BSON tương ứng
Như chúng ta có thể thấy, tệp BSON thêm một số siêu dữ liệu bổ sung vào định dạng ban đầu, chẳng hạn như kiểu dữ liệu. Điều này có thể trông phức tạp hơn nhiều đối với các tệp nhỏ, nhưng nó chứng tỏ giá trị của nó đối với các tệp rất lớn bằng cách giảm tốc độ đọc MongoDB thuộc loại NoSQL nào?MongoDB thuộc về cái gọi là kho lưu trữ tài liệu, là một kiểu con của cơ sở dữ liệu NoQuery. Chúng không liên quan, vì dữ liệu không được lưu trữ trong hàng và cột mà trong tài liệu. Kho lưu trữ tài liệu là một trong những tiểu thể loại phổ biến nhất của NoSQL so với cơ sở dữ liệu quan hệ truyền thống. Những lợi thế của ứng dụng bao gồm
Ưu điểm của MongoDB là gì?MongoDB, giống như các giải pháp NoSQL khác, mang lại nhiều lợi thế so với cơ sở dữ liệu quan hệ cổ điển cho các tập dữ liệu lớn
MongoDB lưu trữ dữ liệu như thế nào?Cơ sở dữ liệu MongoDB thực sự có thể được sử dụng cho hầu hết các lĩnh vực ứng dụng mà người ta có thể lưu trữ dữ liệu ở định dạng JSON. Sau đó, chúng có thể được “dịch” tương đối dễ dàng sang định dạng BSON và được lưu trữ trong MongoDB. Cấu trúc của tệp BSON không chỉ định bất kỳ cấu trúc nào của dữ liệu và có thể lưu trữ các lược đồ linh hoạt Nếu chúng ta muốn vẽ sự tương tự với cơ sở dữ liệu quan hệ, các tài liệu riêng lẻ là các hàng trong cơ sở dữ liệu quan hệ, tức là. e. Hồ sơ. Các trường trong tệp BSON chứa dữ liệu của một loại dữ liệu nhất định và do đó được so sánh tốt nhất với các cột trong bảng. Cuối cùng, các tài liệu có nội dung và cấu trúc thông tin tương tự được lưu trữ trong cái gọi là bộ sưu tập, có thể được coi là bảng trong cơ sở dữ liệu quan hệ Một ví dụ cổ điển về điều này là dữ liệu chuyển động của người dùng trên một trang web. Mỗi hành trình của người dùng khác với hành trình khác và do đó không cung cấp lược đồ dữ liệu cố định. Ví dụ: người dùng trên trang thương mại điện tử đặt hàng và đăng nhập vào hệ thống. Mặt khác, người dùng tiếp theo tìm hiểu về các lời mời làm việc mới nhất trong phần nghề nghiệp của công ty. Trong tệp JSON, tệp này có thể được ánh xạ tương đối dễ dàng thông qua các khóa và do đó cũng được lưu trữ trong MongoDB. Trong cơ sở dữ liệu quan hệ, trường hợp sử dụng tương tự sẽ không dễ ánh xạ Các lĩnh vực ứng dụng có thể hình dung khác bao gồm dữ liệu phụ trợ từ các ứng dụng ứng dụng, hệ thống quản lý nội dung cho trang web hoặc thậm chí là kho dữ liệu hoàn chỉnh của công ty MongoDB có phù hợp với các ứng dụng Dữ liệu lớn không?Ngày nay, thuật ngữ Dữ liệu lớn xuất hiện trên môi của mọi người khi cố gắng mô tả hiện tượng các công ty và tổ chức công nói riêng có lượng dữ liệu ngày càng tăng theo ý của họ, điều này đang đẩy cơ sở dữ liệu truyền thống nói riêng đến giới hạn của chúng MongoDB chắc chắn là một hệ thống khả thi để hiện thực hóa các ứng dụng Dữ liệu lớn. Trong bối cảnh này, nó gây ấn tượng hơn hết với khả năng mở rộng theo chiều ngang đã nói ở trên và lược đồ dữ liệu linh hoạt. Hơn nữa, nó có một công cụ lưu trữ xử lý bộ nhớ rất hiệu quả và nén các tài liệu chẳng hạn Tuy nhiên, ưu điểm chính là MongoDB hỗ trợ truy vấn động. Tóm lại, điều này có nghĩa là các câu lệnh truy vấn dữ liệu không được tạo cho đến khi truy vấn đã được bắt đầu. Điều này mang lại lợi thế của việc viết các chương trình linh hoạt phản ứng với tình hình hiện tại. Hãy tưởng tượng bạn điều hành một cửa hàng trực tuyến và một khách hàng chuẩn bị đăng nhập. Chỉ sau khi khách hàng nhập thông tin đăng nhập của mình và nhấn nút đăng nhập, chương trình mới có thể quyết định thông tin về khách hàng phải được tìm kiếm trong tài liệu nào Do đó, MongoDB đặc biệt phù hợp trong lĩnh vực Dữ liệu lớn khi dữ liệu vẫn cần được thay đổi giữa lưu trữ và truy vấn, tôi. e. tổng hợp, ví dụ |