<br><div class="gmail_quote">On Mon, Mar 19, 2012 at 5:38 PM, Ulf Wiger <span dir="ltr"><<a href="mailto:ulf@feuerlabs.com">ulf@feuerlabs.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><br></div><div>I, for one, don't recall what your question was. I can assure you that I didn't actively choose to ignore it.</div><div><br></div><div>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.</div>
<div><br></div><div><a href="http://www.erlang-solutions.com/section/13/support" target="_blank">http://www.erlang-solutions.com/section/13/support</a></div></div></blockquote><div><br></div><div>Thanks for the hint. The project will be open source (BSD/MIT), but we're considering a separate license for commercial use.</div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>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. ;-)<br>
</div></div></blockquote><div><br></div><div>I wasn't expecting a reply after that time, considering the pretty healthy activity in other threads, but perhaps you're right ;]</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div>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.</div>
<div><br></div><div>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). </div>
<div><br></div><div>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.</div>
<div><br></div><div>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).</div></div>
</blockquote><div><br></div><div>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. </div><div><br></div><div>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. </div>
<div>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.</div><div><br></div><div>Thanks for the answers, I'll write more in a few hours.</div>
<div><br></div><div>br,</div><div>WK</div></div>