Есть некий веб-сервис, написанный на ... неважно, а то флейм будет, предоставляющий REST через http. С insert/update/delete в принципе все понятно, они контролируются логикой приложения, а вот с select все сложнее - клиентам необходимо делать сложные выборки со вложенными подзапросами, бешеными джойнами, группировками, аггрегацией и т.п. Причем разнообразие таких запросов обещает расти.
Задумался на тему нужности изобретений и маппинга возможностей SQL на JSON/URL-query, и очень мне не хочется все это делать.
А что если сделать так:
* создаем пользователя БД, который имеет права только на чтение некоторых таблиц определенной БД и все
* клиенты сервиса формируют SQL-запрос целиком, т.е. «select ... join ... where .. group by ... etc» и отправляют его строкой на сервис
* сервис выполняет его напрямую на БД от имени вышеуказанного пользователя
* результаты форматирует и отправляет клиенту
Насколько это будет безопасно/криво? С точки зрения скорости разработки/производительности - офигенно по-моему.
По безопасности - для таких запросов БД read-only, кроме того, можно на каждую таблицу создать VIEW, и дать доступ только к нему (таблицы запретить), а на уровне VIEW контролировать права доступа на чтение каждой строки (ACL определяемый приложением, не БД).
Еще хотелось бы насильно насаждать LIMIT x,y (в случае MySQL), чтобы нельзя было повесить всё запросом на миллионы строк (в проекте есть большие таблицы)
собственно вот. что скажут местные аналитики?
Ответ на:
комментарий
от umren
Ответ на:
комментарий
от mashina
Ответ на:
комментарий
от zed_0xff
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от zed_0xff
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от vtVitus
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от gh0stwizard
Ответ на:
комментарий
от feofil
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от gh0stwizard
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от dib2
Ответ на:
комментарий
от TERRANZ
Ответ на:
комментарий
от gh0stwizard
Ответ на:
комментарий
от legolegs
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Новости Google представил Lovefield — SQL- подобный движок запросов к БД на основе Javascript (2014)
- Форум Ищу тестировщика к себе в команду (2020)
- Форум Web сервисы (2005)
- Форум напрограммировать web сервис (2010)
- Форум Web-сервис eclipse (2024)
- Форум p2p -> web сервис (2008)
- Форум web-mail сервис (2006)
- Новости Вышел PostgreSQL 9.5! (2016)
- Форум Консультацья по «партнёру» web-сервиса (2013)
- Форум web-лицо для нескольких сервисов (2014)