Tôi đã đọc / xem rất nhiều nội dung của Robert C. Martin. Tôi đã bắt gặp anh ta nói rằng SQL là không cần thiết vì các ổ đĩa trạng thái rắn. Khi tôi tìm kiếm các nguồn khác để sao lưu này, tôi nhận được một loạt các bài viết ngẫu nhiên mô tả sự khác biệt về hiệu suất SQL giữa các ổ đĩa cứng và ổ đĩa trạng thái rắn (có liên quan nhưng không phải là những gì tôi đang cố gắng nghiên cứu).
Cuối cùng, tôi không hiểu anh ấy đang cố gắng làm gì. Có phải ông đang nói thay thế SQL bằng các công nghệ No-SQL? Có phải ông đang nói lưu trữ dữ liệu trong các tệp trong một hệ thống tệp? Hay anh ta chỉ muốn mọi người ngừng sử dụng Cơ sở dữ liệu SQL / Quan hệ vì các cuộc tấn công SQLi? Tôi sợ rằng tôi đang thiếu điểm mà anh ấy đang cố gắng thực hiện.
Tôi sẽ cung cấp một số liên kết ở đây để bạn có thể đọc thẳng từ tâm trí của anh ấy:
Đầu tiên, ông tuyên bố rằng SQL nên được loại bỏ hoàn toàn khỏi hệ thống.
Giải pháp. Giải pháp duy nhất. Là để loại bỏ SQL hoàn toàn khỏi hệ thống. Nếu không có công cụ SQL, thì không thể có các cuộc tấn công SQLi.
Và mặc dù anh ấy nói về việc thay thế SQL bằng API, tôi KHÔNG nghĩ anh ấy có nghĩa là đặt SQL đằng sau một API vì câu nói trước đó và những gì anh ấy đã nói trước đó trong bài viết.
Các khung không xử lý vấn đề; ...
Lưu ý bên lề: Khi nói SQL, tôi khá chắc chắn Robert có nghĩa là hầu hết các cơ sở dữ liệu quan hệ. Có lẽ không phải tất cả nhưng hầu hết. Trong mọi trường hợp, hầu hết mọi người đang sử dụng SQL. vì thế...
Nếu SQL không được sử dụng để duy trì dữ liệu, vậy thì chúng ta phải sử dụng cái gì?
Trước khi trả lời, tôi cũng cần lưu ý. Robert nhấn mạnh rằng các ổ đĩa trạng thái rắn nên thay đổi các công cụ mà chúng ta sử dụng để duy trì dữ liệu. Câu trả lời của Søren D. Ptæus chỉ ra điều này.
Tôi cũng phải trả lời nhóm "nhưng toàn vẹn dữ liệu". Sau khi nghiên cứu thêm, Robert nói rằng chúng ta nên sử dụng cơ sở dữ liệu giao dịch như datomic . Sau đó CRUD biến thành CR (tạo và đọc) và các giao dịch SQL biến mất hoàn toàn. Toàn vẹn dữ liệu là tất nhiên quan trọng.
Tôi không thể tìm thấy một câu hỏi bao gồm tất cả những điều này. Tôi đoán tôi đang tìm giải pháp thay thế phù hợp với hướng dẫn của Robert. Datomic là một nhưng là nó? Những lựa chọn khác phù hợp với những hướng dẫn này? Và họ thực sự làm việc tốt hơn với các ổ đĩa trạng thái rắn?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
. Đó không phải là SQL thực sự có lỗi, mà là những lập trình viên kém, không biết gì.