Both CouchDB and Riak could meet your requirements. In fact, if you're using a recent version of Ubuntu, CouchDB is already installed and works practically in the same way you're describing (Canonical uses it as the main database for the Ubuntu One service). The only issue I see is that neither of them have tables (in the relational sense).<div>
<br></div><div>What you normally do is create databases and store JSON documents in them. Both have REST interfaces and allow you to query documents by ID but other than that, they way in which you work with them is very different. CouchDB allows you to build "views" (indexes where you select the documents that go into the index and the key that is used) through a map/reduce process. Riak allows you to link documents and use those links to relate them or you can run map/reduce jobs to query the database. Riak is now adding support for secondary indexes. Both have "extensions" for full-text search (couchdb-lucene; Riak Search). Riak runs distributed out of the box (as a Dynamo key/value store). CouchDB does multi-master replication very easily but you need to use BigCouch (a CouchDB "fork") to run it as a single database over several nodes Dynamo-style.<div>
<br></div><div>I hope this helps.</div><div><br></div><div>Juanjo</div><div><br><br><div class="gmail_quote">On Wed, Aug 31, 2011 at 5:35 AM, Joe Armstrong <span dir="ltr"><<a href="mailto:erlang@gmail.com">erlang@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I want a resident Erlang database that always runs on my machine.<br>
When I boot the system it's always running (like mySQL etc.)<br>
<br>
I want to be able to access it from any programming language.<br>
<br>
What I'd like<br>
<br>
   1) You install X<br>
        X might be erlang + mnesia + REST interface to mnesia<br>
   2) X runs forever<br>
   3) You manage X create tables etc via a web interface<br>
        or via REST commands or through a native-erlang interface<br>
   4) You populate the tables via REST commands<br>
        or through a native-erlang interface<br>
<br>
/Joe<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br></div></div>