Getting Started with Globals
What is Globals?

Globals is a Fast, Proven, Simple, Flexible, NoSQL Database from InterSystems that is FREE for everyone. At its core, the Globals database is powered by an extremely efficient multidimensional data engine. The exposed interface supports access to the multidimensional structures – providing the highest performance and greatest range of storage possibilities. Feel free to join the Globals Community, or download the software, available at the following location:

How can you use Globals?

The first version of Globals is for Java developers, as the Globals database is being exposed through a set of Java APIs and as an Eclipse plug-in. In the future, other APIs will be offered (e.g. Node.js) so that developers can build applications using their favorite interface.

What is a Global?

A global is a persistent sparse multi-dimensional array, which consists of one or more storage elements or “nodes”. Each node is identified by a node reference (which is, essentially, its logical address). Each node consists of a name (the name of the global to which this node belongs) and zero or more subscripts The data stored at each level of the global can either be atomic (a single piece of information) or complex (multiple pieces of information stored in ValueListα format) in nature. In its simplest form, a global is a collection of its name, and all of its subscripts. Given this simple definition, a Globals Database will consist of one or more named globals, each with its own set of zero or more subscripts.

Here are two examples of a global: A simple global with no subscripts, A more complex global with multiple subscripts:

simpleGlobal == “Atomic Data stored in this Simple Global”

cars[“make”, “Mercedes-Benz”] == VL(“Germany”, “”, “Private”)
cars[“make”, “Mercedes-Benz”, “model”] == 3 (# of Models)
cars[“make”, “Mercedes-Benz”, “model”, “CLS550 Coupe”] == “$74,000”
cars[“make”, “Mercedes-Benz”, “model”, “G550 SUV”] == “$105,750”
cars[“make”, “Mercedes-Benz”, “model”, “SL550 Roadster”] == “$102,600”

cars[“make”, “Ford”] == VL(“USA”, “”, “NYSE:F”)
cars[“make”, “Ford”, “model”] == 4 (# of Models)
cars[“make”, “Ford”, “model”, “Mustang”] == “$22,145”
cars[“make”, “Ford”, “model”, “F-150”] == “$22,415”
cars[“make”, “Ford”, “model”, “FUSION Hybrid”] == “$28,340”
cars[“make”, “Ford”, “model”, “Expedition”] == “$37,070”

cars[“make”, “Toyota”] == VL(“Japan”, “”, “NYSE:YM”)
cars[“make”, “Toyota”, “model”] == 2 (# of Models)
cars[“make”, “Toyota”, “model”, “Camry”] == “$19,820”
cars[“make”, “Toyota”, “model”, “Prius”] == “$23,050”

In the above pseudo-codeɓ example, the cars global stores data in both atomic and complex formats. The data stored at the specific car model level is the atomic value: MSRP. Additionally, the data stored at the specific car make level is complex in nature, since there are three distinct data elements stored using the ValueListα interface, and expressed in this pseudo-code as VL(item-1,item-2,…,item-N), where item-1,…item-N specify the first through nth items of the ValueListα: (item-1) Car base Country; (item-2) Car Web Address; (item-3) Car Stock Symbol.
α For a comprehensive explanation of a ValueList, please refer to the Javadoc com.intersys.globals.ValueList provided as part of the Globals installation or via the API link on the Documention page of the Globals website.
ɓ The above globals examples are expressed in pseudo-code, similar to the syntax used in Java, in an effort to effectuate ease of understanding for those people familiar with the syntax that Java uses to express arrays.



For installation instructions on how to install the Globals software on your computer, click on one of the following Quickstart links that corresponds to the operating system that you will be using:


With each of the installation kits that you can obtain from the Globals Downloads page, a sample class is provided to demonstrate the usage of the classes and the interfaces of the Globals API. In addition to the preceding sections explaining how to examine and run the tutorial-style sample application (see the Quickstart section specific to your installation OS), there are links on the Globals Download page to the sample class for the Java APIs, and the KeyValuePairSamples sample for the Eclipse plug-in.

Globals Web Community:

Now that you’ve got the software, we encourage you to join the Globals Community at where you can:

  • Learn everything there is to know about Globals
  • Stay abreast of the latest news and events surrounding the Globals database
  • Help build a community of like-minded individuals interested in expanding the scope of the Globals database
  • Share information, examples, code, etc, as well as interact and collaborate with other members of the community
  • Ask questions and provide answers about Globals