TigerBeetle , một cơ sở dữ liệu tài chính chuyên biệt được xây dựng từ đầu bằng ngôn ngữ lập trình Zig , đã gây ra cuộc tranh luận sôi nổi trong cộng đồng nhà phát triển sau những tuyên bố về hiệu suất cách mạng và triết lý thiết kế của nó. Trong khi cơ sở dữ liệu này hứa hẹn cải thiện hiệu suất gấp 1000 lần so với các cơ sở dữ liệu SQL truyền thống cho các giao dịch tài chính, các thành viên cộng đồng đang đặt ra những câu hỏi quan trọng về khả năng ứng dụng thực tế và cách tiếp cận marketing của nó.
Thông số kỹ thuật chính của TigerBeetle :
- Ngôn ngữ lập trình: 100% Zig
- Phụ thuộc: Không có phụ thuộc bên ngoài
- Kiến trúc: Đơn luồng, phân tán theo mặc định
- Mô hình dữ liệu: Kế toán kép (ghi nợ/ghi có)
- Quản lý bộ nhớ: Chỉ phân bổ tĩnh
- Kiểm thử: Kiểm thử Mô phỏng Xác định ( DST )
- Tuyên bố về hiệu suất: Nhanh hơn 1000 lần so với SQL đối với khối lượng công việc tài chính có độ tranh chấp cao
Các tuyên bố về hiệu suất bị đặt dấu hỏi
Tranh cãi cốt lõi tập trung vào khẳng định của TigerBeetle rằng các cơ sở dữ liệu SQL truyền thống về cơ bản bị giới hạn ở 100-1,000 giao dịch mỗi giây (TPS) do các vấn đề tranh chấp tài nguyên. Các thành viên cộng đồng đã phản bác lại đặc điểm này, chỉ ra rằng các phiên bản MySQL và PostgreSQL được tinh chỉnh tốt có thể xử lý tải cao hơn đáng kể trong môi trường sản xuất. Một nhà phát triển đã chia sẻ kinh nghiệm với một phiên bản MySQL xử lý 80-90K truy vấn mỗi giây mà không gặp vấn đề gì, cho thấy so sánh hiệu suất có thể không phản ánh các cấu hình cơ sở dữ liệu tối ưu.
Đội ngũ TigerBeetle đã làm rõ rằng các tuyên bố hiệu suất của họ áp dụng cụ thể cho các tình huống tranh chấp cao khi nhiều giao dịch cạnh tranh cho cùng một tài nguyên, chẳng hạn như nhiều chuyển khoản ảnh hưởng đến một tài khoản duy nhất. Sự phân biệt này rất quan trọng vì hầu hết các khối lượng công việc cơ sở dữ liệu thực tế không trải qua các mô hình tranh chấp cực đoan như vậy.
Bối cảnh So sánh Hiệu suất:
- TigerBeetle tuyên bố: Giới hạn 100-1,000 TPS cho cơ sở dữ liệu SQL trong điều kiện tranh chấp
- Phản bác từ cộng đồng: MySQL xử lý 80-90K QPS trong môi trường sản xuất
- Điểm khác biệt chính: TigerBeetle được tối ưu hóa cho các tình huống tranh chấp cao (nhiều giao dịch trên cùng tài khoản)
- Cơ sở dữ liệu truyền thống: Tốt hơn cho khối lượng công việc đa mục đích, tranh chấp thấp
Thiếu xác thực gây ra mối lo ngại về triển khai
Một rào cản thực tế đáng kể đã xuất hiện xung quanh việc TigerBeetle thiếu các cơ chế xác thực tích hợp. Các nhà phát triển cố gắng tích hợp cơ sở dữ liệu với các nền tảng serverless hiện đại như Cloudflare Workers đã thấy mình bị cản trở bởi hạn chế này. Cơ sở dữ liệu yêu cầu kiểm soát truy cập dựa trên IP ở cấp máy chủ, điều này không hoạt động tốt với các kiến trúc serverless thiếu địa chỉ IP cố định.
Khoảng trống xác thực này đã dẫn đến các câu hỏi về sự sẵn sàng của cơ sở dữ liệu cho việc triển khai sản xuất, đặc biệt trong các môi trường cloud-native nơi bảo mật và kiểm soát truy cập là những mối quan tâm hàng đầu.
Những hạn chế được cộng đồng báo cáo:
- Không có hệ thống xác thực tích hợp sẵn
- Không hỗ trợ SQL
- Xử lý đơn lõi (không có khả năng mở rộng theo chiều ngang trên mỗi node)
- Khả năng tương thích hạn chế với các nền tảng serverless
- Trường hợp sử dụng chuyên biệt (chỉ dành cho giao dịch tài chính)
- Không hỗ trợ runtime Cloudflare Workers
Triết lý thiết kế chuyên biệt chia rẽ ý kiến
Cách tiếp cận của TigerBeetle trong việc xây dựng một cơ sở dữ liệu dành riêng cho kế toán kép đã tạo ra những phản ứng trái chiều. Những người ủng hộ đánh giá cao sự tập trung vào các nguyên tắc tài chính như ghi nợ và ghi có, lập luận rằng sự chuyên biệt này cho phép hiệu suất vượt trội cho các khối lượng công việc kế toán. Những người chỉ trích đặt câu hỏi liệu các lợi ích có biện minh cho việc từ bỏ tính linh hoạt và hệ sinh thái của các cơ sở dữ liệu SQL hay không.
Triết lý không phụ thuộc và việc sử dụng thử nghiệm mô phỏng xác định của cơ sở dữ liệu đã thu hút sự khen ngợi từ các nhà phát triển coi trọng độ tin cậy và khả năng dự đoán. Tuy nhiên, một số thành viên cộng đồng tự hỏi liệu cách tiếp cận này có tạo ra những hạn chế không cần thiết hay không, đặc biệt là thiết kế đơn luồng ngăn cản việc mở rộng theo chiều ngang trong một nút duy nhất.
Mối lo ngại về thiên vị đầu tư
Thảo luận cộng đồng cũng đã làm nổi bật rằng bài viết gốc khen ngợi TigerBeetle được viết bởi một công ty đầu tư đã tài trợ cho công ty. Tiết lộ này đã dẫn đến các lời kêu gọi đánh giá cân bằng hơn về những ưu điểm và hạn chế của công nghệ, tách biệt khỏi nội dung quảng cáo.
Cuộc tranh luận phản ánh những căng thẳng rộng lớn hơn trong cộng đồng cơ sở dữ liệu giữa các giải pháp chuyên biệt xuất sắc trong các trường hợp sử dụng hẹp và các hệ thống đa mục đích cung cấp tính linh hoạt trên các khối lượng công việc đa dạng. Trong khi các đổi mới kỹ thuật của TigerBeetle trong các lĩnh vực như đồng bộ hóa đồng hồ chịu lỗi và xử lý lỗi lưu trữ rất ấn tượng, những thách thức thực tế của việc áp dụng vẫn là những rào cản đáng kể đối với nhiều người dùng tiềm năng.
Tham khảo: Why TigerBeetle is the most interesting database in the world