Valkey 8.0, một nhánh của Redis DBMS từ Amazon, Google, Oracle và Ericsson, đã được xuất bản

Trình bày là việc phát hành dự án Valkey 8.0, dự án phát triển một nhánh của Redis DBMS, được tạo sau khi cơ sở mã Redis được chuyển sang giấy phép độc quyền. Dự án đang được phát triển trên nền tảng trung lập dưới sự bảo trợ của Linux Foundation với sự tham gia của các nhà phát triển đến từ các công ty như Amazon, Google, Oracle, Ericsson và Snap. Các nhà phát triển của Valkey bao gồm Madelyn Olson, cựu người bảo trì Redis. Mã dự án được viết bằng C và được phân phối theo giấy phép BSD. Hỗ trợ hoạt động trên Linux, macOS, OpenBSD, NetBSD và FreeBSD.

Bắt đầu từ bản phát hành 7.4, Redis DBMS đã được chuyển sang sử dụng các giấy phép RSALv2 (Giấy phép có sẵn nguồn của Redis v2) và SSPLv1 (Giấy phép công cộng phía máy chủ v1), dẫn đến sự phân biệt đối xử đối với một số loại người dùng nhất định, điều này không cho phép họ được coi là mở hoặc miễn phí. Về mục tiêu, cả hai giấy phép đều tương tự nhau và sự khác biệt nằm ở thực tế là giấy phép SSPL dựa trên giấy phép copyleft AGPLv3 và giấy phép RSAL dựa trên giấy phép BSD cho phép. Giấy phép RSAL cho phép bạn sử dụng, sửa đổi, phân phối và tích hợp mã vào các ứng dụng, ngoại trừ khi các ứng dụng này mang tính thương mại hoặc được sử dụng để cung cấp các dịch vụ trả phí được quản lý). Giấy phép SSPL còn bao gồm yêu cầu cung cấp theo cùng một giấy phép 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.

Valkey và Redis cung cấp các chức năng lưu trữ dữ liệu ở định dạng cặp khóa/giá trị, được mở rộng với hỗ trợ cho các định dạng dữ liệu có cấu trúc như danh sách, bảng băm và tập hợp, cùng khả năng thực thi song song. người phục vụ Các tập lệnh xử lý dựa trên Lua. Cơ sở dữ liệu được lưu trữ trong bộ nhớ và đồng bộ hóa với phiên bản trên đĩa hoặc được phản ánh trong nhật ký thay đổi trên đĩa, đảm bảo tính toàn vẹn dữ liệu trong trường hợp xảy ra sự cố. Các giao dịch, chế độ xuất bản/đăng ký, lệnh tăng/giảm, các thao tác liệt kê và tập hợp (hợp, giao), đổi tên khóa, sao chép chính-phụ, chọn nhiều mục và các chức năng sắp xếp được hỗ trợ.

Việc phát hành Valkey 8.0 được coi là bản phát hành quan trọng đầu tiên của dự án. Trong số những thay đổi:

  • Các tối ưu hóa đã được thực hiện để phân phối tải giữa các lõi CPU có sẵn và cho phép các luồng xử lý I/O hoạt động đồng thời với luồng chính, giúp thực thi các lệnh và xử lý các hoạt động I/O song song. Hiệu quả của việc xử lý các lệnh ở chế độ hàng loạt đã được cải thiện, chẳng hạn như tính năng hỗ trợ đã được thêm vào để chủ động truy xuất dữ liệu được sử dụng thường xuyên để lưu trữ vào bộ đệm của bộ xử lý. Khi thử nghiệm trong môi trường AWS r7g, phiên bản mới đã thể hiện khả năng xử lý lên tới 1.2 triệu yêu cầu mỗi giây, gấp ba lần so với phiên bản trước.
  • Cải thiện khả năng mở rộng và tính ổn định của cấu hình cụm. Thêm hỗ trợ chuyển đổi dự phòng tự động sang máy chủ dự phòng. may chủ Trong trường hợp xảy ra lỗi (chuyển đổi dự phòng) đối với các nút có khe phân mảnh trống chưa được điền đầy, việc sao chép dữ liệu trạng thái khe đã được đảm bảo — tất cả các lệnh "CLUSTER SETSLOT" hiện được sao chép đồng bộ trước khi thực thi trên nút chính, tăng khả năng sống sót của cụm trong trường hợp nút chính bị lỗi. Khả năng tự động khôi phục trạng thái khe di chuyển đã được thêm vào.
  • Công việc sao chép đã được tăng tốc nhờ truyền đồng thời các kết xuất RDB (Sao lưu cơ sở dữ liệu Redis) và nhật ký các thay đổi tích lũy (tồn đọng) trong các luồng khác nhau. Thử nghiệm cho thấy độ trễ thao tác ghi giảm và thời gian đồng bộ hóa giảm tới 50% khi tải với luồng lệnh đọc rất chuyên sâu. Giảm đáng kể mức tiêu thụ bộ nhớ trên nút chính.
  • Các số liệu mới với số liệu thống kê liên quan đến từng vị trí và khách hàng đã được thêm vào. Ví dụ: số liệu có sẵn trên các máy khách sử dụng cơ chế xuất bản/đăng ký, độ trễ trong xử lý sự kiện, lưu lượng kênh lệnh, số liệu thống kê về việc sắp xếp lại bảng băm bộ nhớ, cũng như số lượng khóa, lưu lượng truy cập và tải CPU trên mỗi khe.
  • Việc lưu trữ khóa đã được tối ưu hóa, giảm mức tiêu thụ bộ nhớ khoảng 10%.
  • Đã thêm khả năng hoạt động trong các hệ thống sử dụng đồng thời IPv4 và IPv6.
  • Hiệu quả của cơ chế “xuất bản/đăng ký” đã được tăng lên, trong đó một kênh được tạo ra, các tin nhắn từ đó được phân phối đến khách hàng bằng cách đăng ký.
  • Đã thêm hỗ trợ thử nghiệm để làm việc trên RDMA.

Nguồn: opennet.ru

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