Kostka danych

W kontekstach programowania komputerowego kostka danych (lub kostka danych ) to wielowymiarowa („nD”) tablica wartości. Zazwyczaj termin kostka danych jest stosowany w kontekstach, w których te tablice są znacznie większe niż główna pamięć komputera hostującego; przykłady obejmują wieloterabajtowe/petabajtowe hurtownie danych i szeregi czasowe danych obrazu.

Kostka danych służy do reprezentowania danych (czasami nazywanych faktami) wzdłuż pewnych interesujących wymiarów. Na przykład w przetwarzaniu analitycznym online (OLAP) takimi wymiarami mogą być filie firmy, produkty oferowane przez firmę i czas; w tej konfiguracji faktem byłoby zdarzenie sprzedaży, w którym określony produkt został sprzedany w określonej filii w określonym czasie. W szeregach czasowych obrazu satelitarnego wymiarami byłyby współrzędne szerokości i długości geograficznej oraz czas; faktem (czasami nazywanym miarą) byłby piksel w danej przestrzeni i czasie, jaki wykonał satelita (po pewnym przetworzeniu, które nie jest tutaj przedmiotem zainteresowania). Mimo że nazywa się to sześcianem (a podane powyżej przykłady są trójwymiarowe dla zwięzłości), kostka danych jest ogólnie koncepcją wielowymiarową, która może być jednowymiarowa, dwuwymiarowa, trójwymiarowa lub wyższa -wymiarowy. W każdym razie każdy wymiar dzieli dane na grupy komórek, podczas gdy każda komórka w kostce reprezentuje pojedynczą miarę zainteresowania. Czasami kostki zawierają tylko kilka wartości, a reszta jest pusta , tj. niezdefiniowana, czasami większość lub wszystkie współrzędne kostki zawierają wartość komórki. W pierwszym przypadku takie dane nazywane są rzadkimi , w drugim przypadku są nazywane gęstymi , chociaż nie ma sztywnego rozgraniczenia między nimi.

Historia

Tablice wielowymiarowe są od dawna znane w językach programowania. Fortran oferuje arbitralnie indeksowane tablice 1-D i tablice tablic, co pozwala na konstruowanie tablic o wyższych wymiarach, do 15 wymiarów. APL obsługuje macierze nD z bogatym zestawem operacji. Wszystkie one mają wspólną cechę, że tablice muszą mieścić się w pamięci głównej i są dostępne tylko wtedy, gdy działa konkretny program, który je obsługuje (taki jak oprogramowanie do przetwarzania obrazu).

Szereg formatów wymiany danych obsługuje przechowywanie i przesyłanie danych przypominających kostki danych, często dostosowanych do konkretnych domen aplikacji. Przykłady obejmują MDX dla danych statystycznych (w szczególności biznesowych), Hierarchiczny format danych dla ogólnych danych naukowych i TIFF dla obrazów.

W 1992 roku Peter Baumann wprowadził zarządzanie ogromnymi kostkami danych z zaawansowanymi funkcjami użytkownika w połączeniu z wydajną architekturą oprogramowania. Operacje na kostkach danych obejmują wyodrębnianie podzbiorów, przetwarzanie, łączenie i ogólnie zapytania w duchu języków manipulacji danymi, takich jak SQL .

Jim Gray i in. oraz Venky Harinarayan , Anand Rajaraman i Jeff Ullman zastosowali koncepcję kostki danych do opisania zmiennych w czasie danych biznesowych jako kostek danych, które plasują się wśród 500 najczęściej cytowanych artykułów informatycznych w ciągu ostatnich okres 25 lat.

Gesellschaft für Informatik powstała grupa robocza ds. wielowymiarowych baz danych („Arbeitskreis Multi-Dimensionale Datenbanken”) .

Datacube Inc. była firmą zajmującą się przetwarzaniem obrazu , sprzedającą sprzęt i oprogramowanie na rynek komputerów osobistych w 1996 roku, jednak bez zajmowania się kostkami danych jako takimi.

Inicjatywa EarthServer ustanowiła wymagania dotyczące usługi kostek danych geograficznych.

Normalizacja

W 2018 roku język bazy danych ISO SQL został rozszerzony o funkcjonalność kostki danych jako „SQL - Część 15: Wielowymiarowe tablice (SQL / MDA)”.

Web Coverage Processing Service to język analizy kostek danych geograficznych wydany przez Open Geospatial Consortium w 2008 roku. Oprócz typowych operacji na kostkach danych, język ten zna semantykę przestrzeni i czasu oraz obsługuje zarówno regularne, jak i nieregularne kostki danych siatki, oparte na w sprawie pojęcia danych pokrycia .

Standardem branżowym dotyczącym zapytań do kostek danych biznesowych, pierwotnie opracowanym przez firmę Microsoft , jest MultiDimensional eXpressions .

Realizacja

Wiele języków komputerowych wysokiego poziomu traktuje kostki danych i inne duże tablice jako pojedyncze jednostki różniące się od ich zawartości. Te języki, których Fortran , APL , IDL , NumPy , PDL i S-Lang , pozwalają programiście masowo manipulować całymi klipami filmowymi i innymi danymi za pomocą prostych wyrażeń wywodzących się z algebry liniowej i matematyki wektorowej . Niektóre języki (takie jak PDL) rozróżniają listę obrazów i kostkę danych, podczas gdy wiele (takich jak IDL) tego nie robi.

Array DBMS (systemy zarządzania bazami danych) oferują model danych, który ogólnie obsługuje definiowanie, zarządzanie, pobieranie i manipulowanie n-wymiarowymi kostkami danych. Pionierem tej kategorii baz danych jest rasdaman od 1994 roku.

Aplikacje

Wielowymiarowe tablice mogą w znaczący sposób reprezentować czasoprzestrzenne czujniki, obrazy i dane symulacyjne, ale także dane statystyczne, w których semantyka wymiarów niekoniecznie ma charakter przestrzenny lub czasowy. Ogólnie rzecz biorąc, każdy rodzaj osi można połączyć z dowolną inną w kostkę danych.

Matematyka

W matematyce tablica jednowymiarowa odpowiada wektorowi, tablica dwuwymiarowa przypomina macierz ; bardziej ogólnie, tensor może być reprezentowany jako n-wymiarowa kostka danych.

Nauka i inżynieria

W przypadku sekwencji czasowej obrazów kolorowych tablica jest generalnie czterowymiarowa, a wymiary reprezentują współrzędne X i Y obrazu, czas i płaszczyznę kolorów RGB (lub inną przestrzeń kolorów ). Na przykład inicjatywa EarthServer łączy centra danych z różnych kontynentów, oferując serie czasowe zdjęć satelitarnych 3-D x/y/t i 4-D x/y/z/t dane pogodowe do wyszukiwania i przetwarzania po stronie serwera za pośrednictwem Open Geospatial Consortium WCPS standard języka zapytań kostki danych geograficznych.

Kostka danych jest również używana w dziedzinie spektroskopii obrazowej , ponieważ obraz o rozdzielczości widmowej jest reprezentowany jako trójwymiarowa objętość. Kostki danych z obserwacji Ziemi łączą obrazy satelitarne, takie jak Landsat 8 i Sentinel-2, z analizą systemu informacji geograficznej .

Wywiad biznesowy

W przetwarzaniu analitycznym online (OLAP) kostki danych to wspólny układ danych biznesowych, który można analizować z różnych perspektyw za pomocą takich operacji, jak cięcie, cięcie, obracanie i agregacja.

Zobacz też