Đã có DBMS định hướng tài liệu MongoDB 5.0

Bản phát hành DBMS MongoDB 5.0 hướng tài liệu được trình bày, chiếm một vị trí thích hợp giữa các hệ thống nhanh và có thể mở rộng, vận hành dữ liệu ở định dạng khóa/giá trị và các DBMS quan hệ có chức năng và dễ tạo các truy vấn. Mã MongoDB được viết bằng C++ và được phân phối theo giấy phép SSPL, dựa trên giấy phép AGPLv3, nhưng không mở vì nó chứa yêu cầu phân biệt đối xử để phân phối theo giấy phép SSPL không chỉ bản thân mã ứng dụng mà còn cả nguồn mã của tất cả các thành phần liên quan đến việc cung cấp dịch vụ đám mây.

MongoDB hỗ trợ lưu trữ tài liệu ở định dạng giống JSON, có ngôn ngữ tạo truy vấn khá linh hoạt, có thể tạo chỉ mục cho các thuộc tính được lưu trữ khác nhau, cung cấp khả năng lưu trữ hiệu quả các đối tượng nhị phân lớn, hỗ trợ ghi nhật ký các hoạt động để thay đổi và thêm dữ liệu vào cơ sở dữ liệu, có thể hoạt động theo mô hình Map/Reduce, hỗ trợ sao chép và xây dựng các cấu hình có khả năng chịu lỗi.

MongoDB có các công cụ sharding tích hợp (phân phối tập dữ liệu trên các máy chủ dựa trên một khóa cụ thể), kết hợp với sao chép, cho phép bạn xây dựng một cụm lưu trữ có thể mở rộng theo chiều ngang mà không có một điểm lỗi nào (lỗi của bất kỳ nút nào cũng có). không ảnh hưởng đến hoạt động của cơ sở dữ liệu), tự động chuyển đổi dự phòng và chuyển tải từ một nút bị lỗi. Việc mở rộng một cụm hoặc chuyển đổi một máy chủ thành một cụm được thực hiện mà không cần dừng cơ sở dữ liệu bằng cách thêm các máy mới.

