[erlang-questions] REST interface to mnesia
Juan Jose Comellas
Wed Aug 31 14:12:57 CEST 2011
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).
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.
I hope this helps.
On Wed, Aug 31, 2011 at 5:35 AM, Joe Armstrong <erlang@REDACTED> wrote:
> I want a resident Erlang database that always runs on my machine.
> When I boot the system it's always running (like mySQL etc.)
> I want to be able to access it from any programming language.
> What I'd like
> 1) You install X
> X might be erlang + mnesia + REST interface to mnesia
> 2) X runs forever
> 3) You manage X create tables etc via a web interface
> or via REST commands or through a native-erlang interface
> 4) You populate the tables via REST commands
> or through a native-erlang interface
> erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions