Сводная Выборка Из Нескольких Баз.

lionk

Well-Known Member
05.04.2007
310
3
#1
Подскажите методику для реализации задачи.
Есть несколько баз с одинаковым дизайном, нужно в сделать сводный очёт, из всех баз, с возможностью открыть в клиенте документ и ознакомится с его содержимым.

Понятно что можно это сделать репликами, сводить всю информацию в одну базу и там делать отчёт. Но базы большие и сводная база станет очень большой и тормозной. Та и не хотелось бы всё смешивать так как свод нужен только по одной конкретной форме.

Какие есть альтернативы?
 

Мыш

Well-Known Member
Lotus team
12.02.2008
1 085
13
#2
Реплицировать не обязательно - можно тянуть данные в "отчетную базу" серверными агентами - при наличии соответствующих прав. Либо строить "union-запрос" онлайн - но это, скорее, через Веб.
 

lionk

Well-Known Member
05.04.2007
310
3
#3
строить "union-запрос" онлайн
это как? а можно пример подобного запроса.

по поводу агента:
как быть с поддержкой актуальности данных? ведь агент будет создавать копию докумнета в "отчётной" базе. это же нужно строить сложный механизм проверок и замены документов при их изменении в базах источниках.
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
#4
как быть с поддержкой актуальности данных? ведь агент будет создавать копию докумнета в "отчётной" базе...
Не будет создавать копии. Будет создавать документы-"линки" на документы в базах.
В документе-линке указывать Replicaid БД, в которой лежит док, и его UNID. В коде открытия документа-линка пишем код: поиск дока в БД + открытие, а сам док-линк не открываем.
Это что касается сбора данных вручную.

Как вариант - создать БД по стандартному шаблону Subscriptions (headline.ntf).
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#5
запускаешь агент в своей новой базе, который ломится во все базы и делает тебе сводный отчёт
в чём трабла то?
 

lionk

Well-Known Member
05.04.2007
310
3
#6
делает тебе сводный отчёт
трабла в том что этот сводный отчёт будет например в екселе. а мне как то хочется чтобы бац и "лотус представление в котором по формуле собралось 1000 документов из 20-ти баз" и чтобы это были свежие документы а не те что ночью агент накопировал.
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
#7
Если супер-мега динамика, тогда JavaApplet, как, например, на notesnet.ru проскакивал. И доки никакие создавать не надо, работает с существующими.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 223
24
#9
трабла в том что этот сводный отчёт будет например в екселе. а мне как то хочется чтобы бац и "лотус представление в котором по формуле собралось 1000 документов из 20-ти баз" и чтобы это были свежие документы а не те что ночью агент накопировал.
и что мешает сделать чтобы этот агент в твоей базе создал 1000 документов обманок, где на квериопене срабатывает скрипт открывающий настоящий док
а обманки нужны, чтобы в колонках светит нужные тебе данные

и заставь этот агент отрабатывать каждые 30 мин и будет тебе актуальная статистика
 

lionk

Well-Known Member
05.04.2007
310
3
#10
лень вселенских масштабов. так как такому агенту каждый раз нужно либо удалять все обманки из отчётной базы и копировать новый(актуальный) набор данных. (а это не оптимально на уровне загрузки сервера)
Либо проверять изменился ли док в источнике и заменять обманку для поддержки актуальности данных (вот это мне велосепедить крайне лень).
как то очень печально мне от того что ИБМ не предусмотрел системных механизмов мультибазовой работы. я уже думал делать что то на основе мультибазового фт-поиска, но тут сразу стают вопросы юзерфрендлести.
 

VladSh

начинающий
Lotus team
11.12.2009
1 248
2
#11
<!--QuoteBegin-lionk+-->
<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top">
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quote-bg.gif'); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top">
</td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url('style_images/ckr/quotes/quot-lr-bg.gif')" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top">
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quot-bye-bg.gif')" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">(lionk)</span></td> <td class="vbquote" valign="top">
</td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url('style_images/ckr/quotes/quot-top-bg.gif')" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top">
</td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-left.gif')"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-right.gif')"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quot-left-bg.gif')"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->как то очень печально мне от того что ИБМ не предусмотрел системных механизмов мультибазовой работы<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table>
<!--QuoteEEnd-->Я ж говорю, - JavaApplet с нотеснета, там БД была даже с примером, легко можно переточить на использование нескольких баз сразу. Не говорю уже о том, что это полностью заменяет корявые внедрённые виды. Но тяжеловато конечно..