Fact-checked by Grok 2 weeks ago

GT.M

GT.M is a high-throughput, key-value database engine and implementation of the M (originally MUMPS) programming language, designed as an industrial-strength platform for transaction processing and application development. It supports schema-less data storage, enabling flexible, NoSQL-style operations while providing robust ACID (Atomicity, Consistency, Isolation, Durability) transaction compliance for high-volume, real-time environments. Originating in the as Greystone Technology M, GT.M evolved into a vetted system for extreme transaction volumes, with key features including terabyte-scale database files, multi-site replication for business continuity, encryption, and support for thousands of concurrent users. It is widely deployed in sectors requiring reliable , such as healthcare for electronic health records systems like and finance for applications. Maintained by Fidelity National Information Services (FIS) since its acquisition of prior developer Sanchez Computer Associates in 2004, GT.M offers both open-source distributions under the GNU Affero General Public License and GNU General Public License version 2.0 for Linux platforms (including Red Hat Enterprise Linux 9.4, Ubuntu 22.04/24.04 LTS, and Amazon Linux 2023), alongside commercial support.) The platform follows a rolling quarterly release model with two-year support, with the current version as of November 2025 being V7.1-009, featuring enhancements like RSA key support for encryption and improved replication protocols.

History

Origins and early development

GT.M was developed in the mid-1980s by Greystone Technology Corporation, based initially in , and later in Woburn, to provide a high-performance implementation of the programming language tailored for applications, particularly in healthcare environments requiring robust data handling and real-time operations. The company aimed to address the limitations of existing interpreters by creating a compiled system that could deliver superior efficiency and scalability for demanding workloads, such as those in medical information systems. The initial release of GT.M occurred in , marking its first production deployment at the Elvis Presley Memorial Trauma Center in , where it supported critical healthcare on a VAX/ system. This early implementation demonstrated GT.M's capability for handling high-volume, real-time data operations in a medical setting, serving as an initial scalability test in a production trauma care environment. GT.M's design emphasized compiling code into native machine code for VAX systems running , with extensions to access system services, enabling optimized performance over traditional interpretive systems. By 1987, GT.M was recognized for its conformance to the 1977 ANSI standard, including source-level debugging tools and utility libraries to facilitate development. A key early milestone was the development of the GT/SQL pre-processor by Greystone, which integrated SQL capabilities with code to enable access while maintaining compatibility with GT.M's hierarchical structure. This tool allowed developers to combine procedural logic with declarative SQL queries, generating hybrid code suitable for transaction-oriented applications in and other sectors, further enhancing GT.M's versatility for early adopters. Subsequent expansions included support for UNIX systems, broadening its efficiency for compiled execution beyond .

Ownership changes and open source transition

In 1998, the developers of GT.M at Greystone Technology were acquired by Sanchez Computer Associates, a company specializing in solutions, which integrated the into its financial application ecosystem to enhance capabilities for systems. This acquisition marked a shift toward commercial applications in the financial sector, leveraging GT.M's high-throughput performance for real-time processing in production environments. In January 2004, acquired Sanchez Computer Associates for approximately $184 million in cash and stock, incorporating GT.M into the portfolio of , its subsidiary. Under FIS ownership, emphasized for large-scale deployments in banking and healthcare, including for systems like the U.S. Department of Veterans Affairs' platform, while maintaining its core strengths in and replication. To foster wider adoption and community contributions, Sanchez announced the initial release of GT.M for and platforms on November 7, 2000, distributing it under the GNU General Public License (GPL) aimed at expanding its use beyond proprietary environments. This transition to (FOSS) enabled broader accessibility for developers and organizations, particularly in high-volume transaction scenarios. In 2009, GT.M achieved full compliance with the GNU Affero General Public License version 3 (AGPLv3), strengthening protections for network-based applications. By 2014, FIS discontinued support for proprietary versions, focusing resources on platforms such as and AIX to align with modern infrastructure trends.

Standards compliance

Adherence to MUMPS/ISO M

GT.M implements the core features of the programming language as defined by the ANSI X11.1-1995 standard and its international counterpart, ISO/IEC 11756:1999 (reaffirmed by ISO in 2020), providing a complete procedural syntax that includes commands for , data manipulation, and input/output operations. This adherence ensures that GT.M supports essential elements such as global variables, which serve as the primary mechanism with sparse array structures accessible across processes, and routine structures that organize code into modular, compilable units for efficient execution. Key standard-compliant features include , which allows dynamic evaluation of variable names or commands at runtime using the indirection operator; via the $FIND and pattern codes in commands like SET and KILL for selective data operations; and extrinsic functions, which enable the definition of callable routines that return values, promoting code reusability in line with ISO specifications. To accommodate diverse applications, GT.M operates in two character set modes: the traditional M mode, which handles 7-bit ASCII characters for legacy compatibility, and mode, which supports (ISO/IEC 10646) for international character handling, including multi-byte sequences for non-Latin scripts. In mode, activated by setting the to "UTF-8" and ensuring a compatible , GT.M processes strings with full awareness, while maintaining by treating invalid sequences as errors or single bytes as appropriate. This dual-mode support aligns with the standards' extensibility for without altering core syntax. While GT.M includes some proprietary extensions, its baseline implementation remains fully aligned with the M standards to support with other systems.

