SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
GT.M 
NoSQL in core banking systems 
@zmerta
NoSQL in core banking systems? 
WTF?
The story begins as usual...
A long time ago in a galaxy far, 
far away….
A long time ago in a galaxy far, 
far away…. 
MUMPS
A long time ago in a galaxy far, 
far away…. 
MUMPS 
Welcome to the 60s!
MUMPS 
Massachusetts General Hospital Utility Multi-Programming System 
or simply M 
Features 
- ANSI and ISO standardized 
- Procedural language combined with a database engine 
- ACID transactions 
- Optimized for low-memory computers 
- Commercial implementations: GT.M, Caché
MUMPS 
Syntax 
- Weird language constructions 
- All commands could be shorten to one or two letters 
- Allows multiple commands on a line 
- Beware of white spaces - some are significant
MUMPS 
%DTC ; SF/XAK - DATE/TIME OPERATIONS ;1/16/92 11:36 AM 
;;19.0;VA FileMan;;Jul 14, 1992 
D I 'X1!'X2 S X="" Q 
S X=X1 D H S X1=%H,X=X2,X2=%Y+1 D H S X=X1-%H,%Y=%Y+1&X2 
K %H,X1,X2 Q 
; 
C S X=X1 Q:'X D H S %H=%H+X2 D YMD S:$P(X1,".",2) X=X_"."_$P(X1,".",2) 
K X1,X2 Q 
S S %=%#60/100+(%#360060)/100+(%3600)/100 Q 
; 
H I X<1410000 S %H=0,%Y=-1 Q 
S %Y=$E(X,1,3),%M=$E(X,4,5),%D=$E(X,6,7) 
S %T=$E(X_0,9,10)*60+$E(X_"000",11,12)*60+$E(X_"00000",13,14) 
TOH S %H=%M>2&'(%Y#4)+$P("^31^59^90^120^151^181^212^243^273^304^334","^",%M)+%D 
S %='%M!'%D,%Y=%Y-141,%H=%H+(%Y*365)+(%Y4)-(%Y>59)+%,%Y=$S(%:-1,1:%H+4#7) 
K %M,%D,% Q
OMG!!! 
It’s even worse than Perl
or Brainfuck… 
or Whitespace... 
:-)
It’s not so bad... 
MUMPS could be readable...
MUMPS 
HELLO ; Hello application 
; 
FOR I=1:1:10 DO 
. IF I#2=0 DO 
.. DO PRINT^HELLO("Peter") 
. ELSE DO 
.. DO PRINT^HELLO("Paul") 
QUIT 
; 
PRINT(NAME) 
WRITE "Hello, ",NAME,! 
QUIT
Nobody wants to write 
large applications in MUMPS
Think about it as a language for 
writing stored procedures 
and triggers...
But there is one aspect which is still 
ahead of time…
Global Persistent Variables 
aka Globals
MUMPS - Globals 
Features 
- Hierarchical key-value data store (persistent arrays) 
- B-trees abstraction 
- Keys are ordered 
- Schema-less
MUMPS - Globals 
^ACCOUNTS --- 
| 
--- 1 --- 
| | 
| --- name --- Petr Novák 
| | 
| --- email --- petr.novak@mail.cz 
--- 2 --- 
| | 
| --- name --- Martina Pavlíčková 
| | 
| --- email --- martina.pavlickova@mail.cz 
^ACCOUNTS(1,"name") = "Petr Novák" 
| | | | 
| | | node 
| subscript 
| 
global
Oh wait, isn’t it...
NoSQL?
NoSQL? 
50 years ago?
Even better...
Globals are very flexible...
MUMPS - Globals 
Can be used to model: 
- Relational databases 
- Key value databases (Redis, memcached, …) 
- Column/tabular databases (BigTable, Cassandra, …) 
- Document databases (MongoDB, CouchDB, …) 
- Graph databases (Neo4j, …)
Later in the same galaxy...
Later in the same galaxy... 
GT.M
GT.M 
Features 
Greystone Technology M 
- Database engine and application platform 
- MUMPS implementation 
- The heart of FIS Profile™ (core banking system) 
- Used in large financial and healthcare institutions 
- Open sourced in 2000 (GPLv2, AGPL) 
- Multiplatform (AIX, Linux, OpenVMS, Solaris, z/OS…) 
- Commercial support
GT.M 
Performance 
- High performance 
- Small footprint 
- Ultra fast ACID transactions (optimistic concurrency) 
- Software transactional memory 
- In-memory like performance with on-disk like integrity 
- Sophisticated caching
GT.M 
Security 
- Uses underlying operating system 
- Processes run as user level processes 
- No database daemon 
- Journaling 
- Database encryption 
- Plugin architecture for encryption algorithms
GT.M 
Scalability & continuity of business 
- Logical multi site operation 
- One instance streams to up to 16 replicas 
- 2 replication modes: 
- BC replication 
- SI replication
GT.M 
Deployment 
- Internet superserver (inetd, xinetd) 
- EWD (M/Gateway) 
- MTM (Profile)
GT.M 
Limits 
- One Global must fit in one database file 
(no limit on the number of database files) 
- Database file is divided to 992 mi blocks 
(variable block sizes - multiple of 512 bytes, with a 
maximum size of 65,024
GT.M 
Proven in business-critical environments 
World’s largest banks 
- ING DIRECT 
- Capital One 360 (USA) 
- Barclays Direct (GB) 
Healthcare 
- WorldVistA (Electronic Health Record system)
NoSQL - Advantages 
Five Advantages 
1. Elastic scaling 
2. Big data 
3. Goodbye DBAs 
4. Economics 
5. Flexible data models 
http://www.techrepublic.com/blog/10-things/10-things-you-should-know-about-nosql-databases/
NoSQL 
Five Advantages 
1. Elastic scaling 
Support for scaling out across multiple servers 
2. Big data 
3. Goodbye DBAs 
4. Economics 
5. Flexible data models
NoSQL 
Five Advantages 
1. Elastic scaling 
2. Big data 
Designed to support huge ammount of data 
3. Goodbye DBAs 
4. Economics 
5. Flexible data models
NoSQL 
Five Advantages 
1. Elastic scaling 
2. Big data 
3. Goodbye DBAs 
Some systems have been running unattended 
for decades 
4. Economics 
5. Flexible data models
NoSQL 
Five Advantages 
1. Elastic scaling 
2. Big data 
3. Goodbye DBAs 
4. Economics 
Runs on low-cost commodity hardware 
5. Flexible data models
NoSQL 
Five Advantages 
1. Elastic scaling 
2. Big data 
3. Goodbye DBAs 
4. Economics 
5. Flexible data models 
NoSQL or relational databases emulation
NoSQL 
Five challenges 
1. Maturity 
2. Support 
3. Analytics and business intelligence 
4. Administration 
5. Expertise 
http://www.techrepublic.com/blog/10-things/10-things-you-should-know-about-nosql-databases/
NoSQL 
Five challenges 
1. Maturity 
50. years in business-critical environments 
2. Support 
3. Analytics and business intelligence 
4. Administration 
5. Expertise
NoSQL 
Five challenges 
1. Maturity 
2. Support 
Commercial support available. 
3. Analytics and business intelligence 
4. Administration 
5. Expertise
NoSQL 
Five challenges 
1. Maturity 
2. Support 
3. Analytics and business intelligence 
DeepSee - product for realtime analysis 
(InterSystems / Caché) 
4. Administration 
5. Expertise
NoSQL 
Five challenges 
1. Maturity 
2. Support 
3. Analytics and business intelligence 
4. Administration 
Easy to install and to maintain. 
5. Expertise
NoSQL 
Five challenges 
1. Maturity 
2. Support 
3. Analytics and business intelligence 
4. Administration 
5. Expertise 
Small number of skilled professionals :-(
So why we reinventing the wheel 
over and over again?

Weitere ähnliche Inhalte

Andere mochten auch

How Retail Banks Use MongoDB
How Retail Banks Use MongoDBHow Retail Banks Use MongoDB
How Retail Banks Use MongoDBMongoDB
 
MapR-DB – The First In-Hadoop Document Database
MapR-DB – The First In-Hadoop Document DatabaseMapR-DB – The First In-Hadoop Document Database
MapR-DB – The First In-Hadoop Document DatabaseMapR Technologies
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseDataWorks Summit
 
Evolving from RDBMS to NoSQL + SQL
Evolving from RDBMS to NoSQL + SQLEvolving from RDBMS to NoSQL + SQL
Evolving from RDBMS to NoSQL + SQLMapR Technologies
 
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop ProfessionalsBest Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop ProfessionalsCloudera, Inc.
 
Preemptive Customer Service: Learning from Customer Data Silos
Preemptive Customer Service: Learning from Customer Data SilosPreemptive Customer Service: Learning from Customer Data Silos
Preemptive Customer Service: Learning from Customer Data SilosHenry Sampson
 
Big Data Banking: Customer vs. Accounting
Big Data Banking: Customer vs. AccountingBig Data Banking: Customer vs. Accounting
Big Data Banking: Customer vs. AccountingHenry Sampson
 
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...StampedeCon
 
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 MillionHow One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 MillionDataWorks Summit
 
Intro to Spark and Spark SQL
Intro to Spark and Spark SQLIntro to Spark and Spark SQL
Intro to Spark and Spark SQLjeykottalam
 

Andere mochten auch (15)

How Retail Banks Use MongoDB
How Retail Banks Use MongoDBHow Retail Banks Use MongoDB
How Retail Banks Use MongoDB
 
MapR-DB – The First In-Hadoop Document Database
MapR-DB – The First In-Hadoop Document DatabaseMapR-DB – The First In-Hadoop Document Database
MapR-DB – The First In-Hadoop Document Database
 
Real-World NoSQL Schema Design
Real-World NoSQL Schema DesignReal-World NoSQL Schema Design
Real-World NoSQL Schema Design
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data Warehouse
 
Evolving from RDBMS to NoSQL + SQL
Evolving from RDBMS to NoSQL + SQLEvolving from RDBMS to NoSQL + SQL
Evolving from RDBMS to NoSQL + SQL
 
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop ProfessionalsBest Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
Best Practices for the Hadoop Data Warehouse: EDW 101 for Hadoop Professionals
 
Spark SQL
Spark SQLSpark SQL
Spark SQL
 
Preemptive Customer Service: Learning from Customer Data Silos
Preemptive Customer Service: Learning from Customer Data SilosPreemptive Customer Service: Learning from Customer Data Silos
Preemptive Customer Service: Learning from Customer Data Silos
 
Big Data Banking: Customer vs. Accounting
Big Data Banking: Customer vs. AccountingBig Data Banking: Customer vs. Accounting
Big Data Banking: Customer vs. Accounting
 
Core banking
Core bankingCore banking
Core banking
 
Core banking
Core bankingCore banking
Core banking
 
Intro to FIS GT.M
Intro to FIS GT.MIntro to FIS GT.M
Intro to FIS GT.M
 
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
 
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 MillionHow One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
 
Intro to Spark and Spark SQL
Intro to Spark and Spark SQLIntro to Spark and Spark SQL
Intro to Spark and Spark SQL
 

Kürzlich hochgeladen

Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Kürzlich hochgeladen (20)

Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

GT.M - NoSQL in core banking systems

  • 1. GT.M NoSQL in core banking systems @zmerta
  • 2. NoSQL in core banking systems? WTF?
  • 3. The story begins as usual...
  • 4. A long time ago in a galaxy far, far away….
  • 5. A long time ago in a galaxy far, far away…. MUMPS
  • 6. A long time ago in a galaxy far, far away…. MUMPS Welcome to the 60s!
  • 7. MUMPS Massachusetts General Hospital Utility Multi-Programming System or simply M Features - ANSI and ISO standardized - Procedural language combined with a database engine - ACID transactions - Optimized for low-memory computers - Commercial implementations: GT.M, Caché
  • 8. MUMPS Syntax - Weird language constructions - All commands could be shorten to one or two letters - Allows multiple commands on a line - Beware of white spaces - some are significant
  • 9. MUMPS %DTC ; SF/XAK - DATE/TIME OPERATIONS ;1/16/92 11:36 AM ;;19.0;VA FileMan;;Jul 14, 1992 D I 'X1!'X2 S X="" Q S X=X1 D H S X1=%H,X=X2,X2=%Y+1 D H S X=X1-%H,%Y=%Y+1&X2 K %H,X1,X2 Q ; C S X=X1 Q:'X D H S %H=%H+X2 D YMD S:$P(X1,".",2) X=X_"."_$P(X1,".",2) K X1,X2 Q S S %=%#60/100+(%#360060)/100+(%3600)/100 Q ; H I X<1410000 S %H=0,%Y=-1 Q S %Y=$E(X,1,3),%M=$E(X,4,5),%D=$E(X,6,7) S %T=$E(X_0,9,10)*60+$E(X_"000",11,12)*60+$E(X_"00000",13,14) TOH S %H=%M>2&'(%Y#4)+$P("^31^59^90^120^151^181^212^243^273^304^334","^",%M)+%D S %='%M!'%D,%Y=%Y-141,%H=%H+(%Y*365)+(%Y4)-(%Y>59)+%,%Y=$S(%:-1,1:%H+4#7) K %M,%D,% Q
  • 10. OMG!!! It’s even worse than Perl
  • 11. or Brainfuck… or Whitespace... :-)
  • 12. It’s not so bad... MUMPS could be readable...
  • 13. MUMPS HELLO ; Hello application ; FOR I=1:1:10 DO . IF I#2=0 DO .. DO PRINT^HELLO("Peter") . ELSE DO .. DO PRINT^HELLO("Paul") QUIT ; PRINT(NAME) WRITE "Hello, ",NAME,! QUIT
  • 14. Nobody wants to write large applications in MUMPS
  • 15. Think about it as a language for writing stored procedures and triggers...
  • 16. But there is one aspect which is still ahead of time…
  • 18. MUMPS - Globals Features - Hierarchical key-value data store (persistent arrays) - B-trees abstraction - Keys are ordered - Schema-less
  • 19. MUMPS - Globals ^ACCOUNTS --- | --- 1 --- | | | --- name --- Petr Novák | | | --- email --- petr.novak@mail.cz --- 2 --- | | | --- name --- Martina Pavlíčková | | | --- email --- martina.pavlickova@mail.cz ^ACCOUNTS(1,"name") = "Petr Novák" | | | | | | | node | subscript | global
  • 24. Globals are very flexible...
  • 25. MUMPS - Globals Can be used to model: - Relational databases - Key value databases (Redis, memcached, …) - Column/tabular databases (BigTable, Cassandra, …) - Document databases (MongoDB, CouchDB, …) - Graph databases (Neo4j, …)
  • 26. Later in the same galaxy...
  • 27. Later in the same galaxy... GT.M
  • 28. GT.M Features Greystone Technology M - Database engine and application platform - MUMPS implementation - The heart of FIS Profile™ (core banking system) - Used in large financial and healthcare institutions - Open sourced in 2000 (GPLv2, AGPL) - Multiplatform (AIX, Linux, OpenVMS, Solaris, z/OS…) - Commercial support
  • 29. GT.M Performance - High performance - Small footprint - Ultra fast ACID transactions (optimistic concurrency) - Software transactional memory - In-memory like performance with on-disk like integrity - Sophisticated caching
  • 30. GT.M Security - Uses underlying operating system - Processes run as user level processes - No database daemon - Journaling - Database encryption - Plugin architecture for encryption algorithms
  • 31. GT.M Scalability & continuity of business - Logical multi site operation - One instance streams to up to 16 replicas - 2 replication modes: - BC replication - SI replication
  • 32. GT.M Deployment - Internet superserver (inetd, xinetd) - EWD (M/Gateway) - MTM (Profile)
  • 33. GT.M Limits - One Global must fit in one database file (no limit on the number of database files) - Database file is divided to 992 mi blocks (variable block sizes - multiple of 512 bytes, with a maximum size of 65,024
  • 34. GT.M Proven in business-critical environments World’s largest banks - ING DIRECT - Capital One 360 (USA) - Barclays Direct (GB) Healthcare - WorldVistA (Electronic Health Record system)
  • 35. NoSQL - Advantages Five Advantages 1. Elastic scaling 2. Big data 3. Goodbye DBAs 4. Economics 5. Flexible data models http://www.techrepublic.com/blog/10-things/10-things-you-should-know-about-nosql-databases/
  • 36. NoSQL Five Advantages 1. Elastic scaling Support for scaling out across multiple servers 2. Big data 3. Goodbye DBAs 4. Economics 5. Flexible data models
  • 37. NoSQL Five Advantages 1. Elastic scaling 2. Big data Designed to support huge ammount of data 3. Goodbye DBAs 4. Economics 5. Flexible data models
  • 38. NoSQL Five Advantages 1. Elastic scaling 2. Big data 3. Goodbye DBAs Some systems have been running unattended for decades 4. Economics 5. Flexible data models
  • 39. NoSQL Five Advantages 1. Elastic scaling 2. Big data 3. Goodbye DBAs 4. Economics Runs on low-cost commodity hardware 5. Flexible data models
  • 40. NoSQL Five Advantages 1. Elastic scaling 2. Big data 3. Goodbye DBAs 4. Economics 5. Flexible data models NoSQL or relational databases emulation
  • 41. NoSQL Five challenges 1. Maturity 2. Support 3. Analytics and business intelligence 4. Administration 5. Expertise http://www.techrepublic.com/blog/10-things/10-things-you-should-know-about-nosql-databases/
  • 42. NoSQL Five challenges 1. Maturity 50. years in business-critical environments 2. Support 3. Analytics and business intelligence 4. Administration 5. Expertise
  • 43. NoSQL Five challenges 1. Maturity 2. Support Commercial support available. 3. Analytics and business intelligence 4. Administration 5. Expertise
  • 44. NoSQL Five challenges 1. Maturity 2. Support 3. Analytics and business intelligence DeepSee - product for realtime analysis (InterSystems / Caché) 4. Administration 5. Expertise
  • 45. NoSQL Five challenges 1. Maturity 2. Support 3. Analytics and business intelligence 4. Administration Easy to install and to maintain. 5. Expertise
  • 46. NoSQL Five challenges 1. Maturity 2. Support 3. Analytics and business intelligence 4. Administration 5. Expertise Small number of skilled professionals :-(
  • 47. So why we reinventing the wheel over and over again?