Дерек текшесі: көп өлшемді дерек құрылымы, OLAP, сату деректері, географиялық ақпарат сақтауға арналған. Аналитика және дерек қоймалары үшін өте пайдалы.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Көп өлшемді деректер құрылымы
Multi dimensional data structure
Компьютерлік бағдарламалау контекстінде деректер кубі (немесе деректер кубі) – көп өлшемді ("n D") мәндер массиві. Әдетте, деректер кубі термині осы массивтер хостингтік компьютердің негізгі жадынан әлдеқайда үлкен болатын жағдайларда қолданылады; мысалдарға бірнеше терабайт/петабайт дерек қоймалары және бейне деректерінің уақыт тізбектері кіреді. Деректер кубі қызығушылық тудыратын кейбір өлшемдер бойынша деректерді (кейде фактілер деп аталады) көрсетуге қолданылады. Мысалы, онлайн-талдамалық өңдеуде (OLAP) мұндай өлшемдер компанияның еншілес компаниялары, компания ұсынатын өнімдер және уақыт болуы мүмкін; осы жағдайда факті – белгілі бір еншілес компанияда белгілі бір уақытта сатылған нақты өнімнің сату оқиғасы. Жерсеріктік суреттердің уақыт тізбектерінде өлшемдер ендік және бойлық координаттары мен уақыт болады; факті (кейде өлшем деп аталады) – спутникпен алынған белгілі бір кеңістіктегі және уақыттағы пиксель (бұл жерде маңызды емес кейбір өңдеуден кейін). Дегенмен, бұл куб деп аталса да (және жоғарыда келтірілген мысалдар ықшамдық үшін 3 өлшемді), деректер кубі әдетте 1 өлшемді, 2 өлшемді, 3 өлшемді немесе одан да жоғары өлшемді болатын көп өлшемді ұғым. Кез келген жағдайда, әрбір өлшем деректерді ұяшықтардың топтарына бөледі, ал кубтағы әрбір ұяшық қызығушылық тудыратын жалғыз өлшемді көрсетеді. Кейде кубтар тек бірнеше мәнді ғана сақтайды, ал қалғаны бос, яғни анықталмаған, ал кейде кубтың көпшілігі немесе барлық координаттары ұяшықтағы мәнді сақтайды. Бірінші жағдайда мұндай деректер сирек, ал екінші жағдайда тығыз деп аталады, бірақ екеуінің арасында нақты шекара жоқ.
In computer programming contexts, a data cube (or datacube) is a multi dimensional ("n D") array of values. Typically, the term data cube is applied in contexts where these arrays are massively larger than the hosting computer's main memory; examples include multi terabyte/petabyte data warehouses and time series of image data. The data cube is used to represent data (sometimes called facts) along some dimensions of interest. For example, in online analytical processing (OLAP) such dimensions could be the subsidiaries a company has, the products the company offers, and time; in this setup, a fact would be a sales event where a particular product has been sold in a particular subsidiary at a particular time. In satellite image timeseries dimensions would be latitude and longitude coordinates and time; a fact (sometimes called measure) would be a pixel at a given space and time as taken by the satellite (following some processing that is not of concern here). Even though it is called a cube (and the examples provided above happen to be 3 dimensional for brevity), a data cube generally is a multi dimensional concept which can be 1 dimensional, 2 dimensional, 3 dimensional, or higher dimensional. In any case, every dimension divides data into groups of cells whereas each cell in the cube represents a single measure of interest. Sometimes cubes hold only a few values with the rest being empty, i. e. undefined, while sometimes most or all cube coordinates hold a cell value. In the first case such data are called sparse, and in the second case they are called dense, although there is no hard delineation between the two.
Тарих
Көп өлшемді массивтер бағдарламалау тілдерінде ұзақтан бері таныс. Fortran кездейсоқ индекстелген 1D массивтерді және массивтердің массивтерін ұсынады, бұл 15 өлшемге дейін жоғары өлшемді массивтерді құруға мүмкіндік береді. APL nD массивтерін операциялардың бай жиынтығымен қолдайды. Бұлардың бәріне ортақ нәрсе – массивтер негізгі жадқа сыйып, оларды қолданатын белгілі бір бағдарлама (мысалы, кескін өңдеу бағдарламалық жасақтамасы) жұмыс істеген кезде ғана қолжетімді болуы. Деректер алмасу форматтарының бірнеше түрі дерек текшесі сияқты деректерді сақтауға және таратуға мүмкіндік береді, көбінесе олар нақты қолдану салаларына бейімделген. Мысалдарға статистикалық (әсіресе, бизнес) деректер үшін MDX, жалпы ғылыми деректер үшін Иерархиялық деректер форматы және кескіндер үшін TIFF кіреді. 1992 жылы Питер Бауман жоғары деңгейдегі пайдаланушы функционалдығымен және тиімді бағдарламалық архитектурамен біріктірілген үлкен дерек текшелерін басқаруды енгізді. Дерек текшесі операцияларына кіші жиынтықты алу, өңдеу, біріктіру және жалпы алғанда SQL сияқты деректерді манипуляциялау тілдерінің рухындағы сұраныстар кіреді. Бірнеше жылдан кейін Джим Грей және басқалар, сондай-ақ Венки Харинараян, Ананд Раджараман және Джефф Уллман дерек текшесі тұжырымын уақыт өзгеретін бизнес деректерін сипаттау үшін қолданды, олар 25 жыл ішіндегі ең көп сілтемеленген 500 компьютерлік ғылым мақаласының қатарына кіреді. Сол кезде неміс Gesellschaft für Informatik ұйымында Көп өлшемді деректер базалары жұмыс тобы ("Arbeitskreis Multi Dimensionale Datenbanken") құрылды. Datacube Inc. – 1996 жылы дербес компьютер нарығы үшін аппараттық және бағдарламалық қосымшаларды сатқан кескін өңдеу компаниясы, бірақ дерек текшелерін осылай қарастырмады. EarthServer бастамасы геодерек текшесі қызметтеріне қойылатын талаптарды анықтады.
Multi dimensional arrays have long been familiar in programming languages. Fortran offers arbitrarily indexed 1 D arrays and arrays of arrays, which allows the construction of higher dimensional arrays, up to 15 dimensions. APL supports n D arrays with a rich set of operations. All these have in common that arrays must fit into the main memory and are available only while the particular program maintaining them (such as image processing software) is running. A series of data exchange formats support storage and transmission of data cube like data, often tailored towards particular application domains. Examples include MDX for statistical (in particular, business) data, Hierarchical Data Format for general scientific data, and TIFF for imagery. In 1992, Peter Baumann introduced management of massive data cubes with high level user functionality combined with an efficient software architecture. Datacube operations include subset extraction, processing, fusion, and in general queries in the spirit of data manipulation languages like SQL. Some years after, the data cube concept was applied to describe time varying business data as data cubes by Jim Gray, et al., and by Venky Harinarayan, Anand Rajaraman and Jeff Ullman which rank among the top 500 most cited computer science articles over a 25 year period. Around that time, a working group on Multi Dimensional Databases ("Arbeitskreis Multi Dimensionale Datenbanken") was established at German Gesellschaft für Informatik. Datacube Inc. was an image processing company selling hardware and software applications for the PC market in 1996, however without addressing data cubes as such. The EarthServer initiative has established geo data cube service requirements.
Стандарттау
2018 жылы ISO SQL деректер базасы тілі "SQL – 15-бөлік: Көпөлшемді массивтер (SQL/MDA)" ретінде деректер кубогы функционалдығымен толықтырылды. Web Coverage Processing Service – 2008 жылы Open Geospatial Consortium ұсынған геодеректер кубогын талдау тілі. Көне деректер кубогы операцияларынан өзге, бұл тіл кеңістік және уақыт семантикасын түсінеді және қамту деректері тұжырымдамасына негізделген реттелген және реттелмеген торлы деректер кубогын қолдайды. Бизнес деректері кубогын сұрату үшін, бастапқыда Microsoft компаниясы жасаған өнеркәсіп стандарты – MultiDimensional eXpressions.
In 2018, the ISO SQL database language was extended with data cube functionality as "SQL – Part 15: Multi dimensional arrays (SQL/MDA)". Web Coverage Processing Service is a geo data cube analytics language issued by the Open Geospatial Consortium in 2008. In addition to the common data cube operations, the language knows about the semantics of space and time and supports both regular and irregular grid data cubes, based on the concept of coverage data. An industry standard for querying business data cubes, originally developed by Microsoft, is MultiDimensional eXpressions.
Іске асыру
Көптеген жоғары деңгейдегі компьютерлік тілдер дерек текшелерін және басқа да үлкен массивтерді олардың ішкі мазмұнынан бөлек, жеке бірліктер ретінде қарастырады. Fortran, APL, IDL, NumPy, PDL және S Lang сияқты тілдер бағдарламашыға толық бейнеклиптерді және басқа деректерді сызықтық алгебра мен векторлық математикадан туындаған қарапайым өрнектермен бірден өңдеуге мүмкіндік береді. Кейбір тілдер (мысалы, PDL) кескіндер тізімі мен дерек текшесі арасында ажырату жасайды, ал көптеген (мысалы, IDL) ажыратпайды. Массивтік дерекқорларды басқару жүйелері (ДҚБЖ) n-өлшемді дерек текшелерін анықтау, басқару, алу және өңдеуді жалпылай қолдайтын дерек моделін ұсынады. Бұл дерекқор санатын 1994 жылдан бері rasdaman жүйесі дамытты.
Many high level computer languages treat data cubes and other large arrays as single entities distinct from their contents. These languages, of which Fortran, 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. Array DBMSs (Database Management Systems) offer a data model which generically supports definition, management, retrieval, and manipulation of n dimensional data cubes. This database category has been pioneered by the rasdaman system since 1994.
Қолданбалар
Көпөлшемді массивтер кеңістік-уақыттық сенсорлардың, суреттердің және модельдеу деректерінің мағынасын жеткізе алады, сондай-ақ өлшемдері кеңістікке немесе уақытқа қатысты болмаса да, статистикалық деректерді де көрсете алады. Қалай болғанда да, кез келген осьті кез келген басқа осьпен біріктіріп дерек текшесін құруға болады.
Multi dimensional arrays can meaningfully represent spatio temporal sensor, image, and simulation data, but also statistics data where the semantics of dimensions is not necessarily of spatial or temporal nature. Generally, any kind of axis can be combined with any other into a data cube.
Математика
Математикада бір өлшемді массив векторға сәйкес келеді, екі өлшемді массив матрицаны еске түсіреді; жалпы алғанда, тензор n өлшемді дерек текшесі ретінде көрсетілуі мүмкін.
In mathematics, a one dimensional array corresponds to a vector, a two dimensional array resembles a matrix; more generally, a tensor may be represented as an n dimensional data cube.
Ғылым және техника
Түсті кескіндердің уақыт тізбегі үшін массив әдетте төрт өлшемді болады, мұнда өлшемдер кескіннің X және Y координаттарын, уақытты және RGB (немесе басқа түстік кеңістіктің) түс жазықтығын көрсетеді. Мысалы, EarthServer бастамасы әртүрлі континенттерден дерек орталықтарын біріктіріп, Open Geospatial Consortium WCPS геодерек текше сұранысы тілі стандарты арқылы алу және серверлік жағынан өңдеу үшін 3D x/y/t спутниктік кескіндердің уақыт тізбегі мен 4D x/y/z/t ауа-райы деректерін ұсынады. Дерек текшесі бейнелеу спектроскопиясы саласында да қолданылады, себебі спектрлік ажыратымды кескін үш өлшемді көлем ретінде ұсынылады. Жерді бақылау деректерінің кубтары Landsat 8 және Sentinel 2 сияқты спутниктік кескіндерді географиялық ақпараттық жүйелердің талдауларымен үйлестіреді.
For a time sequence of color images, the array is generally four dimensional, with the dimensions representing image X and Y coordinates, time, and RGB (or other color space) color plane. For example, the EarthServer initiative unites data centers from different continents offering 3 D x/y/t satellite image timeseries and 4 D x/y/z/t weather data for retrieval and server side processing through the Open Geospatial Consortium WCPS geo data cube query language standard. A data cube is also used in the field of imaging spectroscopy, since a spectrally resolved image is represented as a three dimensional volume. Earth observation data cubes combine satellite imagery such as Landsat 8 and Sentinel 2 with Geographic information system analytics.
Бизнес-аналитикалық мәліметтер
Онлайн-талдамалық өңдеуде (OLAP) деректер кубтары – бизнес деректерін әртүрлі бағыттардан талдауға ыңғайлы, кесу, бөлу, айналдыру және жиынтықтау сияқты операциялар арқылы жүзеге асырылатын жиынтық құрылым болып табылады.
In online analytical processing (OLAP), data cubes are a common arrangement of business data suitable for analysis from different perspectives through operations like slicing, dicing, pivoting, and aggregation.