Loại cơ sở dữ liệu nào là MongoDB Atlas?

Định nghĩa MongoDB

  • Chia sẻ mục này với mạng của bạn

Qua

  • Bridget Botelho, Giám đốc biên tập, Tin tức
  • Jack Vaughan

MongoDB là một chương trình quản lý cơ sở dữ liệu NoSQL mã nguồn mở. NoSQL được sử dụng thay thế cho cơ sở dữ liệu quan hệ truyền thống. Cơ sở dữ liệu NoSQL khá hữu ích để làm việc với các tập dữ liệu phân tán lớn. MongoDB là một công cụ có thể quản lý thông tin định hướng tài liệu, lưu trữ hoặc truy xuất thông tin

MongoDB hỗ trợ nhiều dạng dữ liệu khác nhau. Đây là một trong nhiều công nghệ cơ sở dữ liệu phi quan hệ phát sinh vào giữa những năm 2000 dưới biểu ngữ NoSQL -- thông thường, để sử dụng trong các ứng dụng dữ liệu lớn và các công việc xử lý khác liên quan đến dữ liệu không phù hợp với mô hình quan hệ cứng nhắc. Thay vì sử dụng bảng và hàng như trong cơ sở dữ liệu quan hệ, kiến ​​trúc MongoDB được tạo thành từ các tập hợp và tài liệu

Các tổ chức có thể sử dụng Mongo DB cho các truy vấn đặc biệt, lập chỉ mục, cân bằng tải, tổng hợp, thực thi JavaScript phía máy chủ và các tính năng khác

Làm thế nào nó hoạt động

MongoDB sử dụng các bản ghi được tạo thành từ các tài liệu chứa cấu trúc dữ liệu bao gồm các cặp trường và giá trị. Tài liệu là đơn vị dữ liệu cơ bản trong MongoDB. Các tài liệu này tương tự như Ký hiệu đối tượng JavaScript, nhưng sử dụng một biến thể có tên là JSON nhị phân [BSON]. Lợi ích của việc sử dụng BSON là nó chứa nhiều loại dữ liệu hơn. Các trường trong các tài liệu này tương tự như các cột trong cơ sở dữ liệu quan hệ. Các giá trị được chứa có thể là nhiều loại dữ liệu khác nhau, bao gồm các tài liệu, mảng và mảng tài liệu khác, theo hướng dẫn sử dụng MongoDB. Tài liệu cũng sẽ kết hợp khóa chính làm mã định danh duy nhất

Bộ tài liệu được gọi là bộ sưu tập, có chức năng tương đương với các bảng cơ sở dữ liệu quan hệ. Bộ sưu tập có thể chứa bất kỳ loại dữ liệu nào, nhưng hạn chế là dữ liệu trong bộ sưu tập không thể trải rộng trên các cơ sở dữ liệu khác nhau

Shell mongo là một thành phần tiêu chuẩn của các bản phân phối mã nguồn mở của MongoDB. Khi MongoDB được cài đặt, người dùng kết nối vỏ mongo với các phiên bản MongoDB đang chạy của họ. Mongo shell hoạt động như một giao diện JavaScript tương tác với MongoDB, cho phép người dùng truy vấn và cập nhật dữ liệu cũng như tiến hành các hoạt động quản trị

Định dạng trao đổi dữ liệu và lưu trữ tài liệu BSON cung cấp một biểu diễn nhị phân của các tài liệu giống như JSON. Tự động phân đoạn là một tính năng quan trọng khác cho phép dữ liệu trong bộ sưu tập MongoDB được phân phối trên nhiều hệ thống để có khả năng mở rộng theo chiều ngang khi yêu cầu về khối lượng dữ liệu và thông lượng tăng lên

Hệ quản trị cơ sở dữ liệu NoSQL sử dụng một kiến ​​trúc tổng thể duy nhất để đảm bảo tính nhất quán của dữ liệu, với các cơ sở dữ liệu thứ cấp duy trì các bản sao của cơ sở dữ liệu chính. Các hoạt động được tự động sao chép sang các cơ sở dữ liệu thứ cấp đó để tự động chuyển đổi dự phòng

MongoDB ưu và nhược điểm

Giống như các cơ sở dữ liệu NoSQL khác, MongoDB không yêu cầu các lược đồ được xác định trước. Nó lưu trữ bất kỳ loại dữ liệu. Điều này cho phép người dùng linh hoạt để tạo bất kỳ số lượng trường nào trong tài liệu, giúp mở rộng cơ sở dữ liệu MongoDB dễ dàng hơn so với cơ sở dữ liệu quan hệ

