Архивирование базы

  • Автор темы Автор темы GROMILA
  • Дата начала Дата начала
G

GROMILA

Привет всем.
Есть постоянно пополняемая база.
Есть ряд полуаналитических выборок по месяцам, датам и т.п.
В основном данные интересны за 2 последних года.
Но иногда нужна сквозная аналитика за все годы в виде отчета.

Расскажите кто как организовывал архивирование документов базы?
C применением каких средств?
Как пополняли архив?
 
Скопировали эту же базку, назвали её архивом, поодключали все шедульные агенты. Потом в основной базке написали шедульный агентик, который бегает по все нужным дкоументам, и если док нужно архивировать -копировали в архивную базку, а из текущей прибивали...

Это самый просто пример.. а ваще механизмов много испольуется, но кто ж их будет рассказывать на общедоступных формуах.. :(
 
я так делал
Код:
	Dim nArchDb As New NotesDatabase("s1/s1","(Archive).nsf") 
Dim nSs As New NotesSession
Dim nDb As NotesDatabase
Dim nDoc As NotesDocument 
Dim nDocColl As NotesDocumentCollection
Set nDb = nSs.CurrentDatabase 
Formula1$={Form="WorkNote" }'условия отбора 
Set nDocColl = nDb.Search(Formula1$,Nothing,0) 
Set nDoc = nDocColl.GetFirstDocument 
While Not(nDoc Is Nothing)
Call		nDoc.CopyToDatabase(nArchDb) 
Set		 nDoc = nDocColl.GetNextDocument(nDoc) 
Wend
 


Пример не совсем удачный... так как если есть связка документов (отец - сын ;)), то если отец подходит под условие архивирование, а сын еще нет, то отец уйдет в архив, а сын останется сиротой... Правильные, если хоть один из документов связки не попадает под условие архивирования - не архивировать документ...

ЗЫ: Считаю это важнейшим моментов в архивировании...
 
Вся семья ;)
Код:
Dim nArchDb As New NotesDatabase("s1/s1","(Archive).nsf") 
Dim nSs As New NotesSession
Dim nDb As NotesDatabase
Dim nDoc As NotesDocument 
Dim nDocColl As NotesDocumentCollection
Set nDb = nSs.CurrentDatabase 
Formula1$={Form="WorkNote"| @AllChildren }'условия отбора 
Set nDocColl = nDb.Search(Formula1$,Nothing,0) 
Set nDoc = nDocColl.GetFirstDocument 
While Not(nDoc Is Nothing)
Call		nDoc.CopyToDatabase(nArchDb) 
Set		 nDoc = nDocColl.GetNextDocument(nDoc) 
Wend
 
Что скажет сообщество по поводу ахивирования путем выгрузки в SQL Server?
 
А зачем? Если архив нуже "шоб лежал", то можно, а ели архивом пользуются, то не желательно... Ганять данные туда-сюда - неблагодарное дело...
 
Для: GROMILA
Делал только базу с тестами, sql+lotus нормально работает.
 
А зачем? Если архив нуже "шоб лежал", то можно, а ели архивом пользуются, то не желательно... Ганять данные туда-сюда - неблагодарное дело...

Архив нужен только для построения аналитических отчетов.
никаких переиндексирующихся представлений ему не нужно.

объемы увеличиваются с каждым годом и база уже начинает занимать 1,5 ГБ
В SQL она займет от силы 50 МБ, ну может 100МБ

Root
расскажите какие технологии использовали и как все было организовано?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы