In computer programming contexts, a data cube (or datacube) is a multi-dimensional array of values, commonly used to describe a time series of image data. The data cube is used to represent data along some measure of interest. Even though it is called a 'cube', it can be 1-dimensional, 2-dimensional, 3-dimensional, or higher-dimensional. Every dimension represents a new measure whereas the cells in the cube represent the facts of interest.
A pioneer in data cube development, Datacube Inc. (an image processing company) introduced data cube hardware and software applications for the PC market in 1996. Contemporarily, papers by Jim Gray, et al, and by Venky Harinarayan, Anand Rajaraman and Jeff Ullman were published to become seminal works in the data cube field. All three papers rank among the top 500 most cited computer science articles over a 25 year period.
The EarthServer initiative has established data cube service requirements.
Many high-level computer languages treat data cubes and other large arrays as single entities distinct from their contents. These languages, of which APL, IDL, NumPy, PDL, and S-Lang are examples, allow the programmer to manipulate complete film clips and other data en masse with simple expressions derived from linear algebra and vector mathematics. Some languages (such as PDL) distinguish between a list of images and a data cube, while many (such as IDL) do not.