[erlang-questions] Support for newcomers and the popularity of Erlang

Wojciech Knapik wmknapik@REDACTED
Mon Mar 19 17:59:51 CET 2012

On Mon, Mar 19, 2012 at 5:38 PM, Ulf Wiger <ulf@REDACTED> wrote:

> I, for one, don't recall what your question was. I can assure you that I
> didn't actively choose to ignore it.
> If you are part of a group doing commercial work in Erlang, you might want
> to contact Erlang Solutions. There, you can actually pay for the privilige
> of a guaranteed response, something you cannot do here. They also sell
> training and commercial support for Erlang - even have an office in Krakow.
> http://www.erlang-solutions.com/section/13/support

Thanks for the hint. The project will be open source (BSD/MIT), but we're
considering a separate license for commercial use.

> As far as your question goes, a google search indicates you posted it
> once, 4 days ago. I'd say 4 days is a bit short before lecturing the
> community on their lack of responsiveness. It might be a suitable length of
> time before reposting the question, though. ;-)

I wasn't expecting a reply after that time, considering the pretty healthy
activity in other threads, but perhaps you're right ;]

> I much prefer to have a slightly more strict setup, where you e.g.
> designate one or two "master" machines that keep a persistent copy of the
> database. The other machines can start up with the env variable:
> extra_db_nodes : MasterNodes, and access the database without even having
> their own copy.
> Why does the data need to be fully replicated? Nodes starting with
> extra_db_nodes as above enjoy full distribution transparency. If very rapid
> read response is required, you can add a ram-based replica on the fly with
> the function mnesia:add_table_copy_type(Table, Node, CopyType).
> Update cost will increase noticeably with every replica you add, so in
> many cases, it may be counter-productive to use full replication. For fault
> tolerance, having two persistent copies of the data goes a long way.
> Nodes can also start with extra_db_nodes, receive a ram copy of the
> schema, and then change their schema to a persistent copy using
> mnesia:change_table_copy_type(schema, node(), disc_copies).

Ok, that's a lot to process for someone new to mnesia, so let me answer
this fully, once I'm back home from work.

For now a quick answer - we're aiming for a fully distributed setup, where
every node is equal. We'd like the system to be able to function as long as
at least a single node is up. We're just starting to work on the code, so
we might change the approach to achieving this, but the goal will likely
remain in place. There won't be much data stored in mnesia. For the larger
sets of data, there will be a regular SQL database.
Like I said - we're all new to Erlang, so our implementations might be far
from optimal - that's why I was so looking forward to hearing your input.

Thanks for the answers, I'll write more in a few hours.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120319/40b5e0dd/attachment.htm>

More information about the erlang-questions mailing list