Globals Are Magic Swords For Managing Data. Part 1

Globals, these magic swords for storing data, have been around for a while, but not many people can use them efficiently or know about this super-weapon altogether.

If you use globals for tasks where they truly shine, the results may be amazing, either in terms of increased performance or dramatic simplification of the overall solution (1, 2).

Globals offer a special way of storing and processing data, which is completely different from SQL tables. They were first introduced in 1966 in the M(UMPS) programming language, which was initially used in medical databases. It is still used in the same way, but has also been adopted by some other industries where reliability and high performance are top priorities: finance, trading, etc.

Later M(UMPS) evolved into Caché ObjectScript (COS). COS was developed by InterSystems as a superset of M. The original language is still accepted by developers' community and alive in a few implementations. There are several signs of activity around the web: MUMPS Google group, Mumps User's group), effective ISO Standard, etc.

Modern global based DBMS supports transactions, journaling, replication, partitioning. It means that they can be used for building modern, reliable and fast distributed systems.

Globals do not restrict you to the boundaries of the relational model. They give you the freedom of creating data structures optimized for particular tasks. For many applications reasonable use of globals can be a real silver bullet offering speeds that developers of conventional relational applications can only dream of.

Globals as a method of storing data can be used in many modern programming languages, both high- and low-level. Therefore, this article will focus specifically on globals and not the language they once came from.

views

rating

how to redirect IO

I get a third party routine which outputs some messages to standard output during execution.

Is it possible that I could direct the messages to other device so my terminal would never see this messages?

views

rating

Developer Community Meetup in Cambridge

  

Hi, Community!

I'm pleased to invite you to InterSystems Community Meetup we would have in Cambridge on 8th of August.

views

rating

SQL Inbound Adapter - Not returning all the records it should from a View in Micrsoft SQL Server

I am currently working on a issue with WRC on one of my Inbound SQL Adapters not returning all the records it should be.

views

rating

Cursor placement

Greetings,  

views

rating

Problem with setting a property

Hi!

While i am trying to write a data i am getting a error as "<PROPERTY DOES NOT EXIST>zFile+15^User.zKQRest.1 *value,%Collection.ListOfObj" but there are values stored in it. How can i break it write it separately.

views

rating

Join InterSystems Global Masters!

Hi, Community!

I want to invite you to join InterSystems Global Masters Advocacy Hub!

The Global Masters Advocacy Hub is our customer engagement platform where you will be invited to have some fun completing entertaining challenges, communicating with other advocates, and accumulating points which you can redeem for a variety of rewards and special honors.

views

rating

What is the most efficient way to store/retrieve the data into/from global

Type 1:

^global(key1,key2,key3,val1) = ""
^global(key1,key2,key3,val2) = ""
^global(key1,key2,key3,valn) = ""

Type 2:

views

rating

Need variable number of query parameters in dynamic query

I have a query string that I am creating programmatically, based on some user inputs.  The user might search on 5 fields, or 8 fields, or no fields.

views

rating

Ensemble production change logging

Hi
I would like to follow any change made in the production IE -
date,time, user,production,service/process/operation - name, item changed, value before change, value after change.

views

rating

XML to Json conversion

Hello,

views

rating

Video of the week: Upgrades - Minimizing Business Disruption

Hi, Community!

Please find the Developer Community video of the week on DC Youtube Channel:

views

rating

.Net Gateway Parallel Calls – Optimal Number?

More calls in parallel to a single .Net Gateway can yield better performance, but too many could cause problems. What is the "Right" number? What do you do/recommend?

views

rating