Proprietary extensions

GT.M introduces several proprietary extensions to the standard, enhancing functionality for , , distributed operations, security, and international character support while maintaining core compliance. These extensions provide developers with advanced tools for abstraction, inspection, and integration without requiring changes to standard M syntax. Alias variables in GT.M offer a for abstracting names to underlying arrays, facilitating simplified by allowing indirect references that mimic patterns. This extension enables applications to map complex data structures onto simpler variable interfaces, reducing the need for direct manipulation of nested arrays and improving portability across environments. For instance, developers can define aliases to treat multidimensional globals as local objects, streamlining device-agnostic I/O operations in custom routines. Device handling extensions expand GT.M's I/O capabilities beyond standard devices, supporting custom through features like devices for and advanced parameter controls for terminals or files. These allow for programmatic redirection of output streams, error handling in piped processes, and integration with external system calls, enabling tailored solutions for , data export, or real-time monitoring without relying solely on intrinsic device types. The ZSHOW and ZWRITE commands include a "" format that enhances inspection for , displaying the contents of all s in a structured, human-readable output. Unlike standard ZWRITE, which supports for selective display, ZSHOW "" captures the entire local table and optionally directs it to a or for further processing or persistence, aiding in runtime analysis and error diagnosis. This format ensures comprehensive visibility into states, including subscripts and values, which is particularly useful in complex transaction environments. GT.M integrates with GT.CM, a client/ module, to enable access and connection management across networked systems. GT.CM allows client processes to query and update remote GT.M databases transparently, using /IP for communication, which supports scalable architectures in multi-tier applications. This extension includes options for secure connections, such as TLS encryption, to protect during replication or query operations. Encryption options in GT.M utilize a plug-in architecture for database-level security, permitting the use of ciphers like via libraries such as or GnuPG to encrypt globals at rest. Processes invoke functions like gtmcrypt_init() for and gtmcrypt_encrypt() for data protection, ensuring that sensitive records remain confidential without impacting standard M operations. This feature supports FIPS-compliant modes and integrates with journaling for encrypted backups, providing robust protection in regulated environments. Unicode extensions extend GT.M's character handling beyond basic ISO M support by introducing UTF-8 mode, which processes international strings as Unicode code-points stored in globals. This includes dedicated error handling for invalid sequences, support for Byte Order Markers (BOM) in files, and the FILTER device parameter to enforce encoding transformations during I/O. In UTF-8 mode, globals can store multi-byte characters seamlessly, with ICU library integration for collation and normalization, enabling applications to manage multilingual data without custom conversions.

Technical overview

Data organization and typing

GT.M employs globals as its primary data structure, consisting of multi-dimensional sparse arrays that serve as key-value stores for persistent data. These globals enable hierarchical organization through subscripts, where each global is identified by a name prefixed with a caret (^), followed by zero or more subscripted indices in parentheses, such as ^account(123,"balance"). The sparse nature ensures that only explicitly defined nodes allocate storage, promoting efficiency for irregularly populated datasets and supporting NoSQL-like flexibility in data modeling without predefined schemas. Variables in GT.M, both local and , are inherently schema-less and untyped, eliminating the need for explicit declarations of type, size, or structure. They dynamically manage various forms of data, including strings and numerics, adapting based on usage context without runtime type errors for compatible operations. A variable can hold up to 1,048,575 bytes of data, and up to 31 subscripts per variable, with the combined length of the global name, subscripts, and associated overhead limited to 1,019 bytes for globals. Typing in GT.M relies on a unified string-based representation, with implicit automatic conversions between string and numeric forms as required by operations. In numeric contexts, such as expressions, strings are parsed as numbers with up to 18 digits of and a range from approximately 10^{-43} to 10^{47}, truncating at the first non-numeric character (except leading signs or a single decimal point). Conversely, numeric results are converted to string forms for storage, particularly in subscripts, where leading zeros are omitted except for zero itself, and decimal points are preserved only if significant. This ensures consistent , treating numerics distinctly from literal strings. Subscript organization within globals supports hierarchical navigation, with collation ordering numerics from most negative to most positive, followed by strings in ascending ASCII order, and the empty subscript ("") always first. Functions like DATA query node existence—returning 0 for nonexistent, 1 for a data node, or 10+ for subtrees—and ORDER iterates to the next subscript in collation sequence, facilitating traversal of sparse structures. Globals integrate with the database subsystem for persistence, where they are mapped to regions comprising blocks typically sized from 4 KiB to 64 KiB, supporting up to 16 gibibytes (2^{34}) of blocks per region for massive scalability.

