Я читал / смотрел много контента Роберта С. Мартина. Я сталкивался с ним, говоря, что SQL не нужен из-за твердотельных накопителей. Когда я ищу другие источники, чтобы поддержать это, я получаю кучу случайных статей, описывающих разницу производительности SQL между жесткими дисками и твердотельными накопителями (что связано, но не то, что я пытаюсь исследовать).
В конечном счете, я не понимаю, к чему он стремится. Он говорит заменить SQL технологиями без SQL? Он говорит хранить данные в файлах в файловой системе? Или он просто хочет, чтобы люди прекратили использовать SQL / реляционные базы данных из-за SQLi-атак? Боюсь, мне не хватает того, что он пытается сделать.
Я приведу здесь несколько ссылок, чтобы вы могли читать прямо из его мыслей:
Во-первых, он заявляет, что SQL должен быть полностью удален из системы.
Решение. Единственное решение. Это исключить SQL из системы полностью. Если нет механизма SQL, тогда не может быть никаких атак SQLi.
И хотя он говорит о замене SQL на API, я НЕ думаю, что он имеет в виду поместить SQL за API из-за этой предыдущей цитаты и того, что он сказал ранее в этой статье.
Рамки не решают проблему; ...
Примечание: говоря о SQL, я почти уверен, что Роберт имеет в виду большинство реляционных баз данных. Может быть, не все, но большинство. В любом случае, большинство людей все равно используют SQL. так...
Если SQL не используется для сохранения данных, то что мы должны использовать?
Прежде чем ответить на это, я должен также отметить. Роберт подчеркивает, что твердотельные накопители должны изменить инструменты, которые мы используем для сохранения данных. Ответ Сёрена Д. Птюса указывает на это.
Я также должен ответить на группу «но целостность данных». После некоторых дальнейших исследований Роберт говорит, что мы должны использовать транзакционные базы данных, такие как datomic . Затем CRUD превращается в CR (создание и чтение), и транзакции SQL вообще исчезают. Целостность данных, конечно, важна.
Я не могу найти вопрос, который охватывает все это. Я думаю, я ищу альтернативы, которые соответствуют рекомендациям Роберта. Datomic один, но это так? Какие другие варианты соответствуют этим рекомендациям? И действительно ли они лучше работают с твердотельными накопителями?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
. В этом виноват не SQL, а бедные, невежественные программисты.