Я пытаюсь создать фреймворк в Java, который будет поддерживать цепочку/конвейерные запросы, в которых вывод одного запроса будет преобразован для использования в качестве ввода других запросов. Что-то вроде PyCascading Эти запросы будут выполнены во время выполнения. Я посмотрел на некоторые рамки и натолкнулся на Apache Camel & Spring Integration, поскольку они обеспечивают концепцию цепочки и маршрутизации (шаблоны интеграции предприятия). Я нашел Apache Camel лучше, чем Spring Integration (IMHO).Создание запроектированных запросов SQL/NOSQL в Java
Должен ли я пойти на верхушку Apache для своих фреймов или есть лучший способ добиться этого?
Мой Синтаксис запросов будет
Query query1 = "select customer.id from customer where customer.name = 'ABC'";
Query query2 = "select account.id from account where account.custid in {$1}";
// $1 will be the input of second query
from(query1).inputto(query2).printOutput();
Я бы цепь операторы SQL в SQL 'выберите account.id со счета, клиент где account.custid = клиент. id и customer.name = 'ABC'' Вытаскивание данных из базы данных просто для его возврата снова неэффективно. –
Я согласен с тем, что это будет лучшим способом, но мои таблицы sql будут находиться в распределенных базах данных, и это может быть SQL или NOSQL. Таким образом, объект запроса будет заботиться о выполнении. – Abhishek
Я бы сохранил все данные, которые, вероятно, будут объединены логически вместе. По возможности я бы поместил несвязанные данные в разные базы данных. Я бы попробовал только одну или две базы данных, которые предоставят вам все, что вам нужно. –