Những người chỉ trích SQL đối mặt với phản ứng mạnh mẽ khi cộng đồng bảo vệ tiêu chuẩn cơ sở dữ liệu

Nhóm Cộng đồng BigGo
Những người chỉ trích SQL đối mặt với phản ứng mạnh mẽ khi cộng đồng bảo vệ tiêu chuẩn cơ sở dữ liệu

Một bài viết gần đây liệt kê 13 lý do tại sao SQL nên bị loại bỏ đã gây ra cuộc tranh luận sôi nổi trong cộng đồng nhà phát triển. Bài viết này chỉ trích mọi thứ từ vấn đề mở rộng bảng đến các vấn đề tương thích JSON. Tuy nhiên, phản ứng từ các nhà phát triển dày dạn kinh nghiệm lại hoàn toàn bác bỏ, với nhiều người gọi các lập luận này là nông cạn và sai lệch.

Những Chỉ Trích Chính Của Bài Viết Gốc:

  • Các bảng không mở rộng được ở quy mô lớn
  • Hỗ trợ JSON/XML nguyên bản kém
  • Quá trình marshalling dữ liệu tốn thời gian
  • Khả năng thời gian thực hạn chế
  • Các thao tác JOIN phức tạp
  • Cấu trúc cột cứng nhắc
  • Kết quả tối ưu hóa không nhất quán
  • Các lỗ hổng bảo mật SQL injection
  • Triển khai không chuẩn giữa các nhà cung cấp

Cộng đồng bác bỏ các lập luận chống SQL

Cộng đồng nhà phát triển nhanh chóng tập hợp để bảo vệ SQL, với nhiều lập trình viên có kinh nghiệm chỉ ra những lỗ hổng cơ bản trong lời chỉ trích. Phản ứng đáp trả diễn ra nhanh chóng và quyết liệt, với các nhà phát triển đặt câu hỏi về sự hiểu biết của tác giả về các nguyên tắc cơ bản của cơ sở dữ liệu. Một phản hồi đặc biệt nổi bật đã làm rõ sự vô lý khi phàn nàn về các bảng trong hệ thống cơ sở dữ liệu quan hệ, lưu ý rằng điều này giống như việc ngạc nhiên trước tính năng cốt lõi của công nghệ.

Lời chỉ trích tập trung nhiều vào những gì nhiều người coi là chiến thuật câu click thay vì phân tích kỹ thuật thực sự. Một số thành viên cộng đồng đã hoàn toàn từ bỏ việc đọc bài viết sau khi gặp phải những gì họ cho là các lập luận mở đầu có lỗ hổng cơ bản về mở rộng bảng và tương thích JSON.

Phân tích phản hồi từ cộng đồng:

  • Nhiều nhà phát triển gọi bài viết này là "clickbait" và "nông cạn"
  • Một số độc giả đã ngừng đọc sau hai điểm đầu tiên về việc mở rộng bảng và khả năng tương thích JSON
  • Bảo vệ mạnh mẽ kiến trúc cốt lõi dựa trên bảng của SQL
  • Nhấn mạnh vào lợi thế hiệu ứng mạng lưới và hệ sinh thái của SQL

Hiệu ứng mạng lưới giữ cho SQL thống trị

Bất chấp nhiều nỗ lực thay thế SQL trong nhiều thập kỷ qua, ngôn ngữ này vẫn duy trì sự thống trị thông qua cái mà các chuyên gia gọi là hiệu ứng mạng lưới. Mọi nhà cung cấp cơ sở dữ liệu đều biết rằng họ phải hỗ trợ một số dạng ngôn ngữ truy vấn giống SQL để duy trì khả năng cạnh tranh. Điều này tạo ra một chu kỳ tự củng cố nơi kiến thức SQL trở nên ngày càng có giá trị, và các lựa chọn thay thế gặp khó khăn trong việc đạt được sự chấp nhận có ý nghĩa.

Sức bền của SQL không chỉ về giá trị kỹ thuật. Đó là về hệ sinh thái khổng lồ của các công cụ, kiến thức và cơ sở hạ tầng được xây dựng xung quanh nó. Khi hàng triệu nhà phát triển đã biết SQL và vô số hệ thống phụ thuộc vào nó, rào cản để chuyển đổi trở nên rất lớn.

Những lời chỉ trích về SQL đang bị loại bỏ vì không xứng đáng, phản ánh hiệu ứng mạng lưới mạnh mẽ và sự thống trị của ngôn ngữ SQL
Những lời chỉ trích về SQL đang bị loại bỏ vì không xứng đáng, phản ánh hiệu ứng mạng lưới mạnh mẽ và sự thống trị của ngôn ngữ SQL

Các công nghệ thay thế vẫn còn ở phân khúc ngách

Trong khi bài viết gốc quảng bá các lựa chọn thay thế như GraphQL và các giải pháp NoSQL, phản ứng của cộng đồng cho thấy những công nghệ này phục vụ các trường hợp sử dụng cụ thể thay vì thay thế SQL một cách tổng quát. Các ứng dụng hiện đại thường sử dụng nhiều công nghệ cơ sở dữ liệu cùng nhau, với các cơ sở dữ liệu SQL xử lý dữ liệu có cấu trúc và các hệ thống chuyên biệt quản lý các khối lượng công việc cụ thể như lưu trữ tài liệu hoặc mối quan hệ đồ thị.

Thực tế là hầu hết dữ liệu đều phù hợp tốt với các bảng, và mô hình quan hệ tiếp tục giải quyết các vấn đề thực tế một cách hiệu quả. Thay vì coi điều này là một hạn chế, các nhà phát triển có kinh nghiệm xem đây là điểm mạnh của SQL - cung cấp một cách đã được chứng minh và tiêu chuẩn hóa để xử lý phần lớn các tác vụ quản lý dữ liệu.

SQL thật tuyệt vời.

Tuyên bố đơn giản này từ cuộc thảo luận cộng đồng nắm bắt được tình cảm của nhiều nhà phát triển đã làm việc với SQL một cách sâu rộng và đánh giá cao độ tin cậy cũng như sự hỗ trợ rộng rãi của nó.

Tham khảo: 13 reasons SQL has got to go