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

Tomas Morstein tmr@REDACTED
Mon Sep 24 23:59:21 CEST 2012

Hi Max, 

Thanks for your interest and sorry for my late reply! 

Honestly, it's not so easy to compare MUMPS with RDBMS as it's completely different approach even when compared to the rest of NoSQL world... 
I would really recommend you to take a look on http://www.fooboo.org/~tmr/gtm/UniversalNoSQL.pdf because it is "overview for relational people." 

M technology is an excellent choice for analytical applications, so if you're going to make a log aggregator and analyzer, you can benefit from hierarchic multidimensional indices as well as from powerful M language that can help you to process large amounts of existing records in speed of light :-) 
BTW, we have a product that does exactly the same -- it gets tons of log records, index them and the user analytics interface is done with EGTM+ChicagoBoss. 

Sure, PostgreSQL is great and in field of RDBMS it was always one of my preferred choices, but from some point in time, I prefer to use MUMPS for everything I can :-) 

The documentation is not so good because it was done quickly just to have something, and is primarily targetted to people with existing MUMPS experience... but if you're happy with it, we're happy too! :-) 

Best regards, 

PS: there's a new GT.M V6.0-000 release worth to check! 

Dne úterý, 4. září 2012 9:33:39 UTC+2 Max Bourinov napsal(a): 

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, 

On Mon, Sep 3, 2012 at 11:12 PM, Greg Burd < gr...@REDACTED > 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. 


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! 

erlang-questions mailing list 

Architect, Basho Technologies | http://basho.com | @basho 

erlang-questions mailing list 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120924/600307c5/attachment.htm>

More information about the erlang-questions mailing list