Den 2012-01-03 21:11 skrev Dimitry Sibiryakov såhär:
> 03.01.2012 21:04, Kjell Rilbe wrote:
>> What's needed is, in principle, a task that reads through ALL record
>> versions, and for each one with transaction id<   OIT, change it to OIT -
>> 1. When it has done that for the entire database, it can move the max
>> useable transaction id to OIT - 2.
>     It means to fetch/read every page with exclusive lock, modify it, mark it 
> as a dirty
> and write it back to the disk (when?). Crazy i/o load and long lock waits are 
> guaranteed.
>
Yes, but perhaps it's more tolerable to have a somewhat slower system 
for two days than to have 1 day of downtime? Assuming the 
cluster/replication solution is not used...

And I would assume that it would only need to lock a single page at a 
time, and that it would take very short time to do the job on that 
single page. So, while it would incur a lot of write locks on a lot of 
pages, there will only be a single page lock at a time, and the lock 
will be very short lived. So, no long waits, but a whole lot of very 
short waits.

Still, I am not really arguing that this is the best solution. Seems to 
me you're right Dimitry, that a replication/cluster solution is better. 
But could that perhaps be made a bit easier?

I consider myself to be pretty good at SQL and at high level system 
development, but I've never setup a cluster, nor FB replication. So, for 
me this is a real stumbling block. On top of all other things I need to 
do yesterday, I would also have to learn how to set this up. I'm sure 
I'm not the only one...

So, what could be done with FB to make the process easier of backing up 
and restoring a live database and the syncing the new copy with all 
updates since the start of backup, and dfinally bringing the copy live 
instead of the old one?

Perhaps this is what would be "best spent devel resources" to solve the 
issue?

Kjell

-- 
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kj...@datadia.se
Telefon: 08-761 06 55
Mobil: 0733-44 24 64



------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to