Một trong những ưu điểm của việc sử dụng tài liệu là các đối tượng này ánh xạ tới các kiểu dữ liệu gốc trong một số ngôn ngữ lập trình. Ngoài ra, việc có các tài liệu được nhúng giúp giảm nhu cầu kết nối cơ sở dữ liệu, điều này có thể giảm chi phí

Một chức năng cốt lõi của MongoDB là khả năng mở rộng theo chiều ngang, khiến nó trở thành cơ sở dữ liệu hữu ích cho các công ty chạy các ứng dụng dữ liệu lớn. Ngoài ra, sharding cho phép cơ sở dữ liệu phân phối dữ liệu trên một cụm máy. Các phiên bản mới hơn của MongoDB cũng hỗ trợ tạo vùng dữ liệu dựa trên khóa phân đoạn

MongoDB hỗ trợ một số công cụ lưu trữ và cung cấp API công cụ lưu trữ có thể cắm được cho phép các bên thứ ba phát triển công cụ lưu trữ của riêng họ cho MongoDB

DBMS cũng có khả năng tổng hợp tích hợp, cho phép người dùng chạy mã MapReduce trực tiếp trên cơ sở dữ liệu thay vì chạy MapReduce trên Hadoop. MongoDB cũng bao gồm hệ thống tệp riêng của nó được gọi là GridFS, gần giống với Hệ thống tệp phân tán Hadoop [HDFS]. Việc sử dụng hệ thống tệp chủ yếu để lưu trữ các tệp lớn hơn giới hạn kích thước của BSON là 16 MB cho mỗi tài liệu. Những điểm tương đồng này cho phép sử dụng MongoDB thay vì Hadoop, mặc dù phần mềm cơ sở dữ liệu tích hợp với Hadoop, Spark và các khung xử lý dữ liệu khác

Mặc dù có một số lợi ích có giá trị đối với MongoDB, nhưng nó cũng có một số nhược điểm. Với chiến lược chuyển đổi dự phòng tự động, người dùng chỉ thiết lập một nút chính trong cụm MongoDB. Nếu master bị lỗi, một nút khác sẽ tự động chuyển đổi thành master mới. Quá trình chuyển đổi này hứa hẹn tính liên tục, nhưng không phải là tức thời -- có thể mất tới một phút. Để so sánh, cơ sở dữ liệu Cassandra NoSQL hỗ trợ nhiều nút chính để nếu một nút chính ngừng hoạt động, một nút chính khác sẽ sẵn sàng cho cơ sở hạ tầng cơ sở dữ liệu có tính sẵn sàng cao

Nút chính duy nhất của MongoDB cũng giới hạn tốc độ ghi dữ liệu vào cơ sở dữ liệu. Việc ghi dữ liệu phải được ghi trên nút chính và việc ghi thông tin mới vào cơ sở dữ liệu bị giới hạn bởi khả năng của nút chính đó

Một vấn đề tiềm ẩn khác là MongoDB không cung cấp tính toàn vẹn tham chiếu đầy đủ thông qua việc sử dụng các ràng buộc khóa ngoài, điều này có thể ảnh hưởng đến tính nhất quán của dữ liệu. Ngoài ra, xác thực người dùng không được bật theo mặc định trong cơ sở dữ liệu MongoDB, một dấu hiệu cho thấy sự phổ biến của công nghệ này với các nhà phát triển. Tuy nhiên, các tin tặc độc hại đã nhắm mục tiêu một số lượng lớn các hệ thống MongoDB không bảo mật trong các cuộc tấn công đòi tiền chuộc, dẫn đến việc bổ sung một cài đặt mặc định chặn các kết nối được nối mạng tới cơ sở dữ liệu nếu chúng chưa được quản trị viên cơ sở dữ liệu định cấu hình

Nền tảng MongoDB

MongoDB có sẵn trong các phiên bản cộng đồng và thương mại thông qua nhà cung cấp MongoDB Inc. MongoDB Community Edition là bản phát hành nguồn mở, trong khi MongoDB Enterprise Server mang đến các tính năng bảo mật bổ sung, công cụ lưu trữ trong bộ nhớ, tính năng quản trị và xác thực cũng như khả năng giám sát thông qua Trình quản lý Ops

