New to Earlang
Tue Nov 26 09:59:38 CET 2002
I have assigned today a development group who already started. I would
like to ask you a couple more of questions, if you don't mind:
Are Erlang and Mnesia supposed to be as stable in Windows as they are
supposed to be in Unix? In other words, do you know about anyone who is
using Windows for a commercial Erlang implementations?
- I'm sure people do, but I'm not sure you will find much preference in most
Telcos for running such a critical system on Windows.
Does Mnesia also support online database backups (to restore a database
from scratch, when replicas are not available for any reason)
- Yes it does, though the fully online restore from backup takes up a lot of
memory and for a very large database might not be possible at all (after 4
GBytes the emulator will exit, though the recent support for 64 bit Erlang
should fix this). There is an alternative method which is restore from
fallback which requires a restart.
I read something like "Mnesia has its own query language". Does mnesia
support standard SQL queries? If not, is it a major issue for you?
- No, and as we do not allow general queries to be run on our databases it
is actually quite convenient that DBA type people cannot perfom them :).
Having said that I would really have to agree with Anders Ramsell about
using mnesia as a cache for the real time data but also streaming off the
updates to an Oracle or similar database. This could be used as the "backup"
and also for all the horrible queries folks like to run on pre-paid systems.
Software module's replicas
Programming with Erlang, is it possible to create fault tolerance
software modules, (not only the databases), as an "application server"?
That is, two software modules running on different machines, either in a
primary/secondary, or in a load sharing configuration.
- Yes, this is a core feature of the OTP parts of the system.
>From your experience, should all the available documentation, examples,
language references, etc., together with this open source mailing list,
be "enough" for a start up, or should I try to arrange some kind of
commercial support? Everything seems to be well documented, proved, and
tested, and I know that sometimes you obtain much faster answers from an
"open source mailing list" than from a commercial support service.
- If you are on a short timescale it would probably be worth spending a bit
of cash to get a quickstart into OTP - the docs are a little heavy going. We
have had a support contract from pretty much the off and I must say it is
extremely useful, very quick, and not very expensive either.
Thank you so much for your time!
- That's quite alright, it is a fascinating project and I look forward to
hearing of your success with Erlang
De: Inswitch Solutions - Erlang Evaluation [mailto:]
Enviado el: viernes, 04 de enero de 2002 16:10
Asunto: Fw: New to Earlang
----- Original Message -----
From: "Sean Hinde" <>
To: "'Inswitch Solutions - Erlang Evaluation '" <>;
Sent: Monday, November 25, 2002 3:19 PM
Subject: RE: New to Earlang
> I've considered (several times) making such a system. I believe Erlang
> be an excellent choice for such a scheme - in my case the only reason
> do so was that we already had a different system performing the same
> In our GSM network we have run mnesia nodes holding 1,000,000 rows
> replicated across two machines for the past 3 years or so and have not
> single outage of those systems other than for hardware or connectivity
> A few hints:
> We use mnesia fragmented tables which ensures that a single internal
> rarely gets bigger than 100,000 rows (though I don't quite know why
> on reflection!).
> The only tricky situation is when the replicated nodes lose contact
> each other - the dreaded partitioned networks scenario. With only two
> the solution is to restart one of the nodes once connection is
> that node will rebuild itself from the other node.
> This is quite straightforward but means that any updates on the
> node are lost - this may be unacceptable in a prepayment system
> money at stake).
> One solution which springs to mind is to simply have a master/slave
> - route all updates through one node and set up the clients to only
> traffic to the second node when the primary is unavailable. It is
> imagine situations where certain LAN failures result in a partition
> the nodes can't see each other and some clients can randomly see
> Another solution (perhaps more useful) is to set things up again so
> mnesia replication is used and there is a Primary/Secondary node.
> Normally traffic would go to the primary node which would update the
> secondary as normal. If any traffic failed over to the standby node it
> try to apply the change remotely on the Primary (Easy in Erlang -
> rpc:call/4). If this failed it could try locally (perhaps in a new
> only copy of that customers data), append the change to a log file and
> this to the primary for application once the connection was back up.
> This should be OK for a prepaid type application because it doesn't
> too much which order money is added and removed so long as it ends up
> the correct balance in the end (barring various bizarre stepped price
> which can be covered by weasel words about the order of charging of
> in the end customer agreement).
> Oh, and, sticky locks might be handy if you have one master receiving
> I'll be fascinated to see the outcome of your prototyping.
> Best of luck,
> Sean Hinde
> Intelligent Network Design Manager
> T-Mobile UK
> -----Original Message-----
> From: Inswitch Solutions - Erlang Evaluation
> Sent: 1/4/02 3:39 PM
> Subject: New to Earlang
> I am new to Earlang, trying to evaluate if Erlang is appropiate for
> building a fault tolerance commercial telecom prepaid platform, based
> computer telephony modules, with a replicated or distributed database
> about 500.000 to 1 millon subscribers.
> 1) Does anybody have a commercial good experience with Erlang?
> 2) Is it possible to obtain commercial email-support? If so, does
> anybody know how much it costs?
> Daniel Fernandez
> Inswitch Solutions
> NOTICE AND DISCLAIMER:
> This email (including attachments) is confidential. If you have
> this email in error please notify the sender immediately and delete
> email from your system without copying or disseminating it or placing
> reliance upon its contents. We cannot accept liability for any
> confidence arising through use of email. Any opinions expressed in
> email (including attachments) are those of the author and do not
> reflect our opinions. We will not accept responsibility for any
> made by our employees outside the scope of our business. We do not
> the accuracy or completeness of such information.
NOTICE AND DISCLAIMER:
This email (including attachments) is confidential. If you have received
this email in error please notify the sender immediately and delete this
email from your system without copying or disseminating it or placing any
reliance upon its contents. We cannot accept liability for any breaches of
confidence arising through use of email. Any opinions expressed in this
email (including attachments) are those of the author and do not necessarily
reflect our opinions. We will not accept responsibility for any commitments
made by our employees outside the scope of our business. We do not warrant
the accuracy or completeness of such information.
More information about the erlang-questions