
ExtendDB: Bộ điều hợp tương thích Amazon DynamoDB mã nguồn mở với các phần phụ trợ lưu trữ có thể cắm được
AWS gần đây đã công bố ExtendDB, một bộ điều hợp tương thích với DynamoDB cho phép các nhà phát triển sử dụng API DynamoDB với các hệ thống lưu trữ phụ trợ khác nhau, bắt đầu với PostgreSQL. Dự án hỗ trợ các SDK và công cụ hiện có mà không cần sửa đổi, mang lại cho các nhóm sự linh hoạt cao hơn để chạy các tác vụ kiểu DynamoDB bên ngoài DynamoDB gốc, đồng thời duy trì khả năng tương thích với các ứng dụng và quy trình làm việc hiện tại.
Trang chủ InfoQ
Tin tức
ExtendDB: Bộ điều hợp tương thích Amazon DynamoDB mã nguồn mở với các phần phụ trợ lưu trữ có thể cắm được
AI, ML & Kỹ thuật dữ liệu
ExtendDB: Bộ điều hợp tương thích Amazon DynamoDB mã nguồn mở với các phần phụ trợ lưu trữ có thể cắm được
Ngày 07/6/2026
2 phút đọc
bởi
Renato Losio
Viết cho InfoQ
Thỏa mãn sự tò mò của bạn.
Giúp hơn 550 nghìn nhà phát triển cấp cao toàn cầu mỗi tháng luôn dẫn đầu. Liên hệ
Nghe bài viết này - 0:00
Âm thanh sẵn sàng phát
Trình duyệt của bạn không hỗ trợ phần tử âm thanh.
0:00
0:00
Bình thường 1,25x 1,5x
Thích
Danh sách đọc
AWS gần đây đã công bố ExtendDB, một bộ điều hợp tương thích DynamoDB cho phép các nhà phát triển sử dụng API DynamoDB với các phần phụ trợ lưu trữ khác nhau, bắt đầu với PostgreSQL. Dự án mã nguồn mở này hỗ trợ các AWS SDK và công cụ hiện có mà không cần sửa đổi, mang lại cho các nhóm sự linh hoạt cao hơn để chạy các tác vụ kiểu DynamoDB bên ngoài DynamoDB gốc trong khi vẫn duy trì khả năng tương thích với các ứng dụng và quy trình làm việc hiện tại.
Hiện tại ở phiên bản 0.1, ExtendDB triển khai các API mặt phẳng điều khiển và mặt phẳng dữ liệu của DynamoDB, bao gồm hỗ trợ cho các bảng, mục và luồng. Phần phụ trợ lưu trữ ban đầu của nó là PostgreSQL, trong khi thiết kế có thể cắm được của bộ điều hợp cho phép bổ sung các phần phụ trợ khác một cách độc lập. Nó có thể được sử dụng để phát triển cục bộ, kiểm thử CI và chạy các tác vụ tương thích DynamoDB trong môi trường tại chỗ được hỗ trợ bởi cơ sở dữ liệu PostgreSQL. Lee Hannigan, kỹ sư cơ sở dữ liệu cấp cao tại AWS, và Deepthi Mohan, quản lý sản phẩm chính tại AWS, giải thích:
ExtendDB là một triển khai của giao thức dây DynamoDB, được viết bằng Rust và được phát triển bởi các kỹ sư AWS. Hãy coi nó như một trình dịch nằm giữa ứng dụng của bạn và phần phụ trợ lưu trữ của bạn. Nếu bạn sử dụng phần phụ trợ tham chiếu PostgreSQL, ứng dụng của bạn nói DynamoDB, ExtendDB dịch sang SQL và PostgreSQL xử lý việc lưu trữ.
ExtendDB chạy dưới dạng một tệp nhị phân duy nhất không có các phụ thuộc thời gian chạy bên ngoài. Nó yêu cầu TLS, tạo chứng chỉ tự ký khi chạy lần đầu và hỗ trợ xác thực SigV4 thông qua kho lưu trữ thông tin xác thực cục bộ giống IAM, tương thích với các quy trình ký DynamoDB tiêu chuẩn. Hannigan và Mohan cho biết thêm:
ExtendDB phân tách các mối quan tâm thành các Rust crate. Crate cốt lõi xử lý các kiểu, xác thực và đánh giá biểu thức dưới dạng Rust đồng bộ thuần túy. Crate engine triển khai ngữ nghĩa API của DynamoDB. Crate storage-postgres là phần phụ trợ PostgreSQL, được xây dựng dựa trên một storage trait định nghĩa giao diện mà bất kỳ phần phụ trợ nào cũng phải triển khai. Crate server kết nối tất cả lại với nhau bằng một máy chủ HTTP, API quản lý và bảng điều khiển web.
Lớp lưu trữ được định nghĩa là một Rust trait, cho phép thêm các phần phụ trợ bổ sung như Apache Cassandra hoặc MySQL mà không cần sửa đổi bộ điều hợp cốt lõi. Trả lời các câu hỏi về sự khác biệt với DynamoDB Local, Hannigan làm rõ trên LinkedIn:
Ban đầu, trong phiên bản hiện tại, nó không khác biệt nhiều ngoại trừ việc bạn có thể sử dụng Postgres. Nhưng khi chúng tôi phát triển, nó sẽ có nhiều điểm tương đồng hơn với DynamoDB và có khả năng phù hợp để chạy cho các khối lượng công việc sản xuất. Hãy nghĩ đến khi một số ứng dụng của bạn phải duy trì tại chỗ vì lý do tuân thủ, v.v.
Trong khi Corey Quinn đã mở một PR để thêm phần phụ trợ Route53, trong một chủ đề Reddit phổ biến, người dùng Akustic646 bình luận:
Sẽ rất thú vị khi xem mọi người sẽ làm gì với điều này, hơi ngạc nhiên khi AWS cung cấp nó.
Người dùng Dull-Mathematician45 viết thay vào đó:
Đáng buồn thay, hiệu suất chưa tốt. Độ trễ tăng vọt dưới tải ghi cao. Tôi đang thấy độ trễ p90 là 300ms trên các lệnh update_item và nó khiến các lệnh đọc đạt 20ms p90. Điều này xảy ra khi chạy với đồng thời 10 trên MacBook 16 lõi.
Một dự án Rust tương tự, có tên Rektifier, đã được phát triển độc lập trước khi ExtendDB được phát hành, phản ánh sự quan tâm rộng rãi hơn đến các proxy tương thích với DynamoDB, được hỗ trợ bởi PostgreSQL. Tác giả của nó, Jake Larkin, cũng tuyên bố kết quả hiệu suất ban đầu mạnh mẽ hơn.
Có sẵn trên GitHub theo giấy phép Apache-2.0, ExtendDB chạy trên Linux và macOS và yêu cầu Rust 1.85+ và PostgreSQL 14+.
Shopify báo cáo tốc độ thực thi GraphQL nhanh hơn 15 lần với Breadth First Engine
/filters:no_upscale()/news/2026/06/extenddb-dynamodb-adapter/en/resources/1DB5622-1-1779640791081.png)
Nguồn tin: InfoQ AI — Tác giả: Renato Losio. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.