[erlang-questions] [ANN] EGTM: embedded ACID compliant NoSQL engine for Erlang

Max Bourinov <>
Tue Sep 4 09:32:48 CEST 2012


Hi Tomas,

Great news indeed.

Before I dive into it, could you please tell me:

   - What is a main advantages compare to traditional RDBMS?
   - For what kind of data it is good? Is it good for keeping log entries
   or I better use traditional RDBMS (say PostgreSQL)?

I am trying to understand how I can use IDEA EGTM in my projects. So far we
live with PostgreSQL. It is very good (as we all know), but there are some
natural limitations when I use it for Erlang - just because it is general
purpose DB.

Tomas, could you just gime me some ideas where and how IDEA EGTM will kick
the a**?

I think IDEA EGTM will perfectly match my needs, because at the very bottom
my app. business logic is very similar to what banks do.

p.s. I have found all docs and they looks superior. So, I see that IDEA
EGTM is pretty well kept software.

Best regards,
Max




On Mon, Sep 3, 2012 at 11:12 PM, Greg Burd <> wrote:

> Given that this project is AGPLv3 I assume that this is a dual-license
> commercial option product, correct?  If so, does someone need to acquire a
> license from you and from the copyright holders of GT.M or do you have some
> commercial agreement with them?  Where is the price list?
>
> Just curious given the prevalence of ASLv2 licensing for Erlang code,
> AGPLv3 is a highly infectious license.
>
> @gregburd
>
>
> On Thursday, August 23, 2012, Tomas Morstein wrote:
>
>> Dear Erlang community,
>>
>> It's finally here! We've just released first public version of IDEA EGTM.
>>
>> EGTM is an Erlang application built on the top of FIS GT.M engine what is
>> a complete implementation of M[UMPS] technology.
>> The main characteristics of M[UMPS] is that it is both language and
>> database, so one can directly access persistent multidimensional arrays
>> from M language.
>>
>> Main benefits of GT.M itself:
>> - it's ANSI/ISO M[UMPS] compatible
>> - fully ACID compliant
>> - it's _very_ fast even if your data layout is not so well optimized
>> - it's small and embedded
>> - it has native replication
>> - it can be distributed across multiple nodes (remote data may be treated
>> as local)
>> - it's mature -- as a heart of PROFILE core-banking system, it is used in
>> hundreds of financial institutions around the world
>> - its Linux version is free
>>
>> Main benefits of EGTM:
>> - inherits all the properties of GT.M
>> - allows Erlang to freely call MUMPS routines and share data with M[UMPS]
>> applications without any limitations
>> - can be used as a data-only storage for Erlang, without a single line of
>> M[UMPS] code, so you don't have to learn M language that may not look so
>> friendly (but in fact, is very simple and powerful!)
>> - EGTM can be deployed on a private secondary GT.M replica instance just
>> to make some data mining (web reporting via ChicagoBoss, for example)
>> without affecting master database
>> - can be used with any Erlang application as well as with ChicagoBoss or
>> any other web framework
>> - through layered software (from IDEA :) ) like IODB, it's possible to
>> map EGTM tree structures to Erlang objects and optionally access them via
>> SQL
>> - IODB is not publicly available yet (coming soon!), but we use it in
>> production and at the moment in conjunction with ChicagoBoss integration
>> module, although the model compiler is ready to be used standalone
>> - another layered software is EGTM HAC what is EGTM HighAvailibility
>> Cluster extension -- the best of HA properties of native GT.M and Erlang
>> distributed properties
>>
>> Even if the performance of any external binding will never be as good as
>> native M code, it should be enough for many applications. If the
>> performance is a primary requirement, it's possible to implement complex
>> tasks with native M and simply call the native routine from EGTM.
>>
>> An example of application that is written in ChicagoBoss framework with
>> pure EGTM (completely without IODB objects) is our website
>> http://www.idea.cz.
>> I am not able to do it immediately, but the source code may be released
>> as a sample CB+EGTM reference project later.
>>
>> Some resources:
>> - EGTM on GitHub: http://github.com/ztmr/egtm
>> - EGTM "homepage": http://labs.idea.cz/egtm
>> - GT.M documentation: http://www.mumps.cz/gtm/
>> - slides about GT.M:
>> http://www.mumps.cz/gtm/misc/120730-1agtmasnosqldatabase.pdf
>> - introduction to M-based systems for relational people:
>> http://www.fooboo.org/~tmr/gtm/UniversalNoSQL.pdf
>>
>> In meantime of posting this message, there were started several
>> discussions in another Erlang-related groups:
>> - https://groups.google.com/forum/#!forum/chicagoboss
>> -
>> https://www.linkedin.com/groups/EGTM-embedded-ACID-compliant-NoSQL-90878.S.149660834
>>
>> Enjoy and feel free to ask!
>>
>> Tom
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>
>
> --
> @gregburd
> Architect, Basho Technologies | http://basho.com | @basho
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120904/dab48694/attachment.html>


More information about the erlang-questions mailing list