Database subsystem

GT.M employs the GT.M Data Structures (GDS) engine to manage its database files, which store variables as ordinary operating system files organized internally using balanced B-trees for efficient indexing and retrieval. These B-trees consist of key blocks (non-terminal index nodes pointing to lower levels), index blocks (intermediate pointers), and data blocks (terminal nodes holding actual variable values), enabling block-level access where the smallest unit of storage and concurrency is a fixed-size block, typically 4 to 64 depending on . Database files support automatic extent allocation, where GT.M extends files dynamically by predefined increments (e.g., extension size and count set during creation) as storage needs grow, preventing manual intervention under normal operation while respecting the limits of the underlying , with support for very large files up to 128 TiB or more depending on block size and . This structure accommodates the sparse array nature of globals, where only defined subscripts consume space within the tree. The database subsystem ensures (Atomicity, Consistency, Isolation, Durability) properties for through , where each block maintains a transaction number incremented globally upon commits. During a , GT.M reads blocks into process-local buffers, performs updates in memory, and at commit time, verifies if any modified blocks have been altered by concurrent processes by comparing transaction numbers; unchanged blocks are updated atomically, while conflicts trigger restarts (up to three attempts) before falling back to pessimistic locking to resolve contention. This approach minimizes locking overhead, promoting high throughput in multi-user environments by assuming low conflict rates. Journaling provides durability and crash recovery mechanisms, recording all database modifications to sequential journal files for replay or rollback. Before-image journaling captures the state of blocks prior to the first update in each transaction epoch, enabling rapid recovery by rolling back to the last consistent point and reapplying committed changes, which typically takes seconds to minutes post-crash. No-before-image mode logs only after-images for forward recovery from backups, but before-image is preferred for faster restoration. Replication journaling extends this by streaming updates over networks to secondary instances, supporting multi-site setups with configurable journal buffers (up to ~10 MB) to balance performance and reliability. On supported platforms, GT.M offers encryption at rest for database and journal files using symmetric ciphers like , protecting data from unauthorized offline access while leaving file headers unencrypted for structural integrity. Key management involves a password-protected key ring storing encrypted symmetric keys derived from asymmetric public-private pairs, with processes loading keys via environment variables or prompts at startup. This feature is available on current supported platforms, including x86_64 and AIX, integrating transparently with the GDS engine without impacting runtime performance significantly.

Language subsystem

GT.M implements a compiled of the (M) programming language, which structures code into routines—self-contained units of executable source files typically with a .m extension. Routines begin execution at the first line or a specified and consist of commands, functions, and labels that define program flow. Labels, which start in the first column and end with a colon, serve as named s within a routine, allowing via DO commands or function calls for modular code organization. Flow control in GT.M relies on commands such as DO for executing blocks of code or invoking other routines, creating a stack-based call structure that supports up to a system-defined limit. The QUIT command terminates the current block or routine, returning control to the caller and optionally passing a value via the $TEST special variable, which holds the result of the last executed expression. This design enables with straightforward entry and exit points, emphasizing efficiency in transaction-oriented environments. GT.M provides a rich set of built-in functions prefixed by , including QUERY for traversing hierarchical data structures like globals or locals in a single operation. The QUERY(glvn) function returns the name of the next subscripted node containing data in collating sequence order, facilitating [tree traversal](/page/Tree_traversal) without nested loops—for instance, starting from an empty string to iterate all nodes in ^X(1,2)="value" by repeatedly applying QUERY until an empty result. For resource management, the ZALLOCATE command reserves lock space on variables, akin to LOCK but with optional timeouts, ensuring exclusive access in multi-process scenarios. Error handling in GT.M uses the ZTRAP intrinsic special variable, which specifies a label or routine to execute upon encountering an error, allowing custom recovery logic instead of default termination. Setting ZTRAP to a string like "errorhandler^myroutine" traps exceptions and restores execution context, with ECODE providing the [error code](/page/Error_code) for conditional branching. Intrinsic special variables, such as ZSYSTEM for subprocess status or $ZDIRECTORY for the working path, enable direct interaction with the host operating system, integrating M with external processes. The compilation process transforms M source code into platform-specific object modules (.o files) using the integrated MCOMPILER, invoked via the mumps shell command, ZCOMPILE in direct mode, or ZLINK for linking. By default, it operates in "compile-as-written" mode, generating object code despite syntax errors (up to 127 per routine) for incremental development, with qualifiers like -dynamic_literals to optimize literal handling and reduce memory footprint during runtime. Optimized object code links into shared libraries for C-callable interfaces, enhancing performance in hybrid applications.

Performance and scalability

Transaction processing features

GT.M provides robust transaction processing capabilities designed for high-throughput environments, adhering to the (Atomicity, Consistency, Isolation, Durability) properties essential for reliable database operations. Transactions in GT.M group database updates into logical units that either fully succeed or fail entirely, ensuring in applications such as healthcare and financial systems. The system employs , where each database block maintains a number to detect conflicts without initial locking. A begins with the TSTART command, which captures the initial state of modified globals, and concludes with TCOMMIT, which verifies no external changes have occurred to those blocks since the start. If conflicts are detected, GT.M automatically restarts the up to three times before potentially locking out concurrent processes on the fourth attempt, minimizing aborts while preserving . Atomicity is enforced by rolling back all changes if a fails, using the TROLLBACK command for explicit aborts or implicit handling on errors. Consistency relies on the M language's constraints and to maintain valid states, while isolation prevents other processes from observing partial updates during execution. is achieved through , which logs changes to disk; by default, TCOMMIT waits for journal writes to complete, though setting TRANSACTIONID="BATCH" via the VIEW command allows deferring journal flushes for higher throughput in batch scenarios. GT.M supports nested transactions, where inner transactions (sub-transactions) defer their commits until the outermost TCOMMIT, enabling modular code without compromising atomicity. The TRESTORE and TRESTART commands further aid in error recovery by restoring variables or replaying transactions, with configurable via parameters like gtm_tprestart_log_delta to monitor restart frequency and optimize performance. For specialized needs, GT.M offers a "no " mode via the NOISOLATION qualifier in TSTART, relaxing on specified globals to boost concurrency in read-heavy workloads, though this trades off strict compliance for scalability. To maximize efficiency, GT.M recommends keeping transactions brief, limiting them to necessary database regions, and avoiding non-transactional commands like explicit LOCK or WRITE operations within them, as these can introduce inconsistencies or deadlocks. These features collectively enable GT.M to handle high volumes of transactions per day in production systems, supporting its use in mission-critical applications.

Replication and high availability

GT.M provides robust multi-site replication to ensure data consistency and availability across distributed environments. The system employs source servers on the originating instance, which read updates from a journal pool and stream them over to receiver servers on replicating instances. These receiver servers buffer the updates in a receiver pool before coordinating with update processes to apply them to the database and generate corresponding journals. This architecture supports logical multi-site replication (LMS), allowing up to 16 replicating instances per originating instance in cascading configurations, such as A→B→C, without distance limitations as long as network bandwidth is sufficient. Source servers operate in active mode to transmit updates or passive mode as a standby, ready to activate during , while receiver servers handle incoming streams on replicating sites. Journaling serves as the foundation for this replication, mandating before-image or no-before-image records for replicated regions to maintain sequence numbers and enable . Update processes on replicating instances ensure that applied changes match the originating site's state, supporting . For , GT.M implements clustering through instance freeze and thaw mechanisms, which halt updates on affected regions during errors like disk space exhaustion or I/O failures to prevent corruption. The instance freeze feature, configurable via MUPIP commands such as MUPIP SET -INST_FREEZE_ON_ERROR, automatically triggers on detectable issues and allows thawing to resume operations once resolved, either automatically or manually. Automatic role switching facilitates seamless by reconfiguring a replicating instance to become the new originating instance, using buffered messages to minimize during switchover procedures. In replicated environments, relies on unique message identifiers (MSGIDs) to detect and retry divergent transactions, with automatic of conflicting updates reported via detailed logs. For more complex discrepancies, such as unreplicated transactions during outages, manual intervention is required to reconcile databases using tools like MUPIP JOURNAL , ensuring without loss. GT.M's replication scales to large-scale datasets across clusters by leveraging commodity hardware and efficient streaming, enabling continuous 24/7 operations in demanding sectors. In banking cores, for instance, it supports mission-critical applications like funds transfers and interest postings, where primary instances replicate to secondary sites for and analytics, maintaining consistency even across upgrades or crashes.

Platforms

Supported operating systems

GT.M V7.1-009, released on September 22, 2025, provides full support for 64-bit x86_64 GNU/Linux distributions including Red Hat Enterprise Linux (RHEL) 9.6, Ubuntu 22.04 LTS and 24.04 LTS, and Amazon Linux 2023, requiring AVX instruction set support for optimal performance. These platforms support both UTF-8 mode, which requires ICU version 3.6 or later, and M mode without additional ICU dependencies, with compatibility for libtinfo libraries such as ncurses-libs on RHEL. Only ext4 and XFS filesystems are supported, with XFS recommended when using the NODEFER_ALLOCATE feature for enhanced performance. On , GT.M V7.1-009 supports 64-bit AIX versions 7.2 Technology Level (TL) 5 and 7.3 TL 3, limited to POWER7 or later CPUs and the jfs2 filesystem. Both and M modes are available, though AIX ICU utilities may limit full testing of 4-byte characters. Binary distributions are provided for these certified platforms, while source code builds are available for custom environments meeting the specified requirements. For the most current list, users should contact FIS support, as platform certifications evolve with releases.

Hardware and compatibility considerations

GT.M requires 64-bit CPUs and a to run its processes effectively, ensuring compatibility with modern hardware architectures. For production environments, a minimum of 4 GB is recommended to support basic database operations without excessive , though actual needs depend on application workload and global buffer configuration, which defaults to 1024 buffers (each typically 4 KB) but can scale up to over 2 million for larger datasets. High (TP) workloads benefit from systems with 16 or more CPU cores to leverage GT.M's multi-threaded capabilities and optimize concurrency. Compatibility with external systems is facilitated through GT.CM, GT.M's client-server interface, which enables remote database access over TCP/IP and supports integration with ODBC and JDBC standards for querying GT.M databases from relational tools and applications. This allows interoperability with and .NET environments, where JDBC drivers provide SQL-like access to GT.M globals, and options extend support to Windows-based desktop applications. GT.CM handles cross-endian operations but does not support triggers or full TP in networked mode, recommending encryption via third-party tools for secure connections. Portability across architectures is achieved using MUPIP utilities, which enable database migration through extract/load operations and endian conversion to adapt files between little-endian and big-endian systems without . For instance, MUPIP ENDIANCVT converts database files directly or outputs to new files, while MUPIP EXTRACT and LOAD facilitate reorganization and transfer, supporting upgrades between GT.M versions and co-existence of multiple installations. Updates in GT.M V7.1-009 enhance MUPIP journaling but do not alter core hardware prerequisites.

Licensing and support

Open source model

GT.M's distributions are licensed under the GNU Affero General Public License version 3 (AGPLv3) and the GNU General Public License version 2.0 (GPLv2) for supported platforms. The initial release occurred in November 2000 by Sanchez Computer Associates for on x86_64 and architectures, as well as for on HP Alpha/AXP. The AGPLv3, a strong designed for server software, mandates that users who modify the software and make it available over a must disclose the corresponding to those users, ensuring collaborative and preventing proprietary forks in networked environments. The complete source code for GT.M is publicly available via the fis-gtm project on , where it is distributed as a vetted industrial-strength optimized for . Community involvement includes contributions such as bug fixes and ports to additional platforms, all coordinated under the oversight of Services (FIS), GT.M's primary maintainer, which reviews and integrates submissions to maintain quality and compatibility. This model has facilitated adaptations of legacy systems like the U.S. Department of ' VistA into open projects, including WorldVistA, enabling broader adoption and customization in healthcare without licensing barriers.

Commercial options

For platforms such as AIX, , , and , GT.M is available under proprietary licensing from National Information Services (FIS), the current steward of the technology. These licenses are available under proprietary terms from National Information Services (FIS), typically involving fees based on the deployment size. This contrasts with the open-source AGPLv3 distribution available for environments. FIS offers comprehensive commercial support for GT.M across all supported platforms, including service level agreements (SLAs) that guarantee 24/7 technical assistance, response times tailored to severity levels, and priority issue resolution. Additional services encompass builds to meet specific organizational needs, assistance from legacy systems, and ongoing to ensure compatibility with evolving hardware and security standards. Enterprise editions of GT.M provide advanced features, such as enhanced database and journal file encryption to protect , along with consulting services for , performance optimization, and with industry regulations. These options are designed for mission-critical applications in sectors requiring high and reliability, with support contracts customizable based on deployment scale.

Applications

Healthcare systems

GT.M serves as the foundational database engine for prominent open source electronic health record (EHR) systems derived from the U.S. Department of ' (VA) , including WorldVistA and OpenVista. These systems rely on GT.M's implementation of the programming language to handle core functions such as storing and retrieving patient records, processing billing, and managing clinical workflows in healthcare environments ranging from small clinics to large hospitals. Open source VistA adaptations powered by GT.M have been deployed in healthcare facilities worldwide since the mid-2000s, building on the original VistA system's rollout in VA hospitals starting in the late 1970s and 1980s. These implementations support high-volume operations akin to VistA's scale, where the VA processes over 500,000 prescriptions daily across its network of medical centers and clinics to deliver care to millions of veterans. GT.M enables similar transaction throughput in non-VA settings, ensuring reliable access to administrative and clinical data. A key advantage of GT.M in these healthcare applications is its support for querying of sparse patient data stored in hierarchical global arrays, which mirrors the irregular and voluminous nature of medical records and enables rapid retrieval for time-sensitive clinical decisions. This structure provides security through encrypted databases and journaling, along with business continuity via multi-site replication, making it suitable for 24/7 healthcare operations. Despite the VA's ongoing transition from to a new system based on starting in the early 2020s, GT.M continues to power open-source derivatives in non-VA environments worldwide as of 2025. In the 2020s, GT.M-based derivatives have incorporated extensions for integration with modern standards like (FHIR), exemplified by tools that load synthetic patient data into the system to facilitate testing and interoperability in EHR environments. Such advancements enhance data exchange between GT.M systems and contemporary health IT platforms without compromising the core architecture.

