У меня есть статистика облачной статистики (структурированные данные:: CSV); который я должен предоставить администратору и пользователю.
Но для масштабируемости; сбор данных будет собираться несколькими машинами (первичным монитором), который связан с отдельными БД.
Теперь менеджер (Mgr) отвечает за многоадресную рассылку запроса на все перфорированные мониторы; для сбора данных общей статистики для удовлетворения единого запроса пользовательского интерфейса.
Итак, вопросы:
1) Как я сделаю, чтобы данные для нескольких мониторов были отсортированы на основе запрос клиента в Mgr. Каждый монитор может давать результат в соответствии с клиентом запрос; но все же, как объединить несколько машин с помощью java? Средства Как выполнить в памяти sql aggregate/scalar (например, Groupby, orderby, avg) функцию по всем результатам, полученным из нескольких кластеров на MGR. Как реализовать встроенные/скалярные функции SQL sql в java-стороне, любые известные API-интерфейсы? Я думаю, что мне нужно, чтобы уменьшить часть метода mapreduce в hadoop.
2) Запрос из пользовательского интерфейса (предположим, что select count (*) из DB, где Memory > 1000 МБ) должны быть перенаправлены на несколько машин. Теперь, как отправить параллельную запросы к индивидуальному монитору и потребляют только тогда, когда все узлы ответили? Означает, как подождать пользовательскую нить до потребления всех ответы от лучших мониторов? Как инициировать параллельный запрос REST для одного запроса пользовательского интерфейса на MGR.
3) Нужно ли мне проверять подлинность пользователя пользовательского интерфейса как на мониторе Mgr, так и на Perf?
4) Считаете ли вы какой-либо недостаток в этом подходе?
Примечания:
1) Я не пошел на NoSql, потому что данные структурированы и не требуется никаких соединений.
2) Я не ходил за node.js, так как я новичок в этом и может потратить больше времени на его разработку. Также я не разрабатываю параллельные критические ситуации, когда лучше всего подходят однопоточные. Здесь делается только push/retrieve данных. Никаких изменений не происходит.
3) Я хочу отдельную БД для каждого монитора ИЛИ по крайней мере два экземпляра БД с несколькими кластерами для экземпляра, чтобы поддерживать быстрый доступ к статистическим данным в реальном времени.