В сообщении от Friday 25 July 2008 12:16:39 Roger Binns написал(а): > Alexey Pechnikov wrote: > > May be on FS layer? > > I specifically said VFS which is SQLite functionality - see > http://www.sqlite.org/c3ref/vfs.html and > http://www.sqlite.org/c3ref/io_methods.html
Thanks, last link may be helpful for me. > > Yes, I'm using SQLite on servers. > > Just because you call it a server doesn't make it "server" hardware :-) > When you pay the big bucks you get memory that can detect and correct > errors, cpus run in lockstep with failure detection, multiple paths to > storage devices, raid and similar technologies on the storage subsystem > etc. Standard PCs have none of this. I have server hardware with mirror raid, ECC RAM etc. But hardware and OS is not ideal. > > Database servers such as Oracle or PostgreSQL have transactions log and > > restore log. > > Those logs are effectively duplicates of the data or ways of > reconstructing the data. SQLite has a transaction log for the last > transaction only and only while it is progress. Can I get full log of sql statements for to sent it other network or store to outher device? I may to get a part of this info by using "authorizer" method: SQLITE_DELETE sqlite_master {} main {} SQLITE_DROP_TABLE events {} main {} SQLITE_DELETE events {} main {} SQLITE_DELETE sqlite_master {} main {} SQLITE_READ sqlite_master tbl_name main {} SQLITE_READ sqlite_master type main {} SQLITE_UPDATE sqlite_master rootpage main {} SQLITE_READ sqlite_master rootpage main {} SQLITE_UPDATE sqlite_master rootpage main {} SQLITE_READ sqlite_master rootpage main {} SQLITE_INSERT sqlite_master {} main {} SQLITE_CREATE_TABLE events {} main {} SQLITE_UPDATE sqlite_master type main {} SQLITE_UPDATE sqlite_master name main {} SQLITE_UPDATE sqlite_master tbl_name main {} ... May be I must reimplement authorizer function? Now this best for security, of course. > > How can I provide restore mechanisms for SQLite database? > > You need to sit down and work out how much your data is worth, what you > want to protect against, how often bad things happen and how much you > are prepared to pay. Food for thought: > > http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=504 > http://lwn.net/Articles/290141/ > http://www.newscientist.com/blog/technology/2008/03/do-we-need-cosmic-ray-a >lerts-for.html > http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Error-free_data_ >transfer Thanks, I'll read the links. > You can't have 100% reliability as well as free (hardware and software). > You can aim for 99 point some number of nines, but the more nines you > have the more expensive it gets exponentially. Yes, but I'm prefer thinking about data integrity in good time. > In the real world, you will find that SQLite is suitably reliable for a > large number of people and projects, taking > http://www.sqlite.org/lockingv3.html#how_to_corrupt into account. I'm successfully using SQLite from 2005 year and now I want to know how to use SQLite in mission-critical applications. > If you are more paranoid than that then write a SQLite VFS module that > effectively does custom file level 'raid'. Duplicate data as many times > as you want (don't forget to send it over the network as well for other > machines to check). You'll also want to check multiple copies on reads > in case one is corrupt. Well, I think it may be good idea. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users