Most modern DBMS's are built for size rather than speed. DBM::Deep is intended simply to bring a Perl-only implentation of a DBMS into play. Storables are going to slow down faster than DBM::Deep as table sizes increase. However, one approach might be to implement a module that transparently uses multiple storables per table and has a hashing algorithm to select where to store values based on a primary key concept as well as a virtual memory architecture (simply an array of storable filenames of limited indivudial size and unlimited number per "table" to keep track of which internal references are being allowed to be kept alive by the Storable package and a policy of forcibly freezing references to minimise the number of storables being allowed to use memory - it would need to pick a victim to drop from memory everytime it needed to thaw something not currently active. Such a pseudodbms module should of course keep its interaction with Storable under the hood).

One world, one people


In reply to Re: DBM::Deep overhead by anonymized user 468275
in thread DBM::Deep overhead by perlpipe

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.