Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: File I/O structure

by sundialsvc4 (Abbot)
on Jul 12, 2013 at 03:16 UTC ( #1043862=note: print w/ replies, xml ) Need Help??


in reply to File I/O structure

I have had a lot of success with SQLite, which is (by careful and deliberate design ...) a public-domain SQL system which stores everything in one file and requires no server.   The very nice thing about it is that, well, “it’s a [self-describing(!)] random-access file,” and a whale of a lot more.   All wrapped-up in a very small, high-performance engine that runs everywhere and with every language (not just Perl).   Quite frankly, I don’t “roll my own random-access files” anymore.   I can’t justify the effort, nor the bugs that I can avoid.

There is only one caveat, but it is an important one:   use transactions.   SQLite is also designed for fail-safe situations, so it will re-read everything that it has just written, quite by-design, unless you are using transactions, which allows more-“lazy” writes.   But, hey, you get “a self-describing multi-user random-access file that is understandable everywhere,” with transactions!   Not bad.   Not bad at all.


Comment on Re: File I/O structure
Re^2: File I/O structure
by silverbullet (Initiate) on Jul 15, 2013 at 02:41 UTC
    Thank you for the suggestion.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1043862]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (4)
As of 2015-07-04 23:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls