Re: Long-running queries
Posted in 1995
Thanks a bunch to all the people who have responded (either personally or on the net). Most of the replies fall into two categories. 1. Run the queries at less than degree 3 isolation. 2. Maintain a copy of the database and run queries on it. The first one seems fine, if the result need not be transaction consistent. Looks like quite a few users can live with that (or forced to live with that :-). I see a couple of problems with the second solution. Its okay to maintain a copy if your database is small. But once you start having terabyte or larger databases, the disk overhead and the copying time can become considerable. Besides the queries do not see the current data. Now for the thesis issues :-) A couple of recent research papers try to solve this by using transient versioning. The basic idea here is that every update creates a new version. The queries access the prior versions while the transactions update the current versions. Storage overhead is reduced by making the prior versions transient; they are removed when the queries accessing them complete. My work goes on similar lines, but also shows that the storage overhead for transient versions can be further reduced. I confess, all my knowledge is from books and journals. I did not really know if this problem is important in real world. From your responses, this looks like a real problem. Please feel free to respond if you have any thoughts on this. Thanks once again for your time. -- -------------------------------------------------------------------------------- Sreenivas Gukal Ph: 404-853-9390 email: gukal@cc.gatech.edu --------------------------------------------------------------------------------