FerretDB 1.0 đã được phát hành và đây là những tin tức của nó

chồn sươngDB

FerretDB được thành lập để trở thành sự thay thế mã nguồn mở trên thực tế cho MongoDB.

Sự ra mắt của phiên bản mới của dự án FerretDB 1.0, cho phép bạn thay thế DBMS hướng tài liệu của MongoDB bằng PostgreSQL mà không thực hiện bất kỳ thay đổi nào đối với mã ứng dụng của bạn. FerretDB được triển khai như một máy chủ proxy dịch các lệnh gọi MongoDB trong 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ế.

Phiên bản 1.0 được đánh dấu là bản phát hành ổn định đầu tiên sẵn sàng cho mục đích sử dụng chung. Đố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 tính 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 nay, FerretDB hỗ trợ một tập hợp con các tính năng của MongoDB được sử dụng phổ biến nhất trong các ứng dụng điển hình. Nhu cầu triển khai FerretDB có thể phát sinh liên quan đến việc chuyển đổi MongoDB sang giấy phép SSPL không miễn phí, dựa trên giấy phép AGPLv3, nhưng không phải là nguồn mở, vì nó chứa yêu cầu phân biệt đối xử để cung cấp 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 việc cung cấp dịch vụ đám mây.

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à DBMS cơ sở dữ liệu 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ữ khá linh hoạt để xây dựng truy vấn, 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 lớn nhị phân, hỗ trợ các thao tác ghi nhật ký để 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.

Những điểm mới chính của FerretDB 1.0

Trong phiên bản mới này được trình bày, nó được nhấn mạnh rằng các lệnh createIndexes và dropIndexes đã được triển khai để tạo và đặt một hoặc nhiều chỉ mục trên một bộ sưu tập, ngoài lệnh getMore đã được triển khai để hiển thị một phần mới của kết quả đã tìm nạp từ việc thực hiện các lệnh trả về một con trỏ, chẳng hạn như tìm và thêm.

Một trong những thay đổi nổi bật so với phiên bản mới đã thêm hỗ trợ cho toán tử tổng hợp $sum để tính tổng các giá trị nhóm, cũng như những gì đã được thêm vào hỗ trợ cho các toán tử $limit và $skip để giới hạn số lượng và bỏ qua tài liệu khi thêm và hỗ trợ cho toán tử $count đã được thêm vào để đếm tài liệu khi thêm.

Ngoài ra, cũng cần lưu ý rằng hỗ trợ cho toán tử $unwind đã được thêm vào để phân tích cú pháp các trường mảng trong tài liệu đến và tạo danh sách với một tài liệu riêng cho từng phần tử của mảng và cũng đã thêm hỗ trợ một phần cho các lệnh collStats , dbStats và dataSize để lấy số liệu thống kê về bộ sưu tập và cơ sở dữ liệu cũng như kích thước của dữ liệu.

Của những thay đổi khác nổi bật của phiên bản mới:

  • Các trình vòng lặp hiện được sử dụng cho `sắp xếp`, `giới hạn`, `bỏ qua` và `phép chiếu`
  • phụ thuộc vết sưng
  • Cải tiến theo dõi tài nguyên
  • Đã thêm kiểm tra đối số `bỏ qua` của `tìm` và `đếm
  • Đóng iterator đúng cách
  • Các cải tiến để khởi tạo số lượng lớn trong dữ liệu thử nghiệm

Cuối cùng nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.

Đối với những người quan tâm đến mã, bạn nên biết rằng nó được viết bằng Go và được phân phối theo giấy phép Apache 2.0.

Và họ nên biết rằng cách tốt nhất để kiểm tra FerretDB là sửa đổi nó và chạy nó trên máy chủ (Linux, macOS hoặc Windows) với PostgreSQL và các phần phụ thuộc khác chạy bên trong bộ chứa Docker thông qua Docker Compose.

Trên Linux, docker phải được cài đặt trên máy chủ. Trên macOS và Windows, Docker Desktop phải được sử dụng, trong khi trên Windows, nó phải được định cấu hình để sử dụng WSL 2 mà không có bất kỳ bản phân phối nào; tất cả các lệnh phải được thực thi trên máy chủ.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.