<div dir="ltr">Hi,<div>I have a project where an application reads bits from a database using a C library and makes some decisions based on the data available there. At the same time, the same database is periodically updated by an Erlang app.</div>
<div><br></div><div>It is highly likely that both the C lib and the Erlang app would have the library open at the same time, however the C lib would be read only, whereas Erlang process would open it for write as well.</div>
<div><br></div><div style>Any suggestions on what the database might be ? Something like term storage ( bdb ) would work for my needs, but bdb cannot be opened in parallel. Same goes for LevelDB, KyotoCabinet. The only that I have found ( so far ) is sqlite(but I don't need sql). I am thinking that an alternative would be to have a raw file mmap-ped by the C library, but I would much rather use something that has some primitives already built.</div>
<div style><br></div><div style>Also, I am considering doing IPC via a unix/tcp socket with the Erlang process, but I'd rather use a db/file ( provides natural fallback if the process does not run, or other comm issues). </div>
<div style><br></div><div style>For the time being, the Erlang app and the C lib would be on the same box. </div><div style><br></div><div style>Thanks,</div><div style>Radu</div><div style> </div></div>