Giao diện người dùng đồ họa [GUI] có tên là MongoDB Compass cung cấp cho người dùng cách làm việc với cấu trúc tài liệu, thực hiện truy vấn, lập chỉ mục dữ liệu, v.v. Trình kết nối MongoDB cho BI cho phép người dùng kết nối cơ sở dữ liệu NoSQL với các công cụ kinh doanh thông minh của họ để trực quan hóa dữ liệu và tạo báo cáo bằng các truy vấn SQL

Theo bước chân của các nhà cung cấp cơ sở dữ liệu NoSQL khác, MongoDB Inc. đã ra mắt cơ sở dữ liệu đám mây dưới dạng dịch vụ có tên MongoDB Atlas vào năm 2016. Atlas chạy trên AWS, Microsoft Azure và Google Cloud Platform. Sau đó, MongoDB đã phát hành một nền tảng có tên là Stitch để phát triển ứng dụng trên MongoDB Atlas, với kế hoạch mở rộng nó sang cơ sở dữ liệu tại chỗ

Công ty cũng đã thêm hỗ trợ cho các giao dịch ACID đa tài liệu như một phần của MongoDB 4. 0 trong năm 2018. Việc tuân thủ các thuộc tính ACID -- tính nguyên tử, tính nhất quán, cách ly và độ bền -- trên nhiều tài liệu giúp mở rộng các loại khối lượng công việc giao dịch mà MongoDB có thể xử lý với độ chính xác và độ tin cậy được đảm bảo

Lịch sử MongoDB

MongoDB được tạo bởi Dwight Merriman và Eliot Horowitz, những người đã gặp phải các vấn đề về phát triển và khả năng mở rộng với các phương pháp tiếp cận cơ sở dữ liệu quan hệ truyền thống trong khi xây dựng các ứng dụng web tại DoubleClick, một công ty quảng cáo trực tuyến hiện thuộc sở hữu của Google Inc. Tên của cơ sở dữ liệu được bắt nguồn từ từ humongous để thể hiện ý tưởng hỗ trợ lượng lớn dữ liệu

Merriman và Horowitz đã giúp thành lập 10Gen Inc. vào năm 2007 để thương mại hóa MongoDB và các phần mềm liên quan. Công ty được đổi tên thành MongoDB Inc. vào năm 2013 và ra mắt công chúng vào tháng 10 năm 2017 với mã chứng khoán MDB

DBMS đã được phát hành dưới dạng phần mềm nguồn mở vào năm 2009 và có sẵn theo các điều khoản của Phiên bản 3. 0 của Giấy phép Công cộng GNU Affero General của Tổ chức Phần mềm Tự do, bên cạnh các giấy phép thương mại do MongoDB Inc cung cấp

Các tổ chức như công ty bảo hiểm MetLife đã sử dụng MongoDB cho các ứng dụng dịch vụ khách hàng, trong khi các trang web khác như Craigslist đã sử dụng nó để lưu trữ dữ liệu và phòng thí nghiệm vật lý CERN đã sử dụng nó để tổng hợp và khám phá dữ liệu. Ngoài ra, The New York Times đã sử dụng MongoDB để hỗ trợ ứng dụng tạo biểu mẫu để gửi ảnh

Loại cơ sở dữ liệu nào trong MongoDB?

MongoDB là một cơ sở dữ liệu tài liệu .

MongoDB Atlas có phải là một DBMS không?

Cũng có các hệ thống quản lý cơ sở dữ liệu đám mây trong đó nhà cung cấp SaaS chịu trách nhiệm quản lý các tác vụ bảo trì cơ sở dữ liệu thông thường [chẳng hạn như cập nhật, v.v.]. MongoDB Atlas là một ví dụ về điều này .

MongoDB Atlas SQL có phải không?

Với Giao diện SQL Atlas MongoDB, bạn có thể tận dụng kiến ​​thức SQL hiện có và các công cụ quen thuộc để truy vấn và phân tích trực tiếp dữ liệu Atlas. Giao diện Atlas SQL sử dụng mongosql, một phương ngữ tương thích với SQL-92 được thiết kế cho mô hình tài liệu .

MongoDB Atlas có phải là cơ sở dữ liệu đám mây không?

MongoDB Atlas là nền tảng dữ liệu đa đám mây dành cho nhà phát triển . Cốt lõi của nó là cơ sở dữ liệu đám mây được quản lý hoàn toàn của chúng tôi dành cho các ứng dụng hiện đại.

Chủ Đề