This is the correct answer. <br><br>On Sunday, 11 October 2015, Joe Armstrong <<a href="mailto:erlang@gmail.com">erlang@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sun, Oct 11, 2015 at 4:18 PM, Vimal Kumar <<a href="javascript:;" onclick="_e(event, 'cvml', 'vimal7370@gmail.com')">vimal7370@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> Imagine that WhatsApp does not exist today. If you are asked to write<br>
> WhatsApp in Erlang and scale it like how they successfully did, will you<br>
> still be opting for Mnesia, or something else like Riak?<br>
<br>
Neither - I'd define an API that I'd use and implement it with any<br>
appropriate database. Then *if* the app took off and I ran into performance<br>
problems I'd tweak whatever law behind the API. If the application never<br>
flew I'd be saved the trouble of making an efficient back-end.<br>
<br>
To implement the API I'd choose whatever I was most comfortable with.<br>
<br>
My goal would be to get something up and running as soon as possible<br>
and get users - and not worry about implementation details.<br>
<br>
As the wise man said "Premature optimisation is the root of all evil".<br>
<br>
I'd probably use the file system, then ets or dets and "roll my own" first.<br>
<br>
Data bases using *only* the file system and simple locking can get you<br>
a lot of milage before you need to optimize :-)<br>
<br>
<br>
/Joe<br>
<br>
><br>
> Thank you!<br>
><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', '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>
><br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', '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><br><br>-- <br>Sent from Gmail Mobile<br>