I agree with your points against using flat file databases, but in this case those drawbacks will have little effect.

In this case I'm hoping to improve on an existing program that is widely used to create web sites. As such, the schema is unlikely to change radically once defined.

The database will only ever be modified by one person, so there shouldn't be any problems with multiple users writing to the same file. Backups will be made each time a record is modified as described in my reply to MarkM.

Which character to use as a delimiter can be define in a separate configuration file. As the data will be use to create web pages, if the user legitimately needs to use the same character in the text of their page they can use an HTML entity instead.

I agree that a dedicated RDBMS is usually the way to go, but not everyone has the luxury of having access to one (many free hosts still don't offer MySQL).

Text files can be an advantage to this system if one or more of the following applies:-

Storing the data in plain text files is a big advantage in the latter case, as the user has the option to modify the database using a standard text editor.

__________
"Every program has at least one bug and can be shortened by at least one instruction -- from which, by induction, one can deduce that every program can be reduced to one instruction which doesn't work." -- (Author Unknown)


In reply to Re: Answer: Where is the bottleneck in flat file databases? by Wysardry
in thread Where is the bottleneck in flat file databases? by Wysardry

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.