I seek wisdom on the following scenario:
My task master has requested that for each client of a web system I am building that we stash (key, value) pairs that are stored in a relational database (Postgres in this case) in Perl modules that can simply be use-d.
When values change in the table, the Perl modules would need to be regenerated.
There are roughly 100 pairs and perhaps five to ten are needed by each script in the system.
This seems unnatural to me because:
- Since the RDBMS can change through any number of avenues it is difficult to insure that the perl module will be consistent with the database, leading to unexpected results.
- I fear there could be a concurrency problem on writing the perl modules. If locking is used, potentially leading to deadlocks, or reading of partially written perl modules causing errors.
- During the period between the writing of values to the DB and the write of the perl module, you could in effect get dirty reads of information.
All the scripts need to connect to the RDBMS for other functionality and it seems that the cost of retrieving the config from the table each time as opposed to reading the module is only a few thousandths of a second.
Has anyone worked with a scenario like this? Please shed the bright light of your wisdom on the darkness of my situation!
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.