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:
http://globalsdb.org/downloads/
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", "mbusa.com", "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", "ford.com", "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", "toyota.com", "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.
|
Quickstart
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:
Samples
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
http://GlobalsDB.org/ 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