Các tính năng của bản phát hành mới:

  • Đã thêm các bộ sưu tập dữ liệu dưới dạng chuỗi thời gian (bộ sưu tập chuỗi thời gian), được tối ưu hóa để lưu trữ các lát giá trị tham số được ghi theo các khoảng thời gian nhất định (thời gian và tập hợp các giá trị tương ứng với thời gian này). Nhu cầu lưu trữ những dữ liệu đó phát sinh trong các hệ thống giám sát, nền tảng tài chính và hệ thống dành cho trạng thái cảm biến bỏ phiếu. Làm việc với dữ liệu chuỗi thời gian được thực hiện như với các bộ sưu tập tài liệu thông thường, nhưng các chỉ mục và phương pháp lưu trữ cho chúng được tối ưu hóa có tính đến tham chiếu thời gian, điều này có thể giảm đáng kể mức tiêu thụ dung lượng ổ đĩa, giảm độ trễ khi thực hiện truy vấn và cho phép dữ liệu thời gian thực Phân tích.

    MongoDB xử lý các bộ sưu tập như các dạng xem có thể ghi, không cụ thể hóa được xây dựng trên các bộ sưu tập nội bộ mà khi được chèn sẽ tự động nhóm dữ liệu chuỗi thời gian thành định dạng lưu trữ được tối ưu hóa. Trong trường hợp này, mỗi bản ghi liên quan đến thời gian sẽ được coi là một tài liệu riêng biệt khi được yêu cầu. Dữ liệu được tự động sắp xếp và lập chỉ mục theo thời gian (không cần tạo chỉ mục thời gian một cách rõ ràng).

  • Đã thêm hỗ trợ cho các toán tử cửa sổ (chức năng phân tích) cho phép bạn thực hiện các hành động với một bộ tài liệu cụ thể trong bộ sưu tập. Không giống như các hàm tổng hợp, các hàm cửa sổ không thu gọn tập hợp được nhóm mà thay vào đó tổng hợp dựa trên nội dung của một “cửa sổ” bao gồm một hoặc nhiều tài liệu từ tập hợp kết quả. Để thao tác một tập hợp con các tài liệu, một giai đoạn $setWindowFields mới được đề xuất, chẳng hạn như giai đoạn này bạn có thể xác định sự khác biệt giữa hai tài liệu trong một bộ sưu tập, tính toán thứ hạng bán hàng và phân tích thông tin theo chuỗi thời gian phức tạp.
  • Đã thêm hỗ trợ cho việc lập phiên bản API, cho phép bạn liên kết ứng dụng với trạng thái API cụ thể và loại bỏ các rủi ro liên quan đến khả năng vi phạm khả năng tương thích ngược khi di chuyển sang các bản phát hành DBMS mới. Việc lập phiên bản API tách vòng đời ứng dụng khỏi vòng đời DBMS và cho phép các nhà phát triển thực hiện các thay đổi đối với ứng dụng khi có nhu cầu sử dụng các tính năng mới, thay vì khi chuyển sang phiên bản DBMS mới.
  • Đã thêm hỗ trợ cho cơ chế Phân chia lại trực tiếp, cho phép bạn thay đổi các khóa phân đoạn được sử dụng để phân đoạn một cách nhanh chóng mà không cần dừng DBMS.
  • Khả năng mã hóa các trường ở phía máy khách đã được mở rộng (Mã hóa cấp độ trường phía máy khách). Giờ đây có thể cấu hình lại các bộ lọc kiểm tra và xoay chứng chỉ x509 mà không cần dừng DBMS. Đã thêm hỗ trợ để định cấu hình bộ mật mã cho TLS 1.3.
  • Một shell dòng lệnh mới, MongoDB Shell (mongosh), được đề xuất, đang được phát triển như một dự án riêng biệt, được viết bằng JavaScript sử dụng nền tảng Node.js và được phân phối theo giấy phép Apache 2.0. MongoDB Shell cho phép kết nối với DBMS, thay đổi cài đặt và gửi truy vấn. Hỗ trợ tính năng tự động hoàn thành thông minh để nhập các phương thức, lệnh và biểu thức MQL, tô sáng cú pháp, trợ giúp theo ngữ cảnh, phân tích thông báo lỗi và khả năng mở rộng chức năng thông qua các tiện ích bổ sung. Trình bao bọc CLI "mongo" cũ không được dùng nữa và sẽ bị xóa trong bản phát hành sau này.
    Đã có DBMS định hướng tài liệu MongoDB 5.0
  • Các toán tử mới đã được thêm vào: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate và $rand.
  • Đảm bảo rằng các chỉ mục được sử dụng khi sử dụng các toán tử $eq, $lt, $lte, $gt và $gte trong biểu thức $expr.
  • Các lệnh tổng hợp, tìm, findAndModify, cập nhật, xóa và các phương thức db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() và db.collection.remove() hiện hỗ trợ lệnh “let Tùy chọn ” để xác định danh sách các biến giúp lệnh dễ đọc hơn bằng cách tách các biến khỏi nội dung yêu cầu.
  • Các hoạt động tìm, đếm, phân biệt, tổng hợp, mapReduce, listCollections và listIndexes không còn bị chặn nếu một thao tác lấy khóa độc quyền trên bộ sưu tập tài liệu đang chạy song song.
  • Là một phần của sáng kiến ​​nhằm loại bỏ các thuật ngữ không chính xác về mặt chính trị, lệnh isMaster và phương thức db.isMaster() đã được đổi tên thành hello và db.hello().
  • Sơ đồ đánh số bản phát hành đã được thay đổi và quá trình chuyển đổi đã được thực hiện theo lịch phát hành có thể dự đoán được. Mỗi năm một lần sẽ có một bản phát hành đáng kể (5.0, 6.0, 7.0), các bản phát hành trung gian ba tháng một lần với các tính năng mới (5.1, 5.2, 5.3) và, nếu cần, các bản cập nhật khắc phục các bản sửa lỗi và lỗ hổng bảo mật (5.1.1, 5.1.2) .5.1.3, 5.1). Bản phát hành tạm thời sẽ xây dựng chức năng cho bản phát hành chính tiếp theo, tức là. MongoDB 5.2, 5.3 và 6.0 sẽ cung cấp các tính năng mới cho việc phát hành MongoDB XNUMX.

Nguồn: opennet.ru

Thêm một lời nhận xét