Văn hóa ám ảnh hiệu năng của cơ sở dữ liệu
- Ngành cơ sở dữ liệu đang tập trung vào việc cải thiện hiệu năng, nhưng trải nghiệm người dùng thực tế thường bị ảnh hưởng bởi các yếu tố khác.
- Với người dùng khi xử lý dữ liệu, điều thực sự quan trọng có thể không phải là tối ưu hóa truy vấn mà là định dạng của dữ liệu hoặc khả năng diễn đạt câu hỏi bằng SQL.
- Hiệu năng của cơ sở dữ liệu rất quan trọng, nhưng có thể tốt hơn nếu chọn cơ sở dữ liệu dựa trên các yếu tố khác như tính dễ sử dụng, hệ sinh thái, tốc độ cập nhật và khả năng tích hợp vào quy trình làm việc.
Hồi kết của cuộc chiến benchmark
- Năm 2019, GigaOm đã công bố một benchmark so sánh các cloud data warehouse, nhưng kết quả thị trường thực tế lại cho thấy một cục diện khác.
- Khi kết quả benchmark không khớp với trải nghiệm người dùng, điều đó gợi ý rằng benchmark có thể đã sai, đã kiểm thử sai thứ cần kiểm thử, hoặc hiệu năng có thể không quan trọng đến vậy.
Ý nghĩa của sự nhanh
- Trong lĩnh vực cơ sở dữ liệu đám mây, người ta có xu hướng tập trung vào khoảng thời gian từ lúc người dùng bấm nút "Run" đến khi kết quả sẵn sàng.
- Điều thực sự tác động đến người dùng là thời gian để hoàn thành công việc, và đó không đồng nghĩa với thời gian của máy chủ cơ sở dữ liệu.
Hiệu năng mang tính chủ quan
- Hiệu năng phải được đo từ góc nhìn của người dùng, và vì là vấn đề UX nên không thể diễn tả bằng một con số duy nhất.
- Tính chủ quan của hiệu năng có nghĩa là việc cái nào nhanh hơn sẽ được quyết định bởi cách cơ sở dữ liệu được sử dụng.
Tốc độ thay đổi
- DuckDB đang được cải thiện rất nhanh, khiến các benchmark hiện tại trở nên kém ý nghĩa.
- Khi chọn cơ sở dữ liệu, không chỉ hiệu năng hiện tại mà cả những thay đổi về hiệu năng và tính năng trong tương lai cũng là biến số quan trọng.
Không có hạt đậu thần kỳ
- Nếu mọi cơ sở dữ liệu đều được duy trì tích cực, hiệu năng theo thời gian sẽ có xu hướng hội tụ.
- Những khác biệt hiệu năng lớn khó có khả năng duy trì lâu dài theo thời gian.
Vấn đề nằm giữa ghế và bàn phím, giữa bàn phím và cơ sở dữ liệu
- Thước đo hiệu năng quan trọng với người dùng là thời gian từ khi có câu hỏi đến khi nhận được câu trả lời.
- Tính năng quan trọng là tốc độ đi từ ý tưởng đến câu trả lời, chứ không phải chỉ là thời gian cơ sở dữ liệu chạy truy vấn.
Về những chùm nho chua
- DuckDB hiện đứng nhóm đầu trong các benchmark của ClickBench và h20.ai, đồng thời cũng cho hiệu năng không tệ ở TPC-H và TPC-DS.
- Trước khi giả định một cơ sở dữ liệu là nhanh, điều quan trọng là phải thử nó trên khối lượng công việc thực tế.
Kết luận
- Những công ty cơ sở dữ liệu thành công nhất không thành công nhờ hiệu năng nhanh hơn đối thủ.
- Những cơ sở dữ liệu lấy hiệu năng làm điểm bán hàng chính đã không thành công trên thị trường.
- Khi chọn cơ sở dữ liệu, lời khuyên là nên quyết định dựa trên các yếu tố khác ngoài tốc độ thô.
Ý kiến của GN⁺
- Bài viết này nhấn mạnh rằng không chỉ tập trung vào hiệu năng của cơ sở dữ liệu mà còn cần tối ưu hóa trải nghiệm người dùng và quy trình làm việc. Đây cũng là một bài học quan trọng cho các kỹ sư phần mềm mới vào nghề: khi chọn cơ sở dữ liệu, cần cân nhắc cách tiếp cận lấy người dùng làm trung tâm thay vì chỉ nhìn vào các chỉ số hiệu năng đơn thuần.
- Hiệu năng của cơ sở dữ liệu có xu hướng hội tụ theo thời gian, vì sự tiến bộ công nghệ lan tỏa trên mọi nền tảng. Điều này cho thấy khi lựa chọn công nghệ, nên cân nhắc hỗ trợ dài hạn và khả năng cải tiến thay vì chỉ nhìn vào hiệu năng ngắn hạn.
- Các dự án mã nguồn mở như DuckDB có thể phát triển rất nhanh nhờ tốc độ cải tiến và sự hỗ trợ từ cộng đồng. Điều này có nghĩa là khi áp dụng công nghệ mới, cần xem xét mức độ năng động của cộng đồng và tốc độ phát triển của dự án.
- Khi chọn cơ sở dữ liệu, điều quan trọng là không nên chỉ dựa vào kết quả benchmark hiệu năng mà cần kiểm thử hiệu năng trên khối lượng công việc thực tế. Điều này có thể giúp chọn được cơ sở dữ liệu phù hợp hơn với trường hợp sử dụng thực tế.
- Bài viết nhấn mạnh rằng việc lựa chọn công nghệ cơ sở dữ liệu cần xem xét không chỉ khía cạnh kỹ thuật mà còn cả nhu cầu kinh doanh, độ dễ bảo trì và hiệu quả xử lý dữ liệu.
1 bình luận
Ý kiến Hacker News