Financial services

GT.M serves as the foundational database engine for FIS Profile, a leading core banking platform that enables real-time account management and for financial institutions across more than 30 countries on four continents. This integration allows banks to handle complex, multi-currency operations with high reliability, supporting retail and commercial banking needs in diverse global markets. By leveraging GT.M's capabilities, FIS Profile processes millions of daily transactions, ensuring seamless debit and credit postings for customer accounts. Central to its role in , GT.M employs ACID-compliant globals to maintain integrity during high-volume , accommodating terabyte-scale aggregates across distributed environments. These globals provide updates and for financial records, preventing inconsistencies in environments where thousands of concurrent users access shared . This supports scalable operations in core processing systems, where GT.M's key-value architecture optimizes throughput for maintenance without compromising durability. In practical applications, GT.M facilitates fraud detection through efficient across transaction streams, enabling rapid analysis of anomalies in flows. It also powers daily for tasks like interest calculations, reconciliations, and regulatory reporting, processing vast datasets overnight to prepare for the next . These capabilities draw on GT.M's replication features for , briefly referencing its to ensure uninterrupted service during peak loads. GT.M's deployment in dates back to the , when it underpinned core systems for some of the largest U.S. banks as part of early FIS solutions. By the early , it had evolved into a robust engine handling and security enhancements in FIS Profile.

