[LUNI] file system limitations

Steven Lembark lembark at wrkhors.com
Sun Nov 24 00:25:01 CST 2002


-- "Jirsa, Jeff" <Jeff.Jirsa at tfn.com>

> Correct me if I'm wrong, but I thought BerkleyDb (and variants) is just a
> glorified hash table on disk; just key/data pairs.

Thing about all ISAM variants is that the access to a value
record using the key never takes more than two disk hits.
They are common in Perl since hashes are in-memory ISAM
systems, which lends their syntax nicely to disk-based,
persistent variants.

Since you can store anything in the value it is possible
to get nested strucutures with languages that can easily
memoize nested variables (e.g., perl).

> If I want to get a list of all the patients who had tonsillitis, I would
> have to check the record of EVERY record in the database.  If you are
> going to queries like this, you may seriously want to look at using MySQL
> or  PostgreSQL.

There is a fairly simple fix for this: store keys of the
main table in the values of a database whose keys are the
more general lookup (e.g., a list of patient keys indexed
by disease).

Yes, this quickly gets klutzy.

> Either way, marshaling the data in and out of objects will have to be done
> for the DBM or a RDBM.  IMHO, I can't believe that the time marshaling
> the  data will be a noticeable performance problem for your application.

Depends on the use. If this is to be used primarly as an
ODS then it would probably work; as a long-term solution
to general queries it would quickly become problematic.

--
Steven Lembark                               2930 W. Palmer
Workhorse Computing                       Chicago, IL 60647
                                            +1 800 762 1582



More information about the luni mailing list