SQL
Приведите примеры удачного использования драйверов БД во фреймворках, более высокоуровневых, чем SQL.
То есть когда программист не залезает в программирование SQL запросов, а использует модель средствами языка программирования + библиотеки фреймворка MVC. И насколько это удобней?
вопрос некорректно стоит. если говорить об уровнях, SQL - единственный широко используемый язык программирования четвертого поколения. языка программирования более высокого уровня еще не изобрели. потому когда используешь библиотеку или фреймворк, скрывающий SQL внутри, то это не повышение уровня, а оболочка, причем на языке третьего поколения (например C), то есть более низкого уровня.
с оболочками такого рода вопрос стоит не в том, что она делает, а в том для чего и как она это делает. в общем случае использование оболочки дает overhead, то есть снижение производительности и рост потребления ресурсов. кроме этого оболочка почти всегда снижает гибкость использования. потому удачное использование таких оболочек встречается в узких задачах.
например, имеется высоконагруженная система и для снижения этой нагрузки вводится дополнительный уровень абстракции между действиями пользователя и СУБД с тем, чтобы DDL шел не по мере фактической потребности, а пакетами. запросы данных, при этом, также брались не из СУБД, а из кэша, где возможно. тут возникает куча нюансов про согласование, но в рамках узкой задачи они разрешимы. я видел реализации, позволяющие снизить загрузку до 50% таким подходом.
MVC в типичном случае - это штука исключительно для удбства разработки. плюса у нее ровно 2:
1. снижение трудоемкости создания интерфейса пользователя.
2. стандартизация интерфейса пользователя.
остальное - стандартные минусы: overhead и снижение гибкости использования. в случае коммерческих фреймворков сборка интерфейсов пользователя на таких сложных компонентах почти наверно приводит к проблемам нарушения обратной совместимости, то есть сокращает цикл эксплуатации ПО, что в свою очередь повышает стоимость эксплуатации системы.
короче, для всякой мелочи - нормальный хороший подход. для промышленного ПО - есть многие нюансы. конкретные примеры использования такого подхода - .Net, VCL, Qt, Java, практически любой современный скриптовый язык.
с оболочками такого рода вопрос стоит не в том, что она делает, а в том для чего и как она это делает. в общем случае использование оболочки дает overhead, то есть снижение производительности и рост потребления ресурсов. кроме этого оболочка почти всегда снижает гибкость использования. потому удачное использование таких оболочек встречается в узких задачах.
например, имеется высоконагруженная система и для снижения этой нагрузки вводится дополнительный уровень абстракции между действиями пользователя и СУБД с тем, чтобы DDL шел не по мере фактической потребности, а пакетами. запросы данных, при этом, также брались не из СУБД, а из кэша, где возможно. тут возникает куча нюансов про согласование, но в рамках узкой задачи они разрешимы. я видел реализации, позволяющие снизить загрузку до 50% таким подходом.
MVC в типичном случае - это штука исключительно для удбства разработки. плюса у нее ровно 2:
1. снижение трудоемкости создания интерфейса пользователя.
2. стандартизация интерфейса пользователя.
остальное - стандартные минусы: overhead и снижение гибкости использования. в случае коммерческих фреймворков сборка интерфейсов пользователя на таких сложных компонентах почти наверно приводит к проблемам нарушения обратной совместимости, то есть сокращает цикл эксплуатации ПО, что в свою очередь повышает стоимость эксплуатации системы.
короче, для всякой мелочи - нормальный хороший подход. для промышленного ПО - есть многие нюансы. конкретные примеры использования такого подхода - .Net, VCL, Qt, Java, практически любой современный скриптовый язык.
Вы про ORM?
Похожие вопросы
- Приведите пример запросов для статического и динамического sql
- SQL,БД. Какие данные могут быть в таблице users?
- Как в бд сверять прошло ли определённое время (К примеру 24ч.) после указаной даты в базе?
- SQL. Выводятся не все данные. 4 задача.
- Чем отличаются разные SQL?
- Не очень понятен синтаксис запросов SQL
- Помогите написать sql запросы
- Microsoft SQL Процедура получения количества товара на определенную сумму. Использование переменных после SELECT?
- Выполнение вложенного запроса в БД. Скалярные запросы.
- Вопрос по SQL + Python