Kostka danych - Data cube
W kontekście programowania komputer, kostki danych (lub datacube ) jest wielowymiarowy ( „nD”) tablica wartości. Zazwyczaj termin kostka danych jest stosowany w kontekstach, w których te macierze są znacznie większe niż pamięć główna 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) wraz z pewną miarą zainteresowania. Na przykład w OLAP takimi miarami mogą być spółki zależne firmy, oferowane przez nią produkty i czas; w tej konfiguracji faktem byłaby sprzedaż, w której określony produkt został sprzedany w określonej spółce zależnej w określonym czasie. W szeregach czasowych obrazów satelitarnych miarami byłyby współrzędne i czas szerokości i długości geograficznej; faktem byłby piksel o danej współrzędnej czasoprzestrzennej, jaką pobrał satelita (po pewnym przetwarzaniu, które nie ma tutaj znaczenia). Mimo że nazywa się ją kostką (a powyższe 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 reprezentuje oddzielną miarę, podczas gdy komórki w kostce reprezentują interesujące fakty. Czasami kostki zawierają tylko kilka wartości, a reszta jest pusta , tj. niezdefiniowana, czasami większość lub wszystkie współrzędne sześcianu zawierają wartość komórki. W pierwszym przypadku takie dane nazywamy rzadkimi , w drugim gęstymi , chociaż nie ma między nimi sztywnej granicy.
Historia
Tablice wielowymiarowe są od dawna znane w językach programowania. Fortran oferuje tablice 1-D oraz tablice tablic, co pozwala na budowę tablic o wyższym wymiarze. APL obsługuje tablice nD z bogatym zestawem operacji. Wszystkie te cechy mają wspólną cechę, że tablice muszą zmieścić się w pamięci głównej i są dostępne tylko podczas działania programu je obsługującego (np. oprogramowania do przetwarzania obrazu).
Szereg formatów wymiany danych obsługuje przechowywanie i transmisję danych podobnych do kostek danych, często dostosowanych do konkretnych dziedzin aplikacji. Przykłady obejmują MDX dla danych statystycznych (w szczególności biznesowych), Hierarchical Data Format dla ogólnych danych naukowych oraz TIFF dla obrazów.
W 1992 roku Peter Baumann wprowadził zarządzanie ogromnymi kostkami danych z funkcjonalnością użytkownika wysokiego poziomu w połączeniu z wydajną architekturą oprogramowania. Operacje na Datacube obejmują wyodrębnianie podzbiorów, przetwarzanie, fuzję i ogólnie zapytania w duchu języków manipulacji danymi, takich jak SQL .
Kilka lat później, pojęcie datacube został zastosowany do opisania czasowych zmiennych danych biznesowych jak datacubes przez James Gray , et al., Oraz przez Venky Harinarayan , Anand Rajaraman i Jeff Ullman , które zaliczają się do top 500 najbardziej cytowanych artykułów informatyki ponad 25 okres roczny.
W tym czasie w niemieckim Gesellschaft für Informatik powstała grupa robocza ds. wielowymiarowych baz danych („Arbeitskreis Multi-Dimensional Datenbanken”) .
Datacube Inc. był obróbki obrazu firma zajmująca się sprzedażą sprzętu i oprogramowania aplikacji dla rynku PC w 1996 roku, jednak bez uwzględnienia datacubes jako takie.
Inicjatywa EarthServer ustanowiła wymagania dotyczące usługi kostki danych geograficznych.
Normalizacja
W 2018 roku język baz danych ISO SQL został rozszerzony o funkcjonalność datacube jako „SQL -- Część 15: Tablice wielowymiarowe (SQL/MDA)”.
Web Coverage Processing Service to język do analizy kostek danych geograficznych wydany przez Open Geospatial Consortium w 2008 r. 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 pojęcie danych pokrycia .
Standardem branżowym dla 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. Języki te, których przykładami są Fortran , APL , IDL , NumPy , PDL i S-Lang , pozwalają programiście na masową manipulację kompletnymi klipami filmowymi i innymi danymi za pomocą prostych wyrażeń pochodzących 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) nie.
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. Ta kategoria baz danych jest pionierem w systemie rasdaman od 1994 roku.
Aplikacje
Tablice wielowymiarowe mogą w znaczący sposób reprezentować dane z czujników przestrzenno-czasowych, obrazu i symulacji, ale także dane statystyczne, w których semantyka wymiarów niekoniecznie ma charakter przestrzenny lub czasowy. Ogólnie rzecz biorąc, dowolny 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 czasowych kolorowych obrazów, tablica jest ogólnie 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 szeregi czasowe obrazów satelitarnych 3-D x/y/t oraz dane pogodowe 4-D x/y/z/t do wyszukiwania i przetwarzania po stronie serwera za pośrednictwem Open Geospatial Consortium WCPS standard języka zapytań geo dataCube.
Kostka danych jest również używana w dziedzinie spektroskopii obrazowania , ponieważ obraz o rozdzielczości spektralnej jest reprezentowany jako trójwymiarowa objętość.
Wywiad biznesowy
W przetwarzaniu analitycznym online (OLAP) kostki danych są powszechnym układem danych biznesowych nadających się do analizy z różnych perspektyw za pomocą operacji takich jak slicing, dicing, pivoting i agregacja.
Zobacz też
- Tablica DBMS
- rasdamana
- kostka OLAP
- Kostka danych australijskich nauk o Ziemi
- Wykres (matematyka dyskretna)
- Abstrakcyjny wykres semantyczny
- Apache Kylin