Tag Archives: Mnesia

  • mnesia + leveldb: liberating mnesia from the limitations of DETS- Mikael Pettersson – Erlang User Conference 2015
    2015-07-08 Erlang Central

    Videos



    Slides and more info: http://www.erlang-factory.com/euc2015/mikael-pettersson Mnesia offers various database features, but restricts users to a few storage engines with substantial limitations. This talk describes mnesia_ext, an extension which allows arbitrary storage engines to be plugged into mnesia, and how Klarna used this to migrate parts of its database to LevelDB. We will also talk about our experiences with LevelDB, and some improvements we have made. Talk objectives: - Present ...


    Read more


  • Mnesia Backend Plugin Framework and a LevelDB-based Plugin
    2012-05-28 Erlang Central

    Videos



    DETS, used by Mnesia for permanent storage has, some well known shortcomings (e.g. max 2 GB tables, slow repair of big tables and no ordered set semantics). Klarna and ESL have been looking at other backend solutions. An earlier work made an experimental plugin framework in Mnesia and a filesystem-based plugin. This talk describes a continuation of the earlier work. In this work the backend plugin framework has been refined and documented. The plugin developed is based upon LevelDB by Go ...


    Read more


  • The “halfword” Virtual Machine
    2012-03-26 Erlang Central

    Videos



    The 64bit Erlang Virtual machine can host very large Erlang applications. However, the amount of memory consumed for an ordinary Erlang process is doubled compared to a 32bit virtual machine. Memory bandwidth is a bottleneck in modern computer environments, so wasting memory on 64bit heaps (with e.g. 128 bits consumed for every character in a string) is a problem. The halfword virtual machine addresses these problems for applications having vast amounts of data in ETS tables and binaries, but do ...


    Read more


  • The “halfword” virtual machine
    2011-10-31 Erlang Central

    Videos



    The 64bit Erlang Virtual machine can host very large Erlang applications. However, the amount of memory consumed for an ordinary Erlang process is doubled compared to a 32bit virtual machine. Memory bandwidth is a bottleneck in modern computer environments, so wasting memory on 64bit heaps (with e.g. 128 bits consumed for every character in a string) is a problem. The halfword virtual machine addresses these problems for applications having vast amounts of data in ETS tables and binaries, but do ...


    Read more


  • How I found five lurking race conditions in mnesia with 200 lines of QuickCheck code
    2011-06-06 Erlang Central

    Presentations Videos

    Race conditions are among the worst kind of problem to debug: they tend to appear only rarely (and unrepeatably), often arise only in long running cases in production, and leave little evidence of what went wrong. Erlang is not immune to race conditions, despite its excellent support for concurrency, and they can give rise to rare intermittent failures in OTP libraries such as mnesia, the OTP database. Mnesia is known to fail "once every month or two" in production, and race conditions are one l ...


    Read more


  • RefactorErl: a source code analyzer and transformer tool
    2010-11-17 Erlang Central

    Videos



    RefactorErl is a source code analyzer and transformer tool aimed at refactoring Erlang software. The tool itself is written in Erlang with a  unique approach: semantic analysis results are stored in a Mnesia database to avoid repeated analysis of the same source code, and simple, syntax-based manipulations are available that hide the details of handling separators, comments, and code layout. Beside the 24 implemented refactoring transformations the tool has a complex analyzer framework. For ...


    Read more


  • Testing Database Applications with QuickCheck
    2010-11-15 Erlang Central

    Presentations

    In this tutorial we concentrate on Erlang applications that use a database in the bottom. The database can be Mnesia, mySQL or any other. When testing such database application on needs to test the business logic. The business logic can be seen as rules that should hold for the data in the database, but these rules cannot easily be guaranteed by the database itself. For example, it is hard in Mnesia to guarantee relations between data and it is hard in mySQL to guarantee on the database level th ...


    Read more


  • RefactorErl
    2010-11-15 Erlang Central

    Presentations

    RefactorErl is a source code analyzer and transformer tool aimed at refactoring Erlang software. The tool itself is written in Erlang with a  unique approach: semantic analysis results are stored in a Mnesia database to avoid repeated analysis of the same source code, and simple, syntax-based manipulations are available that hide the details of handling separators, comments, and code layout. Beside the 24 implemented refactoring transformations the tool has a complex analyzer framework. For exa ...


    Read more


  • Integrating Erlang with PHP
    2010-06-07 Erlang Central

    Videos



    What could happen if we mix Erlang, a language that is ideal for high concurrency and parallelism, with PHP, the most popular web development Language? In this talk I will present a C extension that let us use PHP as an Erlang C node to communicate directly with Erlang to do such things as: Query Mnesia Administer RabbitMQ Use Erlang as the Session storage backend for PHP. Run map/reduce jobs in Erlang and get the results back in PHP With this PHP extension we aim to lower the entry ...


    Read more


  • Mnesia and Postgres
    2010-06-07 Erlang Central

    Videos



    Financial systems present a particularly difficult problem in terms of scalability because by implication you have shared data.  The presentation focuses on how we at PMT achieve scalability and redundancy using a combination of Mnesia, PostgreSQL and Oracle Hardware. We will look at how we at PMT - recover from the complete failure of Mnesia databases - keep the two databases synchronised - utilise a combination of a robust SAN and a set of distributed nodes to get good throughput ...


    Read more


  • Mnesia for the CAPper
    2010-06-07 Erlang Central

    Videos



    Mnesia is often listed among the NoSQL databases; for good reason, it seems, as it is neither relational nor SQL-oriented. In the Erlang community, Mnesia is perhaps regarded as a bit of a dinosaur, albeit of the small and cuddly variety, but in this talk, I will try to demonstrate how Mnesia has a thing or two to teach the upstarts. I will also show how Mnesia can borrow from its CAP cousins and make a respectable stab at massive scalability and eventual consistency.   ...


    Read more


  • Tokyo Cabinet and CouchDB with Mnesia
    2009-11-12 Erlang Central

    Videos



    Couch DB and Tokyo Cabinet are two very interesting database managers. CouchDB is famous for its robustness, its simple document storage model, and its RESTful interface, and also for the fact that it is written in Erlang. TokyoCabinet, on the other hand, is written in C, is blazingly fast, and an interface to Mnesia already exists (tcerl via mnesiaex). In this talk I will discuss  how I used Mnesia as a frontend to these database managers and the problems I encountered while integrating it ...


    Read more


  • Page 1 of 212