tag:blogger.com,1999:blog-5635587370432045273.post6979420121522769830..comments2022-12-12T16:30:56.218+01:00Comments on Web λ.0 - A different view on programming: Sky is the limit for Mnesiakklishttp://www.blogger.com/profile/03518001329895236884noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-5635587370432045273.post-58816587260168401332008-09-26T13:08:00.000+02:002008-09-26T13:08:00.000+02:00Erlang & Mnesia are usually used in distribute...Erlang & Mnesia are usually used in distributed enviornments anyway, so a failure or crash of a single instance should be no problem.<BR/>But I would be curious to see some independent and reliable tests myself. Tsung (http://tsung.erlang-projects.org/) looks like a good candidate for the job.kklishttps://www.blogger.com/profile/03518001329895236884noreply@blogger.comtag:blogger.com,1999:blog-5635587370432045273.post-39854265608758233432008-09-22T22:45:00.000+02:002008-09-22T22:45:00.000+02:00Dets is certainly good enough even for the modern ...Dets is certainly good enough even for the modern successors of the AXD 301, the main reason being that these are signaling nodes with very modest requirements on persistent storage - mnesia disc copies (i.e. ram+disk and not dets at all) are used only for configuration data. But sure, there are lots of other application domains where an upper limit of 2 GB per table fragment is nothing to brag about. (:<BR/><BR/>The most interesting tests of tcerl would be restart and crash scenarios under high load. Turning the power off and on again is an old favourite. Tcerl hooks into mnesia's commit logic, and that means that there is no means of rollback if something goes wrong (I believe mnesia will simply "dump core" instead) - the Tokyocabinet stuff simply has to work. Also, mnesiaext modifies mnesia's table loading logic, so trouble during distributed table load would be something to watch out for.<BR/><BR/>I'm not saying that I expect it not to work - just pointing out which types of robustness tests would be most convincing.Ulf Wigerhttps://www.blogger.com/profile/14415790008413375634noreply@blogger.comtag:blogger.com,1999:blog-5635587370432045273.post-78438403991359477062008-09-22T11:04:00.000+02:002008-09-22T11:04:00.000+02:00Erlang reliability arises mostly from the fact tha...Erlang reliability arises mostly from the fact that it depends only on itself and nothing more. Introducing external mechanisms always creates some risk of side effects.<BR/>As far as the Erlang part is concerned - yes, I believe it is reliable, since all database logic depends on Mnesia and it has proven reliability. So you can be sure that at least all database operations are correct.<BR/>On the other hand the storage itself is provided by Tokyocabinet and you have to trust it about data consistency and correctness. However, I made several stress tests pumping concurrently millions of records into Mnesia running on tcerl and didn't run into any problems with data consistency. I also managed to run a patched ejabberd on production system where it handles an inter-process communication and didn't run into any problems either.kklishttps://www.blogger.com/profile/03518001329895236884noreply@blogger.com