Phát hành FerretDB 0.3, một triển khai MongoDB dựa trên DBMS PostgreSQL

Bản phát hành dự án FerretDB 0.3 đã được xuất bản, cho phép bạn thay thế DBMS MongoDB định hướng tài liệu bằng PostgreSQL mà không thực hiện thay đổi đối với mã ứng dụng. FerretDB được triển khai như một máy chủ proxy chuyển các cuộc gọi đến MongoDB thành các truy vấn SQL sang PostgreSQL, cho phép bạn sử dụng PostgreSQL làm bộ lưu trữ thực tế. Mã được viết bằng Go và được phân phối theo giấy phép Apache 2.0.

Nhu cầu di chuyển có thể phát sinh liên quan đến việc chuyển MongoDB sang giấy phép SSPL độc quyền, 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ả mã nguồn của tất cả các thành phần liên quan đến dịch vụ đám mây cung cấp.

Đối tượng mục tiêu chính của FerretDB là những người dùng không sử dụng các khả năng nâng cao của MongoDB trong ứng dụng của họ nhưng muốn sử dụng một ngăn xếp phần mềm hoàn toàn mở. Ở giai đoạn phát triển hiện tại, FerretDB vẫn chỉ hỗ trợ một phần khả năng của MongoDB thường được sử dụng trong các ứng dụng thông thường. Trong tương lai, họ có kế hoạch đạt được khả năng tương thích hoàn toàn với trình điều khiển cho MongoDB và cung cấp khả năng sử dụng FerretDB như một sự thay thế minh bạch cho MongoDB.

MongoDB chiếm một vị trí thích hợp giữa các hệ thống nhanh và có thể mở rộng hoạt động trên dữ liệu khóa/giá trị và các DBMS quan hệ có chức năng và dễ truy vấn. MongoDB hỗ trợ lưu trữ tài liệu ở định dạng giống như 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 lưu trữ hiệu quả các đối tượng nhị phân lớn, hỗ trợ ghi nhật ký 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ấu hình chịu lỗi.

Bản phát hành FerretDB 0.3 đã giới thiệu lệnh findAndModify, lệnh này sửa đổi tài liệu nhưng trả nó về phiên bản gốc. Các toán tử cập nhật trường $inc và $set đã được triển khai. Đã thêm hỗ trợ để sắp xếp các loại dữ liệu vô hướng.

Nguồn: opennet.ru

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