로버트 C. 마틴의 많은 내용을 읽거나보고 있습니다. 나는 솔리드 스테이트 드라이브로 인해 SQL이 필요하지 않다고 말했습니다. 이것을 백업하기 위해 다른 소스를 검색 할 때 하드 드라이브와 솔리드 스테이트 드라이브 간의 SQL 성능 차이 (관련되어 있지만 연구하려는 것은 아님)를 설명하는 무작위 기사가 많이 있습니다.
궁극적으로, 나는 그가 무엇을 얻으려고 노력하는지 이해하지 못한다. 그는 SQL을 No-SQL 기술로 대체한다고 말하고 있습니까? 파일 시스템의 파일에 데이터 저장을 말하는 것입니까? 아니면 사람들이 SQLi 공격으로 인해 SQL / 관계형 데이터베이스 사용을 중단하기를 원합니까? 그가 만들고자하는 요점이 빠질까 걱정이다.
나는 당신이 그의 마음에서 바로 읽을 수 있도록 여기에 링크를 제공 할 것입니다 :
먼저 그는 SQL을 시스템에서 완전히 제거해야한다고 말합니다.
해결책. 유일한 해결책. 시스템에서 SQL을 완전히 제거하는 것입니다. SQL 엔진이 없으면 SQLi 공격이 없을 수 있습니다.
그는 SQL을 API로 대체하는 것에 대해 이야기하지만, 이전 인용문과 기사의 앞부분에서 말한 것처럼 API 뒤에 SQL을 배치한다는 의미는 아닙니다.
프레임 워크는 문제를 처리하지 않습니다.
참고 : SQL을 말할 때 Robert는 대부분의 관계형 데이터베이스를 의미한다고 확신합니다. 어쩌면 대부분이 아닐 수도 있습니다. 어쨌든 대부분의 사람들은 어쨌든 SQL을 사용하고 있습니다. 그래서...
SQL을 사용하여 데이터를 유지하지 않는다면 무엇을 사용해야합니까?
대답하기 전에, 나는 또한 주목해야한다. Robert는 솔리드 스테이트 드라이브가 데이터를 유지하는 데 사용하는 도구를 변경해야한다고 강조합니다. Søren D. Ptæus의 답변이 이것을 지적합니다.
또한 "하지만 데이터 무결성"그룹에도 대응해야합니다. 추가 연구 결과 Robert는 datomic 과 같은 트랜잭션 데이터베이스를 사용해야한다고 말합니다 . 그런 다음 CRUD는 CR (만들기 및 읽기)로 바뀌고 SQL 트랜잭션은 모두 사라집니다. 데이터 무결성은 물론 중요합니다.
이 모든 것을 포괄하는 질문을 찾을 수 없습니다. Robert의 지침에 맞는 대안을 찾고 있다고 생각합니다. Datomic은 하나이지만 그게 다입니까? 이 지침에 맞는 다른 옵션은 무엇입니까? 그리고 실제로 솔리드 스테이트 드라이브에서 더 잘 작동합니까?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
. 실제로 잘못 된 것은 SQL이 아니지만, 무지한 프로그래머에게는 열악합니다.