What is the best way to achieve the following mechanism.
My product has a database, which will be installed at my client site.
as we all know database is something which will grow tremendously.
Now i am planning to come out with a Data archiving facility in such a way that
Yearly data will be backed up and will be maintained in a separate machine.
The data that was backed up will be removed from the current machine's database.Ofcourse
there will be a mchanism provided through which i can transfer data from offline database to online database.
Now, please throw u r thoughts on how to approach this problem...
My database is in SQL Server.
RE: Q1 What is the best way to achieve the following mechanism?
A1 Concisely, the 'best way' is to:
i Find out and understand what the business rules are before you start creating an archival system. (When the BRs are ambiguous or inconsistent, you need to bring that to the attention of the business users so they may resolve any issues so you may create sound and correct logical designs).
ii Create a logical design that reflects what the (logically consistent) business rules are.
iii Review the implications with the users before populating your designs. Test and validate with the business users (correct / redesign as necessary) prior to putting anything into production.
Why is this the best way? Some form of this approach is the only professional way to go about things.
Some example considerations (may or may not be relevant, and is by no means comprehensive). Note F1 - F5 are facts (from the posted information):
F1 A DB will be installed at client site.
F2 The DB will grow tremendously.
--> How often, how much, at what time(s) (of the day month, year, etc.) are there frequent data modifications or are only new records added to amend previous transactions?
On the DB Data archiving facility:
F3 Yearly data will be 'backed up' to a 'near line' (off-line?) machine
--> How often, how much, at what time(s) (of the day month, year, etc.) and how?
F4 Yearly data will be maintained in a 'near line' (off-line?) machine.
--> What kind of access, connectivity exists between the production and 'near line' machines?
--> Must the same schema exist on the 'near line' (off-line?) machine?
--> Is the schema such that it may be expected to change frequently, rarely or never?
--> What do existing BRs imply in relation to schema changes (must historical data be accessible forever, if not how long, if so must multiple systems be maintained, or will conversions be performed with each change)?
F5 Yearly data will be removed from the production machine's DB and a mechanism will be provided to transfer data from 'near line' (off-line?) DB to the online production DB.
--> What are the mechanism's general, and specific requirements (performance, capacity), how often will it be used, how much may it be permitted to degrade production performance, etc.?