References

  1. [1]
    GT.M High end TP database engine download | SourceForge.net
    Rating 5.0 (10) · Free · LinuxA vetted industrial strength, transaction processing application platform consisting of a key-value database engine optimized for extreme transaction ...
  2. [2]
    FIS-GT.M - VA.gov
    GT.M (Greystone Technology M) is a database engine for transaction processing and is also an application development platform and a compiler for the ...
  3. [3]
    Release Notes: GT.M V7.1-007
    Mar 27, 2025 · V7.1-007 Addresses some potentially impactful database issues as well as numerous changes aimed at improving ease of use and a number of ...
  4. [4]
    GT.M High end TP database engine - Browse Files at SourceForge.net
    Download Latest Version gtm_V71009_linux_x8664_pro.tar.gz (23.1 MB). Email in envelope. Get an email when there's a new version of GT.M High end TP database ...
  5. [5]
    Frequently Asked Questions - YottaDB
    Who develops YottaDB/GT.M? GT.M was originally developed in the mid-1980s by Greystone Technology Corporation then of Wakefield, and later Woburn, Massachusetts ...
  6. [6]
    Health Records | EHR Database - YottaDB
    Under the GT.M brand, the YottaDB code base has its roots in healthcare as an implementation of M, with its first deployment at the Elvis Presley Trauma Center ...
  7. [7]
    [PDF] DECUS U.S. CHAPTER SIGs NEWSLETTERS - Bitsavers.org
    ... Greystone Technology Corporation has in- troduced a MUMPS compiler for the VAX. The company states that the compiler conforms to the 1964 standard, and is a ...
  8. [8]
    GT/SQL from FOLDOC
    GT/SQL ... An SQL pre-processor from Greystone Technologies which combines MUMPS code with SQL code and generates code that can work with a database from both the ...
  9. [9]
    What Is GT.M | PDF - Scribd
    What is GT.M - Free download as PDF File (.pdf) or read online for free. Introduction to FIS GT.M database engine.
  10. [10]
    COMPANY NEWS; FIDELITY NATIONAL TO BUY SANCHEZ ...
    Jan 29, 2004 · Fidelity National Inc., the title insurer, agreed to buy Sanchez Computer Associates Inc. for about $184 million in cash and stock.Missing: date | Show results with:date
  11. [11]
    Sanchez offers GT.M Database as Open Source freeware - Linux.com
    Sanchez offers GT.M Database as Open Source freeware. By. -. November 8, 2000. 117.
  12. [12]
  13. [13]
    chrisrink10/mumpy: ANSI M interpreter written in Python - GitHub
    Users interested in an actual functional M interpreter should investigate FIS GT.M, which is an open source M interpreter that fully conforms to the ANSI M ...
  14. [14]
    GT.M Programmer's Guide
    GT.M Programmer's Guide · Chapter 2: “GT.M Language Extensions” · Chapter 3: “Development Cycle” · Chapter 4: “Operating and Debugging in Direct Mode” · Chapter 5: ...Missing: SQL processor
  15. [15]
    the FIS GT.M Acculturation Workshop
    With the exception of Structured System Variable Names (SSVNs), GT.M mostly implements ISO standard M (ISO/IEC 11756:1999), including a full implementation ...
  16. [16]
    Starting GT.M
    To start GT.M in UTF-8 mode from a POSIX shell, first, set $gtm_chset to UTF-8 and LC_CTYPE or LC_ALL to any usable UTF-8 locale.
  17. [17]
    UTF8 - GT.M High end TP database engine - SourceForge
    Jul 24, 2007 · The gtm_chset environment variable is THE trigger for what mode the mumps binary starts in so must be set every time. So both pieces have to be ...
  18. [18]
    MUMPS FAQ - VistApedia
    Greystone Technologies' GT/M runs on VAX and DEC Alpha. This is a compiler ... Greystone Technology Corporation 100 Unicorn Park Drave Woburn, MA 01801 ...
  19. [19]
    Alias Variables Extensions
    GT.M aliases provide low level facilities on which an application can implement object-oriented techniques. An object can be mapped onto, and stored and ...
  20. [20]
    Chapter 2. GT.M Language Extensions
    The following sections describe the GT.M language extensions listed below: UNIX interface facilities. Debugging tools. Exception-handling extensions. Journaling ...
  21. [21]
    ZWRite
    ZSHOW "V" optionally allows the output to be directed to a global or local variable, whereas ZWRITE always directs its output to the current output device.
  22. [22]
    GT.CM Client/Server on Unix - NetFort
    GT.CM is the network client/server database software for GT.M. GT.CM on UNIX allows access to GT.M databases residing on a server, by client processes running ...Missing: integration | Show results with:integration
  23. [23]
    [V5.4-001] GT.M Database Encryption Technical Bulletin
    GT.M Support for customers: +1 (610) 578-4226 / gtmsupport@fisglobal.com. Switchboard: +1 (610) 296-8877. Website: http://fis-gtm.com. Table of Contents. GT.M ...
  24. [24]
    Extensions for the support for the Unicode® standard - Pair Networks
    To represent and process strings that use international characters, GT.M processes can use the UTF-8 encoding defined by the Unicode® standard.
  25. [25]
    Variables
    GT.M Programmer's Guide > General Language Features of M > Variables ... Arrays and Subscripts. In M, subscripted variables identify elements in sparse ...
  26. [26]
    Data Types
    GT.M provides 18 digits of accuracy, independent of the decimal point (.) placement, and a numeric range from 10**(-43) to ...
  27. [27]
    GT.M V7.0-000 Release Notes - Pair Networks
    V7.0-000 supports database files with up to 16Gi blocks, For example, the maximum size of a V7 database file having 8KiB block size is 128 TiB (8KiB * 16Gi).
  28. [28]
    Database Structure
    ### Summary of GT.M GDS Blocks
  29. [29]
    4. Global Directory Editor (GDE) - Documentation - YottaDB
    A global directory is analogous to a telephone directory. Just as a telephone directory helps you find a phone number (and an address) given a person's name.
  30. [30]
    Transaction Processing
    To provide ACID transactions, GT.M uses a technique called optimistic concurrency control. Each block has a transaction number that GT.M sets to the current ...
  31. [31]
    Implementing Replication and Recovery - Pair Networks
    With before image journaling, the first time a database block is updated after an epoch, GT.M writes a before image journal record. This means that immediately ...
  32. [32]
    Chapter 5. General Language Features of M
    GT.M Programmer's Guide > General Language Features of M. Chapter 5. General ... Arrays and Subscripts · M Collation Sequences · Local Variables · Global ...
  33. [33]
  34. [34]
    5. General Language Features of M - Documentation - YottaDB
    Feb 19, 2018 · This chapter describes general features of the M language, as well as general information about the operation of YottaDB. Commands, Functions, ...
  35. [35]
    $$Query()
    The $QUERY() can be useful in avoiding nested $ORDER loops. Note that the standard does not unambiguously define the state of the naked reference indicator ...
  36. [36]
    Lock
    GT.M records LOCK and ZALLOCATE information in the "lock database." GT.M distributes the lock database in space associated with the database identified by the ...
  37. [37]
    8. Intrinsic Special Variables - Documentation - YottaDB
    This chapter describes the M Intrinsic Special Variables implemented in YottaDB. All entries starting with the letter Z are YottaDB additions to the ANSI ...
  38. [38]
    Compiling a Source Program
    By default, the GT.M compiler operates in "compile-as-written" mode, and produces object code even when a routine contains syntax errors. This code includes ...
  39. [39]
    NOISOLATION - NetFort
    GT.M transaction processing permits the application to specify a set of globals that do not require GT.M to preserve Isolation, one of the "ACID" properties ...
  40. [40]
    Introduction
    ### GT.M Replication Architecture Summary
  41. [41]
    GT.M V7.1-009 Release Notes
    ### Supported Platforms and Operating Systems for GT.M V7.1-009
  42. [42]
    GT.M V7.1-000 Release Notes
    Jun 14, 2023 · Your upgrade procedure for GT.M V7.1-000 depends on your GT.M upgrade history and your current version. Stage 1: Global Directory Upgrade.
  43. [43]
    [PDF] GT.M Administration and Operations Guide - Pair Networks
    Jun 23, 2025 · This document contains a description of GT.M and the operating instructions pertaining to the various functions that comprise the system.
  44. [44]
    fis-gtm : arm64 : Bionic (18.04) : Ubuntu - Launchpad
    fis-gtm binary package in Ubuntu Bionic arm64. Bionic (18.04) · arm64; fis-gtm. GT.M is a database engine with scalability proven in large real-time transaction ...
  45. [45]
    GNU Affero General Public License
    The GNU Affero GPL is a free, copyleft license for software, ensuring cooperation and requiring source code availability for modified network server software.Missing: M 2009
  46. [46]
    fis-gtm-core Mailing List for GT.M High end TP database engine ...
    ... GT.M and also to the Sanchez group for making GT.M available open source on Linux. I have only been using GT.M now for about a day, but a little time spent ...
  47. [47]
    luisibanez/fis-gtm-raspberry-pi: Port of MUMPS GT.M to the ... - GitHub
    ... FIS GT.M complies with the license under which it is provided. If you are unsure as to the terms of your license, please consult with the entity that ...Missing: AGPLv3 | Show results with:AGPLv3<|control11|><|separator|>
  48. [48]
    Vista sees end-to-end Linux in its future - Modern Healthcare
    WorldVista releases a version of Vista that has been adapted to run on GT.M, an open-source iteration of MUMPS developed by Sanchez Computer Associates. The ...
  49. [49]
    [PDF] FIS GT.M™ – An Introduction - WorldVistA
    30,000 employees worldwide. More than 40 years of market leadership and $5 billion in 2009 pro forma revenue. Member of the Standard and Poor's.
  50. [50]
    Open Source VistA Platform - WorldVistA
    GT.M & YottaDB. GT.M is an implementation of the Standard M programming system (M = MUMPS = Massachusetts General Hospital Utility Multi-Programming System).
  51. [51]
    [DOC] VistA Application Developer Documentation - VA VOA Home
    GT.M, short for Greystone Technology/M, is an open source MUMPS interpreter and a functional replacement for Caché, a commercial MUMPS interpreter from ...
  52. [52]
    [PDF] GT.M – the Ideal MUMPS platform for VistA - WorldVistA
    GT.M – Basic Database. Operation. Application. Logic. Database. File. Journal File. Page 13. GT.M – Logical Multi-Site. Application. Logic. Database. File.Missing: EHR | Show results with:EHR
  53. [53]
    [PDF] VistA Monograph - VA.gov
    Jul 18, 2023 · CPS provides 500,000 prescriptions per day to veteran's enterprise wide at all medical centers, and VA clinics. CDB is comprised of Web ...
  54. [54]
    [PDF] Case Studies of VistA Implementation— United States and ...
    Introduction. The U.S. Department of Veterans Affairs (VA) has developed and imple- mented a comprehensive health information system and EHR system.<|control11|><|separator|>
  55. [55]
    Install VistA on GT.M or YottaDB - Hardhats.Org
    To load VistA into GT.M/YottaDB, you need to obtain the these from the CACHE.DAT distributed by the VA. Efforts are underway to lobby the VA to distribute the ...Missing: adaptations | Show results with:adaptations
  56. [56]
    WorldVistA/VistA-FHIR-Data-Loader - GitHub
    This project lets you load data from Synthea (https://synthetichealth.github.io/synthea/) into VistA to produce high quality synthetic patient data for ...Missing: integration | Show results with:integration
  57. [57]
    Cloud-Ready Multi-Currency Real Time Core Banking System - FIS
    Sep 14, 2023 · FIS® Profile, a global and digital core banking system for retail and commercial financial organizations, helps you launch new products ...Missing: GT. M
  58. [58]
    [PDF] PROFILE CORE BANKING OVERVIEW - FIS
    Profile sets the pace for core processing systems. FIS Profile® is a modern, real-time, multi-currency, deposit and loan core banking system.
  59. [59]
    Gt.m | Software Development - Howdy
    GT.M was created in 1986 by Greystone Technology to provide a robust and scalable database engine for transactional applications. It was initially developed to ...
  60. [60]
    [PDF] NORTH AMERICAN MID-LARGE BANK EDITION - FIS
    May 12, 2023 · Horizontal scalability is provided through GT.Ms. (Greystone Technology M Logical Multi. Site (LMS) capabilities). GT.M is a high- throughput ...
  61. [61]
    What is FIS Company: Definition and Meaning - Capital.com
    One such product is Profile, a banking application based on the open source GT. M, a transaction processing database engine maintained by FIS.
  62. [62]
    FIS Eyes Tokenized Deposits and Stablecoins to Move Money Faster
    Aug 18, 2025 · Himal Makwana, global head of corporate strategy at FIS, discusses tokenized deposits and how clients must be able to move money.Missing: Profile | Show results with:Profile<|control11|><|separator|>