<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE message PUBLIC
  "-//MLarc//DTD MLarc output files//EN"
  "../../mlarc.dtd"[
  <!ATTLIST message
    listname CDATA #REQUIRED
    title CDATA #REQUIRED
  >
]>

  <?xml-stylesheet href="../../mlarc.xsl" type="text/xsl"?>


<message 
  url="2002/12/96888a372ce218950508243225a780b3"
  from="Matt Gushee &lt;mgushee@h...&gt;"
  author="Matt Gushee"
  date="2002-12-26T10:05:46"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?"
  prev="2002/12/7ece4f35fb5ba3db3c8c56d3295a92ef"
  next="2002/12/b223d0edf61490d3f9d2c5dcae8f3590"
  prev-in-thread="2002/12/3495a91ddb9b58e5b4cbfbcecf3196b6"
  next-in-thread="2002/12/ffd3fe14f523a6c74b89d10fa68e646a"
  prev-thread="2002/12/955553377ddd7b841cae02e31027af85"
  next-thread="2002/12/e8956ad76e72ddd27c1ee0c4c94f2234"
  root="../../"
  period="month"
  listname="caml-list"
  title="Archives of the Caml mailing list">

<thread subject="[Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/20995c2eed42f26e0a7193d54f646852"
  from="Matt Gushee &lt;mgushee@h...&gt;"
  author="Matt Gushee"
  date="2002-12-26T07:17:55"
  subject="[Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2003/01/9c6de8029efabdd5e50e038b39b60afe"
  from="Xavier Leroy &lt;xavier.leroy@i...&gt;"
  author="Xavier Leroy"
  date="2003-01-02T10:03:28"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
<msg 
  url="2002/12/3495a91ddb9b58e5b4cbfbcecf3196b6"
  from="Alessandro Baretta &lt;alex@b...&gt;"
  author="Alessandro Baretta"
  date="2002-12-26T08:37:34"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/96888a372ce218950508243225a780b3"
  from="Matt Gushee &lt;mgushee@h...&gt;"
  author="Matt Gushee"
  date="2002-12-26T10:05:46"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/ffd3fe14f523a6c74b89d10fa68e646a"
  from="Pierre Weis &lt;pierre.weis@i...&gt;"
  author="Pierre Weis"
  date="2002-12-26T16:50:33"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/07b606dda0c1892004aca27b1e1f0cf3"
  from="guttman@m..."
  author="guttman@m..."
  date="2002-12-26T17:03:57"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/db81a05edc4270565847a66314758ce1"
  from="Pierre Weis &lt;pierre.weis@i...&gt;"
  author="Pierre Weis"
  date="2002-12-27T13:07:37"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
</msg>
<msg 
  url="2002/12/c79d369cc17db18e7368b8d2696aa740"
  from="David Brown &lt;caml-list@d...&gt;"
  author="David Brown"
  date="2002-12-26T17:08:57"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
<msg 
  url="2002/12/7912d03296d1ae0a2a4c75621d2323bf"
  from="Stefano Zacchiroli &lt;zack@c...&gt;"
  author="Stefano Zacchiroli"
  date="2002-12-26T18:23:28"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/4b687e470bd28b697a94f19ebab54b3c"
  from="Pierre Weis &lt;pierre.weis@i...&gt;"
  author="Pierre Weis"
  date="2002-12-27T13:12:17"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2003/01/cea91efb37cfa81c5f9b96f1607c587c"
  from="Sven Luther &lt;luther@d...&gt;"
  author="Sven Luther"
  date="2003-01-12T10:13:07"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
</msg>
</msg>
<msg 
  url="2002/12/d5e9b843f060acb0356e8a3a7c7657f4"
  from="Dmitry Bely &lt;dbely@m...&gt;"
  author="Dmitry Bely"
  date="2002-12-26T19:20:54"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/df58225cc08453b568184e9786b41c89"
  from="Pierre Weis &lt;pierre.weis@i...&gt;"
  author="Pierre Weis"
  date="2002-12-27T13:20:07"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
<msg 
  url="2002/12/ba14d57d873313f787871b2decd9c86f"
  from="brogoff@s..."
  author="brogoff@s..."
  date="2002-12-27T18:03:58"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
</msg>
</msg>
<msg 
  url="2002/12/559912569fba2d8a4b4754699c085d6c"
  from="Matt Gushee &lt;mgushee@h...&gt;"
  author="Matt Gushee"
  date="2002-12-27T07:22:02"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
</msg>
</msg>
</msg>
<msg 
  url="2002/12/aed492fccff8265e6a83b9ecedbe0463"
  from="Yaron M. Minsky &lt;yminsky@C...&gt;"
  author="Yaron M. Minsky"
  date="2002-12-26T20:00:10"
  subject="Re: [Caml-list] Cross-platform DBM equivalent?">
</msg>
</msg>
</thread>

<contents>
On Thu, Dec 26, 2002 at 09:39:33AM +0100, Alessandro Baretta wrote:
&gt; 
&gt; &gt;I am developing an application that needs fast access to persistent
&gt; &gt;configuration data, and I thought that DBM might be a good way to
&gt; &gt;provide that functionality ...
&gt; 
&gt; Are you sure you need DBM to reed in a config file? Would 
&gt; the Scanf module not serve your purpose?

Am I sure? No, I'm not sure of much of anything at the moment; as I
said, the project is at a very early stage. But I'm concerned about not
so much reading a config file as *accessing configuration data at
runtime*.

Let me try to clarify this a little. As I said, this is a web
application; its purpose is to generate on-the-fly graphs (bar graphs,
line graphs, pie charts, etc.) of numerical data (which will probably
come from a relational database in most cases). And I intend it 
eventually to be usable by not-very-technical people.

The way this is supposed to work is that when a client requests a
certain URL representing a generated image, my application obtains a 
mapping from the requested URL to the process that generates the 
image. Generally speaking, the process will consist of querying a data
source and passing the results to a library function that generates a
graphic.

Anyway, the configuration data my question referred to is the mapping of
URLs to processes. The URLs are defined by the user, and there is
potentially a large set of them. But for each request, the HTTP handler
needs to discover how to process one of those many URLs. So it's a
matter of fast random access to the configuration data, and DBM seems to
me a pretty good way to achieve that.

(I should also note that at this prototype stage, I am planning to
deploy the handler as a simple CGI program. I expect that for production
releases it would be preferable to have a long-running process that
talks to the web server through the JServ protocol or some such thing;
in that case it would probably be best to read in the URL map at startup
and just keep it in memory. But I'm trying to achieve visible results as
soon as possible, so I'd rather keep the handler component simple for
the moment).

-- 
Matt Gushee                 When a nation follows the Way,
Englewood, Colorado, USA    Horses bear manure through
mgushee@havenrock.com           its fields;
http://www.havenrock.com/   When a nation ignores the Way,
                            Horses bear soldiers through
                                its streets.
                                
                            --Lao Tzu (Peter Merel, trans.)
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

</contents>

</message>

