+

RU2325690C1 - Multivariate database and method of access to multivariate database - Google Patents

Multivariate database and method of access to multivariate database Download PDF

Info

Publication number
RU2325690C1
RU2325690C1 RU2006133631/09A RU2006133631A RU2325690C1 RU 2325690 C1 RU2325690 C1 RU 2325690C1 RU 2006133631/09 A RU2006133631/09 A RU 2006133631/09A RU 2006133631 A RU2006133631 A RU 2006133631A RU 2325690 C1 RU2325690 C1 RU 2325690C1
Authority
RU
Russia
Prior art keywords
address
record
source data
records
along
Prior art date
Application number
RU2006133631/09A
Other languages
Russian (ru)
Other versions
RU2006133631A (en
Inventor
Андрей Евгеньевич Васильев (RU)
Андрей Евгеньевич Васильев
Original Assignee
Андрей Евгеньевич Васильев
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Андрей Евгеньевич Васильев filed Critical Андрей Евгеньевич Васильев
Priority to RU2006133631/09A priority Critical patent/RU2325690C1/en
Publication of RU2006133631A publication Critical patent/RU2006133631A/en
Application granted granted Critical
Publication of RU2325690C1 publication Critical patent/RU2325690C1/en

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

FIELD: technological processes.
SUBSTANCE: invention is related to sphere of data storage in databases, in particular, to multivariate databases, which are characterized by the availability of the following: initial data arrays from unit records, one or several metadata arrays, which constitutes two-dimensional matrix that contains pairs of values and corresponding coordinates of one of measurements axis. Technical result is achieved because initial data array is formed as consistent list of unit records, which are located in the order of their arrival from the source of initial information; additionally composition of multivariate data base includes arrays of system sensors that are represented in the form of two-dimensional matrix, which contains pairs of multivariate vectors coordinates by measurements axes and the latest available physical addresses of records location in initial data array, unit record of multivariate vector additionally contains address indices, each one contains location address in initial data array of concurrent coordinate by concurrent measurement axis of preceding multivariate vector or, reference to the last address of concurrent coordinate by measurement axis, which is contained in system sensors array.
EFFECT: increases productivity and reduces cost of information processing.
4 cl

Description

Изобретение относится к упорядочным массивам информации, логически организованным в многомерные базы данных.The invention relates to orderly arrays of information logically organized into multidimensional databases.

Известно несколько моделей данных, отличающиеся способами организации, внутренней связи, принципов кодирования, управления доступом к данным:Several data models are known that differ in organization methods, internal communications, coding principles, data access control:

- плоская, или файловая - самый ранний и сегодня не используемый практически способ организации баз данных (БД);- flat, or file - the earliest and practically not used today method of organizing databases (DB);

- иерархическая (HDBMS = Hierarchical DBMS), основная особенность этой модели состоит в организации подчиненных связей между данными и их группами, такой, что у каждой записи есть только одна подчиненная запись. Такая модель имеет много недостатков и, поэтому, используется редко. Пример HDBMS - IMS от IBM;- hierarchical (HDBMS = Hierarchical DBMS), the main feature of this model is the organization of subordinate relationships between data and their groups, such that each record has only one subordinate record. Such a model has many drawbacks and, therefore, is rarely used. An example of HDBMS is IBM IMS;

- сетевая (MDBMS = Network DBMS), наиболее типичным представителем является CODASYL - конференцией по языкам систем управления данными (The Conference on Data Systems Languages), созданной в 1957 г. при ФБР (CODASYL was responsible for developing COBOL);- network (MDBMS = Network DBMS), the most typical representative is CODASYL - The Conference on Data Systems Languages, created in 1957 under the FBI (CODASYL was responsible for developing COBOL);

- реляционная РСУБД (RDBMS = Relational DBMS), - система управления базой данных (СУБД), построенная на реляционной модели Е.Ф.Кодда, наиболее распространенный класс СУБД в настоящее время. Наиболее известные реализации - «DB2» (IBM), «ADABAS» (Software AG), «SYBASE» (Sybase), «ORACLE» (Oracle), «MySQL» (MySQL), «PostgreSQL» (PostgreSQL.org), «InterBase» (Borland) и ее разновидности - «FireBird» и «Yaffil», а также ряд других менее известных СУБД.- relational RDBMS (RDBMS = Relational DBMS), - database management system (DBMS), built on the relational model of EF Kodda, the most common class of DBMSs at present. The most famous implementations are “DB2” (IBM), “ADABAS” (Software AG), “SYBASE” (Sybase), “ORACLE” (Oracle), “MySQL” (MySQL), “PostgreSQL” (PostgreSQL.org), “ InterBase ”(Borland) and its variants -“ FireBird ”and“ Yaffil ”, as well as a number of other less well-known DBMSs.

РСУБД оперируют с данными, организованными в таблицы, состоящие из чисел, строк и иногда ссылок на некие объекты, которые связывают данные между собой отношениями (реляциями). Расширение набора видов данных объектами другой структуры (ссылками на внешние объекты, изображениями, другими мультимедийными данными и проч.) образует подкласс РСУБД - объектно-реляционные СУБД. К классу ОРСУБД относится большинство вышеупомянутых систем.RDBMSs operate with data organized into tables consisting of numbers, rows, and sometimes references to certain objects that relate data to each other by relations (relations). Expanding the set of data types with objects of a different structure (links to external objects, images, other multimedia data, etc.) forms a subclass of RDBMS - object-relational DBMS. Most of the above systems belong to the class of ORDBMS.

Несколько особенным видом реляционных СУБД стоит постреляционная (post-relational) СУБД «CACHE'» (Intersystems Ltd).A somewhat special kind of relational DBMS is the post-relational DBMS “CACHE '” (Intersystems Ltd).

В «CACHE'» впервые появились специальные «серверные страницы» (Cache' Server Pages), представляющие собой выборки данных, предварительно вычисленные для прогнозируемых запросов, и выдаваемые по запросу без повторного вычисления над БД, что существенно увеличивает реактивность СУБД даже по сравнению с кэшированием части данных БД в оперативной памяти.For the first time, special “Cache 'Server Pages” appeared in CACHE. These are data samples pre-computed for predicted queries and issued on request without re-computing over the database, which significantly increases the DBMS reactivity even compared to caching parts of database data in RAM.

Вторая особенность «CACHE'» - это «CATs» (Cache' Application Tags), или программы, исполняемые на стороне сервера БД для записи и считывания, расчетов, циклических действий, координации и т.п., расширяемые "гиперсобытиями" (Hyper-Eventsтм Cache') - сборками (агрегатами) элементарных событий, обычно сохраняемых как элементы традиционных БД.The second feature of “CACHE '” is “CATs” (Cache' Application Tags), or programs executed on the server side of the database for writing and reading, calculations, cyclic actions, coordination, etc., expandable by "hyper events" (Hyper- Events tm Cache ') - assemblies (aggregates) of elementary events that are usually saved as elements of traditional databases.

Эти дополнительные механизмы выгодно отличают «CACHE'» от других СУБД (за исключением похожей технологии Server Data Blades в СУБД «INFORMIX» (Informix)), а именно в ее исполнительном ядре «ILLUSTRA».These additional mechanisms distinguish CACHE from other DBMSs (with the exception of the similar Server Data Blades technology in INFORMIX DBMS (Informix), namely in its ILLUSTRA executive kernel.

Традиционные СУБД хорошо обрабатывают наборы данных, организованные в таблицы с достаточно регулярной структурой по так называемой реляционной модели и ее расширениям - например, объектно-реляционной или динамической объектно-реляционной. В таких СУБД эффективно реализованы механизмы поиска, отбора, агрегирования представлений данных, и транзакции. То есть каждая БД такого рода - это статическая картина состояния информационной области. Единственная разновидность движения, которая может присутствовать в базе, это запись истории выполняемых движений как событий без применения рекурсии - вычисления и записи в БД результатов таких движений.Traditional DBMSs handle data sets well organized in tables with a fairly regular structure according to the so-called relational model and its extensions - for example, object-relational or dynamic object-relational. In such DBMSs, the mechanisms of searching, selecting, aggregating data representations, and transactions are effectively implemented. That is, each database of this kind is a static picture of the state of the information area. The only kind of movement that may be present in the database is the recording of the history of executed movements as events without recursion — the calculation and recording of the results of such movements in the database.

Для преодоления этого ограничения и используют дедуктивные БД - в них данные или события составляют логическую (экстенциональную) компоненту БД, а правила для логического вывода новых событий и их представлений - содержательную (интенциональную) ее компоненту. Дедуктивные БД в основном существуют в настоящее время только в виде теоретических моделей.To overcome this limitation, deductive databases are also used - in them data or events make up the logical (extensional) component of the database, and the rules for the logical output of new events and their representations make up the content (intentional) component of it. Deductive databases basically exist at present only in the form of theoretical models.

Требование вычисляемости (рекурсии) налагает повышенные требования к функциям СУБД, что приводит на практике к тому, что реальные СУБД могут только записывать, хранить, редактировать и представлять данные, а самостоятельная вычислительная способность СУБД остается недостижимой.The requirement of computability (recursion) imposes increased requirements on the DBMS functions, which leads in practice to the fact that real DBMSs can only record, store, edit and present data, and the independent computing ability of the DBMS remains unattainable.

Все вышеперечисленное приводит к невозможности эффективного управления большими массивами функционально связанных данных и их сборок (агрегатов), а также невозможности работы в целевых системах со слабо структурированными данными очень большой размерности, не всегда представимыми в виде таблиц и взаимных отношений между элементами.All of the above leads to the impossibility of efficiently managing large arrays of functionally related data and their assemblies (aggregates), as well as the impossibility of working in target systems with poorly structured data of very large dimensions, not always representable in the form of tables and mutual relations between elements.

Все без исключения известные СУБД в этом смысле являются статическими, то есть не обладают встроенным свойством хранения истории изменения значений хранимых данных в функции от других данных. В некоторых из упоминаемых выше СУБД хранение истории достигается специальной организацией и обработкой структуры таблиц и методов доступа к ним с получением в итоге очень ограниченных возможностей по изменению истории.Without exception, all known DBMSs in this sense are static, that is, they do not have the built-in property of storing the history of changes in the values of stored data in functions of other data. In some of the DBMSs mentioned above, history storage is achieved by special organization and processing of the table structure and access methods to them, resulting in very limited possibilities for changing the history.

В результате на известных СУБД очень сложно реализовать сколько-нибудь сложную задачу функционально связанного изменения данных, например, в функции времени и каких-либо действий над данными, а также наблюдение таких изменений в зависимости от других данных. Не меньшую трудность в реализации представляет задача отражения в СУБД данных очень большой, в частности неизвестной размерности, а также в условиях, когда тип большого числа данные заранее не известен.As a result, it is very difficult to implement any complex task of functionally related data change on well-known DBMSs, for example, as a function of time and any actions on data, as well as observing such changes depending on other data. No less difficult to implement is the task of reflecting very large data, in particular of unknown dimension, in a DBMS, and also in conditions when the type of a large number of data is not known in advance.

Резюмируя вышеуказанное, можно отметить, что построение систем, работающих с функционально связанными данными, на платформе современных СУБД сопряжено с существенными трудностями описания функциональных связей, вычисления результатов взаимодействия описываемых данными процессов и отражения их результатов в динамике.Summarizing the above, it can be noted that the construction of systems that work with functionally related data on the platform of modern DBMSs is associated with significant difficulties in describing functional relationships, calculating the results of the interaction of the processes described by data and reflecting their results in dynamics.

Многомерная модель данных обладает существенными преимуществами над другими известными логическими моделями данных, включая наиболее распространенные реляционные модели данных.A multidimensional data model has significant advantages over other well-known logical data models, including the most common relational data models.

Использование многомерной модели данных позволяет отказаться от обязательного преобразования (нормализации) исходных данных в формат реляционных таблиц, существенно увеличивающего время обработки исходных данных и объем хранимой в базе информации, а также от необходимости выполнения ресурсоемких операций соединения большого количества реляционных таблиц в процессе формирования аналитических отчетов.Using a multidimensional data model allows you to abandon the mandatory conversion (normalization) of source data to a relational table format, which significantly increases the processing time of the source data and the amount of information stored in the database, as well as the need to perform resource-intensive operations of connecting a large number of relational tables in the process of generating analytical reports.

Однако многомерная модель данных, логически представляемая в виде гиперкуба, обладает принципиальным недостатком - при увеличении количества измерений объем многомерного массива исходных данных экспоненционально возрастает.However, a multidimensional data model, logically represented as a hypercube, has a fundamental drawback - with an increase in the number of measurements, the volume of a multidimensional array of source data exponentially increases.

Увеличивающийся объем многомерной базы данных вынуждает использовать вычислительные устройства с большой оперативной памятью и высокой производительностью, что ведет к росту стоимости обработки информации.The increasing volume of a multidimensional database forces the use of computing devices with large random access memory and high performance, which leads to an increase in the cost of processing information.

Техническим результатом настоящего изобретения является повышение производительности и снижение стоимости обработки информации в составе многомерной базы данных за счет отказа от логического представления многомерного массива исходных данных в виде гиперкуба.The technical result of the present invention is to increase productivity and reduce the cost of processing information in a multidimensional database due to the rejection of the logical representation of a multidimensional array of source data in the form of a hypercube.

Заявленный технический результат достигают за счет организации прямого адресного доступа к единичным записям массива исходных данных без формирования логической структуры в виде гиперкуба или иного многомерного логического массива.The claimed technical result is achieved by organizing direct address access to individual records of the source data array without forming a logical structure in the form of a hypercube or other multidimensional logical array.

Сущность заявляемого способа поиска состоит в следующем.The essence of the proposed search method is as follows.

Логическая структура многомерной базы данных сформирована в виде множества отдельных записей данных, каждая из которых логически представляет многомерный вектор, включающий собственно значение данного и координаты его расположения относительно осей измерений логического пространства многомерного массива данных.The logical structure of a multidimensional database is formed in the form of many separate data records, each of which logically represents a multidimensional vector, including the actual value of this and its location coordinates relative to the measurement axes of the logical space of the multidimensional data array.

Исходные данные многомерной базы данных поступают в виде записей разной размерности. Идентификацию исходных данных производят на основании метаданных - системных словарей, справочников и классификаторов, содержащих эталонные символьные или цифровые обозначения наименований реквизитов данных - координат многомерных векторов.The initial data of a multidimensional database comes in the form of records of different dimensions. The initial data are identified on the basis of metadata - system dictionaries, reference books and classifiers containing standard symbolic or digital designations of names of data attributes - coordinates of multidimensional vectors.

Система индексации исходных данных основана на присвоении каждой координате многомерного вектора индекса, логически соответствующего наименованию измерения, например порядковому номеру оси измерения, и значению координаты измерения, например порядковому номеру метки на оси измерений.The initial data indexing system is based on assigning to each coordinate a multidimensional index vector that logically corresponds to the name of the measurement, for example, the serial number of the measurement axis, and the value of the measurement coordinate, for example, the serial number of the label on the measurement axis.

Метаданные, включающие наименования осей измерений, состав и количество значений их координат, позволяют описать структуру и логические взаимосвязи составляющих элементов многомерной базы данных, квалифицировать и систематизировать исходные данные.Metadata, including the names of the measurement axes, the composition and number of values of their coordinates, allows you to describe the structure and logical relationships of the constituent elements of a multidimensional database, qualify and systematize the source data.

В процессе эксплуатации массивы данных физически размещают в оперативной и долговременной памяти вычислительной установки.During operation, the data arrays are physically placed in the operational and long-term memory of the computing installation.

Формируют логическую среду, состоящую из массивов данных различной размерности. Для получения дополнительных преимуществ предлагаемого метода логическую среду физически предпочтительно располагать в оперативной памяти вычислительного устройства. Организуют хранение данных в виде файлов. Для получения дополнительных преимуществ предлагаемого метода предпочтительно физически хранить данные в долговременной памяти вычислительного устройства.Form a logical environment, consisting of data arrays of various dimensions. To obtain additional advantages of the proposed method, the logical environment is physically preferable to be located in the RAM of the computing device. Organize data storage in the form of files. To obtain additional advantages of the proposed method, it is preferable to physically store the data in the long-term memory of the computing device.

Оперативная и долговременная память вычислительного устройства оснащены устройствами физического доступа к ячейкам или блокам памяти, в которые записываются данные.The operational and long-term memory of a computing device is equipped with physical access devices to cells or memory blocks into which data is written.

Исходные данные логически представляют в виде многомерного гиперкуба, состоящего из ячеек, в которых располагают значения исходных данных. Метаданные логически представляют в виде двухмерных векторов, соответствующих осям измерений гиперкуба.The source data is logically represented in the form of a multidimensional hypercube, consisting of cells in which the values of the source data are located. Metadata is logically represented in the form of two-dimensional vectors corresponding to the measurement axis of the hypercube.

Способ доступа к отдельным записям исходных данных в многомерной базе основан на логическом сечении многомерного гиперкуба одной или несколькими плоскостями, проходящими через координаты осей измерений, соответствующие ключу информационного запроса пользователя.The way to access individual records of source data in a multidimensional database is based on the logical section of a multidimensional hypercube with one or more planes passing through the coordinates of the measurement axes corresponding to the user’s information request key.

В ячейки, расположенных в плоскости логического сечения гиперкуба, линий пересечения плоскостей, производят запись, чтение, изменение или удаление значений исходных данных.In cells located in the plane of the logical section of the hypercube, the lines of intersection of the planes, write, read, modify or delete the values of the source data.

Массив исходных данных состоит из последовательного списка многомерных записей (логически представляющих собой многомерные векторы), логически связанных между собой значениями координат по осям измерений.The source data array consists of a sequential list of multidimensional records (logically representing multidimensional vectors) logically interconnected by coordinate values along the measurement axes.

Все необходимые метаданные (словари, классификаторы) в виде двухмерных матриц (логически - двумерных векторов) постоянно поддерживают в оперативной памяти вычислительной установки для увеличения скорости доступа. Одна из строк каждой двухмерной матрицы содержит уникальные идентификаторы исходных данных, например символьные наименования данных. Другая строка - соответствующие им значения исходных данных, являющиеся значениями координат одной из осей измерений. Ячейки строк матриц метаданных логически объединены в пары «идентификатор данного - координата».All the necessary metadata (dictionaries, classifiers) in the form of two-dimensional matrices (logically - two-dimensional vectors) are constantly supported in the RAM of a computing installation to increase access speed. One row of each two-dimensional matrix contains unique identifiers of the source data, for example, symbolic names of the data. The other line is the corresponding values of the source data, which are the coordinate values of one of the measurement axes. The cells of the rows of metadata matrices are logically combined into pairs “given identifier - coordinate”.

Кроме того, для каждого массива исходных данных дополнительно организована двухмерная матрица системных счетчиков, каждая строка которой содержит координаты исходных данных (координаты по осям измерений многомерных векторов), другая строка - физические адреса расположения наиболее поздних поступивших записей в массиве исходных данных по каждой оси измерений. Фактически самая поздняя запись является наиболее удаленной от начала массива при последовательной записи данных. Ячейки строк матрицы системных счетчиков логически объединены в пары «индекс координаты - адрес расположения».In addition, for each source data array, a two-dimensional matrix of system counters is additionally organized, each row of which contains the coordinates of the source data (coordinates along the measurement axes of multidimensional vectors), the other line contains the physical addresses of the location of the latest received records in the array of source data on each measurement axis. In fact, the latest record is the farthest from the beginning of the array when sequentially writing data. The cells of the rows of the matrix of the system counters are logically combined into pairs “coordinate index - location address”.

В качестве адреса расположения записи используют физический адрес начала единичной записи, отсчитываемый от начала записи массива исходных данных.As the address of the recording location, use the physical address of the start of a single record, counted from the start of the recording of the source data array.

В состав единичных записей исходных данных дополнительно включено поле адресных указателей, каждый из которых ассоциативно связан с одной из координат по оси измерения исходного данного. В адресном указателе указывают ближайшее значение адреса более ранней записи со значением координаты, совпадающим с текущим по соответствующей оси измерения. Фактически это означает, что указывают координату записи, расположенной ближе к началу массива исходных данных.The structure of individual records of source data additionally includes a field of address pointers, each of which is associated with one of the coordinates along the measurement axis of the source data. In the address pointer indicate the nearest address value of an earlier record with a coordinate value that matches the current value on the corresponding measurement axis. In fact, this means that they indicate the coordinate of the record located closer to the beginning of the source data array.

Если для некоторой единичной записи в массиве исходных данных нет более ранних записей с совпадающим значением координаты по какой-либо оси измерений, в ее соответствующий адресный указатель помещают ссылку на адрес системных счетчиков с совпадающим значением координаты по той же оси измерения.If for a single record in the source data array there are no earlier records with a matching coordinate value on any measurement axis, a link to the address of the system counters with a matching coordinate value on the same measurement axis is placed in its corresponding address pointer.

Способ доступа к многомерной базе данных на этапах записи, чтения, удаления или изменения единичных записей исходных данных организован в следующем порядке.The way to access a multidimensional database at the stages of writing, reading, deleting or changing single records of the source data is organized in the following order.

На этапе записи исходных данных в состав базы в адресные указатели координат по осям измерений первой по порядку единичной записи включают ссылки на адреса совпадающих значений координат по тем же осям измерений системных счетчиков.At the stage of recording the initial data in the database, the address coordinates of the coordinates along the measurement axes of the first in order unit record include links to addresses of coincident coordinate values along the same measurement axes of the system counters.

При включении первой единичной записи в состав базы данных адрес начала записи имеет значение «0». Адрес окончания первой записи, равный адресу начала второй записи, имеет значение «0+ длина первой записи». Адрес начала записи (в случае первой записи, равный «0») и координаты по всем имеющимся у первой записи осям измерений (например, в виде индексов) заносят в системный счетчик.When you include the first single record in the database, the start address of the record is set to "0". The end address of the first record, equal to the start address of the second record, has the value "0+ length of the first record." The start address of the recording (in the case of the first recording, equal to "0") and the coordinates along all the measurement axes available for the first record (for example, in the form of indices) are entered into the system counter.

При включении каждой последующей единичной записи в состав базы и определения адреса начала записи (в виде величины физического смещения начала записи относительно начала массива исходных данных) из системного счетчика переписывают в адресные указатели адреса записей с совпадающим значением координат по осям измерений, а адрес текущей записи включают в системный счетчик в связи с адресом каждой из координат единичной записи по всем его имеющимся осям измерений. Для вновь появившихся измерений в системном счетчике добавляют новую запись, для уже имеющихся, изменяют адрес начала записи на адрес текущей записи.When each subsequent single record is included in the database and the record start address is determined (in the form of the physical shift of the record start relative to the beginning of the source data array), the address of the records with the same coordinate values along the measurement axes is copied from the system counter into address pointers, and the address of the current record includes to the system counter in connection with the address of each of the coordinates of a single record along all its available measurement axes. For newly appeared measurements, a new record is added to the system counter; for existing ones, the start address of the record is changed to the address of the current record.

На этапе чтения исходных данных для поиска записей, соответствующих заданным пользователем критериям поиска в виде значений или интервала значений координат по одной или нескольким осям измерений, поиск единичных записей в массиве исходных данных производят путем сравнения между собой значений всех имеющихся адресов координат по всем измерениям искомого многомерного вектора для определения наименьшего среди них значения.At the stage of reading the source data to search for records matching user-defined search criteria in the form of values or an interval of coordinate values along one or several measurement axes, the search for single records in the source data array is carried out by comparing the values of all available coordinate addresses for all dimensions of the desired multidimensional vectors to determine the smallest value among them.

На первом шаге поиска адреса всех самых последних записей с заданными координатами по осям измерений определяют из соответствующих системных счетчиков. В результате сравнения между собой значений адресов координат выбирают адрес, наиболее приближенный к началу массива исходных данных (т.е. имеющий наименьшее значение). По этому адресу осуществляют переход к единичной записи исходных данных. У найденной записи проверяют соответствие координат по осям измерений критериям поиска. При совпадении значение записи используют для анализа (выбирают для аналитического отчета).In the first step of the search, the addresses of all the most recent records with given coordinates along the measurement axes are determined from the corresponding system counters. As a result of comparing the coordinate address values with each other, the address is selected that is closest to the beginning of the source data array (i.e., having the smallest value). At this address, a transition to a single record of source data is carried out. For the found record, the correspondence of the coordinates along the measurement axes is checked with the search criteria. If they match, the value of the record is used for analysis (selected for the analytical report).

На втором и последующих шагах поиска сравнивают между собой значения адресных указателей выбранной единичной записи и, используя минимальное значение как адрес, выполняют переход к следующей единичной записи, наиболее приближенной к началу массива исходных данных.At the second and subsequent steps of the search, the values of the address pointers of the selected unit record are compared with each other and, using the minimum value as the address, they proceed to the next unit record, which is closest to the beginning of the source data array.

Выбор единичных записей по указанному алгоритму в порядке приближения к началу массива исходных данных производят вплоть до обнаружения единичной записи, один или несколько адресных указателей которой имеют адресацию на ячейки системных счетчиков. На этом процесс поиска считают завершенным.The selection of single records by the specified algorithm in order of approximation to the beginning of the source data array is carried out until the detection of a single record, one or more address pointers of which are addressed to the cells of system counters. On this, the search process is considered complete.

Для ускорения чтения записей исходных данных, в случае отсутствия у найденной единичной записи полного набора координат, соответствующим критериям поиска, на втором и последующих шагах осуществляют дополнительную выборку из массива исходных данных единичных записей, содержащих указанные координаты и расположенных по адресам, записанным в адресных указателях единичных записей, определенных на предыдущем шаге поиска.To speed up the reading of the source data records, if the found unit record does not have a full set of coordinates corresponding to the search criteria, in the second and subsequent steps, additional records are selected from the source data array containing the specified coordinates and located at the addresses recorded in the address indices of the individual records defined in the previous search step.

Значения адресных указателей единичных записей, дополнительно выбранных из массива исходных данных, используют в процессе сравнения со значениями адресных указателей первоначально выбранной единичной записи для определения минимального значения в качестве искомого адреса следующей единичной записи, т.е. наиболее приближенной к началу массива исходных данных.The values of the address pointers of individual records, additionally selected from the array of source data, are used in the process of comparing with the values of the address pointers of the initially selected unit record to determine the minimum value as the desired address of the next unit record, i.e. closest to the beginning of the source data array.

На этапе удаления записей исходных данных из состава базы на первом шаге производят поиск удаляемой единичной записи и связанных с ней ссылками следующих за ней по порядку единичных записей и/или системных счетчиков (в случае наличия ссылок на них). Для этого адреса всех самых последних записей с заданными координатами по осям измерений определяют из соответствующих системных счетчиков. В результате сравнения между собой значений адресов выбирают адрес, наиболее приближенный к началу массива исходных данных (т.е. имеющий наименьшее значение). По этому адресу осуществляют переход к единичной записи исходных данных. У найденной записи проверяют соответствие координат по осям измерений критериям поиска. При совпадении запись помечают для удаляения.At the stage of deleting records of source data from the database, at the first step, they search for the deleted individual record and the links of the following subsequent records in order of unit records and / or system counters (if there are links to them). For this, the addresses of all the most recent records with the given coordinates along the measurement axes are determined from the corresponding system counters. As a result of comparing the address values with each other, the address is selected that is closest to the beginning of the source data array (i.e., having the smallest value). At this address, a transition to a single record of source data is carried out. For the found record, the correspondence of coordinates along the measurement axes is checked with the search criteria. If matched, the record is marked for deletion.

На втором шаге в адресные указатели найденных единичных записей, связанных с удаляемой ссылками и следующих по порядку за удаляемой, записывают значения адресных указателей и ссылки на системные счетчики, содержащиеся в удаляемой записи.At the second step, the address pointers and links to the system counters contained in the deleted record are written to the address pointers of the found single entries associated with the deleted links and following the order of the deleted one.

Если имелись ссылки в системных счетчиках, то на третьем шаге в системные счетчики записывают адреса единичных записей следующих после удаляемой записи и связанных с удаляемой записью ссылками (вместе с координатами по соответствующим осям измерений).If there were links in the system counters, then in the third step, the addresses of the individual records following the deleted record and the links associated with the deleted record (together with the coordinates along the corresponding measurement axes) are recorded in the system counters.

На четвертом шаге удаляемую запись исключают из состава массива исходных данных.In the fourth step, the deleted record is excluded from the initial data array.

На этапе изменения исходных данных в составе базы в части корректировки числа и значений координат многомерного вектора без увеличения длины и размерности единичной записи выполняют следующие шаги.At the stage of changing the initial data in the database, in terms of adjusting the number and coordinate values of a multidimensional vector without increasing the length and dimension of a single record, the following steps are performed.

На первом шаге выполняют поиск единичной записи, назначенной к изменению, связанных с изменяемой ссылками следующих за ней единичных записей и записей системных счетчиков, в случае наличия ссылок на них. Для этого адреса всех самых последних записей с заданными координатами по осям измерений определяют из соответствующих системных счетчиков. В результате сравнения между собой значений адресов выбирают адрес, наиболее приближенный к началу массива исходных данных (т.е. имеющий наименьшее значение). По этому адресу осуществляют переход к единичной записи исходных данных. У найденной записи проверяют соответствие координат по осям измерений критериям поиска. При совпадении запись помечают для изменения.In the first step, they search for a single record assigned to the change associated with the mutable links of the following single records and system counter records, if there are links to them. For this, the addresses of all the most recent records with the given coordinates along the measurement axes are determined from the corresponding system counters. As a result of comparing the address values with each other, the address is selected that is closest to the beginning of the source data array (i.e., having the smallest value). At this address, a transition to a single record of source data is carried out. For the found record, the correspondence of coordinates along the measurement axes is checked with the search criteria. If matched, the record is marked for change.

На втором шаге в адресные указатели единичных записей, связанных с изменяемой ссылками и следующих за изменяемой, и в системные счетчики записывают значения адресных указателей и ссылки на системные счетчики, содержащиеся в изменяемой записи.At the second step, in the address pointers of single records associated with the variable links and following the variable, and in the system counters write the values of the address pointers and links to the system counters contained in the variable record.

На третьем шаге вносят корректировки в число и значения координат изменяемой единичной записи.In the third step, adjustments are made to the number and coordinate values of the variable unit record.

На четвертом шаге производят поиск единичных записей, связанных с измененной ссылками, следующих за измененной, и системных счетчиков (в случае наличия ссылок на них). Для этого адреса всех самых последних записей с заданными координатами по осям измерений определяют из соответствующих системных счетчиков. В результате сравнения между собой значений адресов выбирают адрес, наиболее приближенный к началу массива исходных данных (т.е. имеющий наименьшее значение). По этому адресу осуществляют переход к единичной записи исходных данных. У найденной записи проверяют соответствие координат по осям измерений критериям поиска. При совпадении запись помечают для изменения ссылок.In the fourth step, they search for single entries associated with the changed links following the changed one and system counters (if there are links to them). For this, the addresses of all the most recent records with the given coordinates along the measurement axes are determined from the corresponding system counters. As a result of comparing the address values with each other, the address is selected that is closest to the beginning of the source data array (i.e., having the smallest value). At this address, a transition to a single record of source data is carried out. For the found record, the correspondence of coordinates along the measurement axes is checked with the search criteria. If matched, the record is marked for changing links.

На пятом шаге в адресные указатели скорректированных координат измененной единичной записи записывают значения адресных указателей и ссылки на системные счетчики, содержащиеся в единичных записях, следующих за измененной.At the fifth step, the address pointers of the corrected coordinates of the changed unit record record the values of the address pointers and links to system counters contained in the unit records following the changed one.

На шестом шаге в адресные указатели единичных записей, следующих за измененной, записываются адреса скорректированных координат измененной записи.At the sixth step, the addresses of the corrected coordinates of the changed record are recorded in the address pointers of single records following the changed one.

На седьмом шаге в системные счетчики записывают адреса индексов измененной единичной записи.At the seventh step, the addresses of the indexes of the changed unit record are written to the system counters.

Внесение изменения в единичную запись исходных данных в части корректировки числа и значений координат многомерного вектора с изменением (преимущественно увеличением) длины единичной записи включает следующие шаги.Making changes to a single record of the source data in terms of adjusting the number and coordinates of a multidimensional vector with a change (mainly an increase) in the length of a single record includes the following steps.

На первом шаге выполняют удаление записи в соответствии с алгоритмом удаления исходных данных.In the first step, delete the record in accordance with the algorithm for deleting the source data.

На втором шаге выполненяют запись скорректированной записи как новой в соответствии с алгоритмом записи исходных данных.In the second step, the corrected record is recorded as new in accordance with the initial data recording algorithm.

Внесение изменения в единичную запись в части корректировки значения исходного данного без изменения числа и значений координат многомерного вектора и без изменения (преимущественно увеличения) длины записи производят в следующей последовательности.Making changes to a single record in terms of adjusting the value of the original given without changing the number and coordinate values of the multidimensional vector and without changing (mainly increasing) the length of the record is performed in the following sequence.

На первом шаге выполняют поиск и считывание корректируемой записи. Для этого адреса всех самых последних записей с заданными координатами по осям измерений определяют из соответствующих системных счетчиков. В результате сравнения между собой значений адресов выбирают адрес, наиболее приближенный к началу массива исходных данных (т.е. имеющий наименьшее значение). По этому адресу осуществляют переход к единичной записи исходных данных. У найденной записи проверяют соответствие координат по осям измерений критериям поиска. При совпадении запись помечают для изменения.In the first step, search and reading of the corrected record is performed. For this, the addresses of all the most recent records with the given coordinates along the measurement axes are determined from the corresponding system counters. As a result of comparing the address values with each other, the address is selected that is closest to the beginning of the source data array (i.e., having the smallest value). At this address, a transition to a single record of source data is carried out. For the found record, the correspondence of coordinates along the measurement axes is checked with the search criteria. If matched, the record is marked for change.

На втором шаге производят корректировку значения записи исходного данного.In the second step, the record value of the source data is adjusted.

На третьем шаге осуществляют сохранение исправленной записи на исходное место (логически и физически) его расположения в массиве исходных данных.In the third step, the corrected record is saved to its original place (logically and physically) of its location in the source data array.

Предлагаемые структура многомерной базы данных и способ доступа к ней на этапе чтения единичных записей проиллюстрированы на примере исходных данных и метаданных трехмерной базы данных.The proposed structure of a multidimensional database and the method of access to it at the stage of reading single records are illustrated by the example of source data and metadata of a three-dimensional database.

Исходные данные.Initial data.

Измерение 1 = покупатели.Dimension 1 = buyers.

Измерение 2 = регионы.Dimension 2 = regions.

Измерение 3 = виды товаров.Dimension 3 = types of goods.

Значение данных = количество проданных товаров.Data value = quantity of goods sold.

Единичные записи массива исходных данных содержат следующие реквизиты.Single entries in the source data array contain the following details.

В качестве адреса единичной записи указана условная величина смещения данной единичной записи относительно начала массива в виде целого числа предшествующих ей единичных записей.As the address of a single record, the conditional offset value of this single record relative to the beginning of the array is indicated as an integer number of single records preceding it.

В поле адресных указателей символом М обозначена ссылка на номер системного счетчика, совпадающий со значением соответствующей координаты (указанной после символа М). Цифра без символа М обозначает адрес предыдущей единичной записи (расположенной ближе к началу массива исходных данных) с таким же значением такой же координаты. Наклонная черта является разделителем адресов по координатам.In the field of address pointers, the symbol M denotes a reference to the number of the system counter that matches the value of the corresponding coordinate (indicated after the symbol M). A digit without the M symbol denotes the address of the previous unit record (located closer to the beginning of the source data array) with the same value of the same coordinate. The slash is a delimiter of addresses by coordinates.

В поле координат первая цифра обозначает порядковый номер оси измерения, две последующие цифры обозначают значение координаты на оси измерения. Наклонная черта является разделителем координат.In the coordinate field, the first digit indicates the serial number of the measurement axis, the next two digits indicate the value of the coordinate on the measurement axis. The slash is a coordinate delimiter.

В поле значений данных приведено количество проданных товаров одного вида (см. таблицу).The data value field shows the number of goods of one type sold (see table).

Адреса (смещение от начала массива данных)Addresses (offset from the beginning of the data array) Адресные указатели координатAddress Pointers Индексы (координаты)Indices (coordinates) Значения данныхData values 00 М.1.11/М.2.05/М.3.96M.1.11 / M.2.05 / M.3.96 1.11/2.05/3.961.11 / 2.05 / 3.96 14fourteen 1one М.1.39/М.2.43/М.3.07M.1.39 / M.2.43 / M.3.07 1.39/2.43/3.071.39 / 2.43 / 3.07 8787 22 0/М.2.26/М.3.150 / M.2.26 / M.3.15 1.11/2.26/3.151.11 / 2.26 / 3.15 205205 33 M.1.34/1/M.3.78M.1.34 / 1 / M.3.78 1.34/2.43/3.781.34 / 2.43 / 3.78 7676 4four M.1.45/2/M.3.64M.1.45 / 2 / M.3.64 1.45/2.26/3.641.45 / 2.26 / 3.64 3131 55 1/M.2.76/M.3.321 / M.2.76 / M.3.32 1.39/2.76/3.321.39 / 2.76 / 3.32 4four 66 M.1.86/M.2.18/1M.1.86 / M.2.18 / 1 1.86/2.18/3.071.86 / 2.18 / 3.07 4646 77 3/4/53/4/5 1.34/2.26/3.321.34 / 2.26 / 3.32 107107 88 6/3/26/3/2 1.86/2.43/3.151.86 / 2.43 / 3.15 66 99 4/0/64/0/6 1.45/2.05/3.071.45 / 2.05 / 3.07 9090 1010 2/8/82/8/8 1.11/2.43/3.151.11 / 2.43 / 3.15 162162 11eleven 5/9/45/9/4 1.39/2.05/3.641.39 / 2.05 / 3.64 7171 1212 8/5/98/5/9 1.86/2.76/3.071.86 / 2.76 / 3.07 99 1313 10/6/710/6/7 1.11/2.18/3.321.11 / 2.18 / 3.32 20twenty 14fourteen 7/7/07/7/0 1.34/2.26/3.961.34 / 2.26 / 3.96 8383 15fifteen 11/14/1011/14/10 1.39/2.26/3.151.39 / 2.26 / 3.15 5454 1616 12/11/1412/11/14 1.86//2.05/3.961.86 // 2.05 / 3.96 152152 1717 9/10/129/10/12 1.45/2.43/3.071.45 / 2.43 / 3.07 14fourteen 18eighteen 10/13/1110/13/11 1.11/2.18/3.641.11 / 2.18 / 3.64 9393 1919 14/12/1314/12/13 1.34/2.76/3.321.34 / 2.76 / 3.32 55 20twenty 15/16/315/16/3 1.39/2.05/3.781.39 / 2.05 / 3.78 6969 2121 16/15/1816/15/18 1.86/2.26/3.641.86 / 2.26 / 3.64 3434 2222 17/18/2017/18/20 1.45/2.18/3.781.45 / 2.18 / 3.78 4242 2323 18/17/1618/17/16 1.11/2.43/3.961.11 / 2.43 / 3.96 18eighteen

В общем случае исходные данные - многомерные векторы (обладающие собственными наборами измерений в пределах общего базиса измерений многомерной базы данных) могут иметь переменную длину своих логических записей, что определяет необходимость формирования в структуре массива исходных данных последовательного списка логических записей без его преобразования в двухмерную матрицу, приведенную в примере для наглядности.In the general case, the initial data — multidimensional vectors (having their own sets of measurements within the general basis of measurements of a multidimensional database) can have a variable length of their logical records, which determines the need for a sequential list of logical records in the structure of the source data array without converting it into a two-dimensional matrix, given in the example for clarity.

В рассматриваемом примере логические записи массива системных счетчиков содержат следующие поля:In this example, the logical entries of the system counter array contain the following fields:

Измерение 1Measurement 1 Индексы (координаты)Indices (coordinates) 1.111.11 1.341.34 1.391.39 1.451.45 1.861.86 ПокупателиBuyers Системные счетчикиSystem counters 2323 1919 20twenty 2222 2121 Измерение 2Measurement 2 Индексы (координаты)Indices (coordinates) 2.052.05 2.182.18 2.262.26 2.432.43 2.762.76 РегионыRegions Системные счетчикиSystem counters 20twenty 2222 2121 2323 1919 Изменение 3Change 3 Индексы (координаты)Indices (coordinates) 3.073.07 3.153.15 3.323.32 3.643.64 3.783.78 3.963.96 Виды товаровTypes of goods АдресаAddresses 1717 15fifteen 1919 2121 2222 2323

Массив системных счетчиков включает три двухмерных матрицы (соответствующие количеству осей измерений приведенной базы данных), каждая из которых состоит из строки координат и строки системных счетчиков.The array of system counters includes three two-dimensional matrices (corresponding to the number of measurement axes of the database), each of which consists of a coordinate line and a line of system counters.

В строках координат указывают все значения координат единичных записей, включенных в массив исходных данных. В строках системных счетчиков указывают адреса расположения координат единичных записей, наиболее удаленных от начала массива исходных данных.In the coordinate lines indicate all the coordinate values of individual records included in the array of source data. The lines of the system counters indicate the location addresses of the coordinates of individual records that are farthest from the beginning of the source data array.

Процесс организации выборки информации из массива исходных данных показан на следующем примере.The process of organizing the selection of information from an array of source data is shown in the following example.

В соответствии с информационным запросом пользователя необходимо определить количество товаров вида 3.15, проданных в регионе 2.26 покупателю под номером 1.39.In accordance with the user's information request, it is necessary to determine the amount of goods of type 3.15 sold in the region 2.26 to the buyer under the number 1.39.

В соответствии со значениями системных счетчиков адрес (смещение) записи с координатой 3.15 равен 15, адрес записи с координатой 2.26 - 21 и адрес записи с координатой 1.39 - 20. Ввыполняют переход к единичной записи по адресу 15, координата которой (3.15) имеет минимальное значение среди адресов в системных счетчиках по заданным критериям (минимум из чисел 15, 21, 20), т.е. наиболее приближена к началу массива исходных данных. Эта логическая запись соответствует ключу поиска, заданному пользователем.In accordance with the values of the system counters, the address (offset) of the record with coordinate 3.15 is 15, the address of the record with coordinate 2.26 - 21, and the address of the record with coordinate 1.39 - 20. The transition to a single record at address 15, whose coordinate (3.15) has a minimum value among addresses in system counters according to specified criteria (minimum of numbers 15, 21, 20), i.e. closest to the beginning of the source data array. This logical record corresponds to the search key specified by the user.

Поиск данных далее продолжают, анализируя адресные указатели координат по осям измерений найденной единичной записи: 1.39 -11, 2.26 - 14 и 3.15 - 10. Из массива исходных данных выбирают единичную запись с адресом 10 (минимум из 11, 14, 10). Найденная запись не полностью соответствует ключу поиска. В поле адресных указателей этой записи по координате 1.39 соответствует ссылка на адрес 2 в массиве исходных данных.The data search is then continued by analyzing the address coordinates of the coordinates along the measurement axes of the found single record: 1.39 -11, 2.26 - 14 and 3.15 - 10. From the array of source data, select a single record with address 10 (minimum of 11, 14, 10). The record found does not fully match the search key. In the field of address pointers of this record at coordinate 1.39 there corresponds a link to address 2 in the source data array.

Проверка единичной записи по адресу 2 позволяет определить в ее поле адресных указателей ссылки на системные счетчики, что указывает на завершение процедуры выборки информации из массива исходных данных.Checking a single record at address 2 allows you to determine in its field of address pointers links to system counters, which indicates the completion of the procedure for selecting information from an array of source data.

Результатом выборки информации является количество товаров, проданных покупателю под номером 1.39, равное 54 единицам.The result of the selection of information is the number of goods sold to the buyer under the number 1.39, equal to 54 units.

Таким образом, в структуре массива исходных данных проведены многомерный поиск и выборка информации по координатам исходных данных (координатам многомерных векторов) без формирования дополнительного многомерного логического массива в виде гиперкуба.Thus, in the structure of the source data array, a multidimensional search and retrieval of information by the coordinates of the source data (coordinates of multidimensional vectors) was carried out without the formation of an additional multidimensional logical array in the form of a hypercube.

Поиск проведен в три шага, что в восемь раз меньше общего количества единичных записей в массиве исходных данных. Эффективность применения предлагаемой многомерной базы данных в отличие от известных возрастает при увеличении числа измерений и количества единичных записей.The search was carried out in three steps, which is eight times less than the total number of single entries in the source data array. The effectiveness of the proposed multidimensional database, in contrast to the known ones, increases with an increase in the number of measurements and the number of individual records.

Источники информацииInformation sources

1. «Distributed Database Management Systems Issues and Approaches». Автор: Amjad Dinar, Издатель University of Michigan College of Engineering, 1988, стр.46.1. "Distributed Database Management Systems Issues and Approaches." Author: Amjad Dinar, Publisher of the University of Michigan College of Engineering, 1988, p. 46.

2. «Database Management Systems»; Авторы: Raghu Ramakrishnan, Johannes Gehrke, Издатель McGraw-Hill Professional, 2002, стр.1104.2. “Database Management Systems”; Authors: Raghu Ramakrishnan, Johannes Gehrke, Publisher McGraw-Hill Professional, 2002, p. 1104.

3. «Rules in Database Systems»; Автор: Sellis, Издатель Springer, 1995, стр.373.3. "Rules in Database Systems"; Posted by Sellis, Springer Publisher, 1995, p. 373.

Claims (4)

1. Многомерная база данных, характеризующаяся наличием1. A multidimensional database characterized by the presence of одного или нескольких массивов исходных данных из единичных записей, логически представленных в виде многомерных векторов, каждый из которых содержит по крайней мере одно значение данного и его координаты по осям измерений многомерной базы данных, одного или нескольких массивов метаданных, каждый из которых логически представлен в виде двухмерного вектора, физически представляющего собой двумерную матрицу, содержащую пары значений и соответствующих им координат одной из осей измерений, отличающаяся тем, чтоone or more arrays of source data from single records, logically represented as multidimensional vectors, each of which contains at least one value of the given and its coordinates along the axes of measurements of the multidimensional database, one or more arrays of metadata, each of which is logically represented as a two-dimensional vector physically representing a two-dimensional matrix containing pairs of values and the corresponding coordinates of one of the measurement axes, characterized in that массив исходных данных, логически являющихся многомерными векторами, физически сформирован в виде последовательного списка единичных записей, расположенных в порядке поступления из источника исходной информации;an array of source data that are logically multidimensional vectors is physically formed as a sequential list of single records arranged in the order of receipt from the source of source information; в состав многомерной базы данных дополнительно включен один или несколько массивов системных счетчиков, каждый из которых логически является двумерным вектором, физически представленных в виде двухмерной матрицы, содержащей пары координат многомерных векторов по осям измерений и наиболее поздних имеющихся физических адресов расположения записей в массиве исходных данных, при этом каждому массиву исходных данных логически соответствует соответствующий массив системного счетчика;the multidimensional database additionally includes one or more arrays of system counters, each of which is logically a two-dimensional vector, physically represented as a two-dimensional matrix containing pairs of coordinates of multidimensional vectors along the measurement axes and the latest available physical addresses of the records in the source data array, in addition, each array of source data logically corresponds to the corresponding array of the system counter; единичная запись многомерного вектора дополнительно содержит адресные указатели, каждый из которых ассоциативно связан с одной из координат этого многомерного вектора (единичной записи) по оси измерений и содержит адрес расположения в массиве исходных данных совпадающей координаты по совпадающей оси измерений предыдущего многомерного вектора или, в случае его отсутствия, ссылку на последний адрес совпадающей координаты по оси измерения, содержащейся в массиве системных счетчиков.a single record of a multidimensional vector additionally contains address pointers, each of which is associated with one of the coordinates of this multidimensional vector (single record) along the measurement axis and contains the address of the location in the source data array of the same coordinate along the coincident measurement axis of the previous multidimensional vector or, in case of absence, a link to the last address of the coincident coordinate along the measurement axis contained in the array of system counters. 2. Способ доступа к многомерной базе данных по п.1, обеспечивающий запись, чтение, удаление или изменение единичных записей исходных данных, включающий следующие шаги:2. The method of access to the multidimensional database according to claim 1, which provides for writing, reading, deleting or changing single records of source data, including the following steps: а) при записи исходных данныхa) when recording the source data на первом шаге в адресные указатели координат по оси измерений первой по порядку единичной записи записывают ссылки на адреса ячеек матрицы системных счетчиков с совпадающими координатами по оси измерений, причем адрес первой по порядку единичной записи включают в ячейки матрицы системных счетчиков в качестве адреса каждой из координат по имеющимся осям измерений;at the first step, in the address pointers of coordinates along the measurement axis of the first one-to-one unit records write links to the addresses of the cells of the matrix of the system counters with the same coordinates along the axis of measurements, and the address of the first one-time unit record is included in the cells of the matrix of the system counters as the addresses of each available measurement axes; на втором и последующих шагах в адресные указатели каждой следующей единичной записи включают адреса совпадающих координат по осям измерений, записанные в системных счетчиках, или в случае отсутствия этих записей, ссылки на ячейки адресов матрицы системных счетчиков с совпадающими координатами по осям измерений, при этом адрес следующей единичной записи заменяет в ячейках матрицы системных счетчиков предшествующую запись;at the second and subsequent steps, the address pointers of each subsequent unit record include the addresses of coincident coordinates along the measurement axes recorded in system counters, or in the absence of these records, links to address cells of the matrix of system counters with matching coordinates along the measurement axes, with the address of the following single record replaces the previous record in the cells of the matrix of system counters; б) при чтении исходных данныхb) when reading the source data на первом шаге производят выбор единичной записи на основе сравнения между собой абсолютных значений адресов расположения единичных записей с совпадающими значениями координат по осям измерений, отраженных в ячейках матрицы системных счетчиков, выбора наименьшего значения адреса и выполнение перехода по выбранному адресу;at the first step, a single record is selected based on a comparison between the absolute values of the location addresses of the single records with the matching coordinate values along the measurement axes reflected in the cells of the system counter matrix, the choice of the smallest address value and the transition to the selected address; на втором и последующих шагахin the second and subsequent steps после выполнения перехода к выбранной записи производят выявление соответствия остальных координат записи по осям измерений критериям поиска, и при совпадении считывание записи для аналитического расчета,after completing the transition to the selected record, the correspondence of the remaining coordinates of the record along the measurement axes with the search criteria is detected, and if the record is read, the record is read for analytical calculation сравнение между собой абсолютных значений адресных указателей выбранной единичной записи, определение наименьшего значения адреса,comparing among themselves the absolute values of the address pointers of the selected unit record, determining the smallest address value, выбор следующей единичной записи по указанному адресу, проверку на соответствие критериям поиска, и так далее, вплоть до нахождения записи, один или несколько адресных указателей которой имеют ссылки на ячейки матрицы системных счетчиков;selecting the next single record at the specified address, checking for compliance with the search criteria, and so on, up to finding the record, one or more address pointers of which have links to the cells of the system counter matrix; в) при удалении исходных данныхc) when deleting the source data на первом шаге производят выбор удаляемой единичной записи и пометку ее для удаления, выбор связанных с ней адресными ссылками и следующих за ней по порядку единичных записей, а также выявление связанных с ней адресными ссылками ячеек матрицы системных счетчиков, причем указанный выбор выполняют на основе сравнения между собой абсолютных значений адресов расположения единичных записей с совпадающими значениями координат по осям измерений отраженных в ячейках матрицы системных счетчиков, выбора наименьшего значения адреса и выполнение перехода по выбранному адресу;at the first step, a unit record to be deleted is selected and it is marked for deletion, the address links associated with it and the unit records following it are identified, as well as identification of the system counter matrix cells associated with it by address, moreover, this choice is made based on a comparison between the absolute values of the addresses of the location of individual records with matching coordinate values along the measurement axes reflected in the cells of the matrix of the system counters, select the smallest address value and execute e go to the selected address; на втором шаге в адресные указатели связанных адресными ссылками единичных записей, следующих по порядку за удаляемой, записывают значения адресных указателей и ссылки на ячейки матрицы системных счетчиков, содержащиеся в удаляемой записи;at the second step, in the address pointers of the individual records associated with the address links, following the order of the deleted one, the values of the address pointers and links to the cells of the system counter matrix contained in the deleted record are written; на третьем шаге в системные счетчики записывают адреса записей с такими же координатами по осям измерений, связанных адресными ссылками единичных записей, следующих за удаляемой записью;in the third step, the address of the records with the same coordinates along the measurement axes associated with the address links of the individual records following the deleted record is written to the system counters; на четвертом шаге удаляемую единичную запись исключают из массива исходных данных;in the fourth step, the deleted unit record is excluded from the source data array; г) при изменении исходных данных с корректировкой числа и значений координат по осям измерений многомерного вектора без увеличения длины единичной записиd) when changing the initial data with the adjustment of the number and coordinate values along the axes of measurements of a multidimensional vector without increasing the length of a single record на первом шаге производят выбор удаляемой единичной записи и пометку ее для удаления, выбор связанных с ней адресными ссылками следующих за ней по порядку единичных записей, а также выявление связанных с ней адресными ссылками ячеек матрицы системных счетчиков, причем указанный выбор выполняют на основе сравнения между собой абсолютных значений адресов расположения единичных записей с совпадающими значениями координат по осям измерений, отраженных в ячейках матрицы системных счетчиков, выбора наименьшего значения адреса и выполнение перехода по выбранному адресу;at the first step, a unit record to be deleted is selected and marked for deletion, the address records of the unit records following it are selected, and the cells of the system counter matrix are identified by address links, and the selection is made based on a comparison between each other absolute values of the location addresses of individual records with matching coordinate values along the measurement axes reflected in the cells of the system counter matrix, selecting the smallest address value and performing Go to the selected address; на втором шаге в адресные указатели связанных адресными ссылками единичных записей, следующих по порядку за удаляемой, записывают значения адресных указателей и ссылки на ячейки системных счетчиков, содержащиеся в удаляемой записи;at the second step, in the address pointers of single records linked by address links in order of the deleted one, the values of the address pointers and links to the system counter cells contained in the deleted record are written; на третьем шаге корректируют в число и значения координат по осям измерений изменяемой единичной записи;in the third step, they are adjusted to the number and coordinate values along the measurement axes of the variable unit record; на четвертом шаге производят выбор удаляемой единичной записи и связанных с ней адресными ссылками следующих за ней по порядку единичных записей, а также выявление связанных с ней адресными ссылками ячеек матрицы системных счетчиков, причем указанный выбор выполняют на основе сравнения между собой абсолютных значений адресов расположения единичных записей с совпадающими значениями координат по осям измерений, отраженных в ячейках матрицы системных счетчиков, выбора наименьшего значения адреса и выполнение перехода по выбранному адресу;in the fourth step, the unit record to be deleted and the address links of the unit records following it in order are selected, as well as the cells of the system counter matrix cells associated with it are identified, and the selection is made based on a comparison of the absolute values of the location addresses of the unit records with matching coordinate values along the measurement axes reflected in the cells of the matrix of system counters, selecting the lowest address value and completing the transition to the selected address ecu; на пятом шаге в адресные указатели координат по осям измерений измененной единичной записи записывают значения адресных указателей и ссылки на ячейки матрицы системных счетчиков (в случае их наличия), содержащиеся в адресно-связанных единичных записях, следующих за измененной;at the fifth step, the address pointer coordinates along the measurement axes of the changed unit record record the values of the address pointers and links to the cells of the system counter matrix (if any) contained in the address-related unit records following the changed one; на шестом шаге в адресные указатели адресно связанных единичных записей, следующих за измененной, записывают адреса координат по осям измерений измененной записи;at the sixth step, in the address indicators of the address-related unit records following the changed record the coordinate addresses along the measurement axes of the changed record; на седьмом шаге в ячейки матрицы системных счетчиков записывают адреса координат по осям измерений измененной единичной записи;at the seventh step, the addresses of the coordinates along the measurement axes of the changed unit record are recorded in the cells of the matrix of system counters; д) при изменении исходных данных в части корректировки числа и значений координат по осям измерений многомерного вектора с увеличением длины единичной записиe) when changing the source data in terms of adjusting the number and coordinate values along the axes of measurements of a multidimensional vector with an increase in the length of a single record на первом шаге выполняют считывание содержимого записи в память и ее удаление на среде хранения в соответствии с алгоритмом удаления исходных данных;in the first step, the contents of the record are read into memory and deleted on the storage medium in accordance with the algorithm for deleting the source data; выполняют корректировку содержимого записи;adjust the contents of the record; формируют новую скорректированную запись;form a new adjusted record; записывают скорректированную запись в соответствии с алгоритмом записи исходных данных;write the corrected record in accordance with the algorithm for recording the source data; е) при изменении исходных данных в части корректировки значения исходного данного без изменения числа и значений координат по осям измерений многомерного вектора и без увеличения длины единичной записиf) when changing the source data in terms of adjusting the value of the source data without changing the number and coordinate values along the measurement axes of the multidimensional vector and without increasing the length of a single record на первом шаге производят считывание записи в соответствии с алгоритмом чтения исходных данных;at the first step, the record is read in accordance with the algorithm for reading the source data; на втором шаге производят корректировку значения исходного данного;in the second step, adjust the value of the original given; на третьем шаге осуществляют запись скорректированного исходного данного на место расположения считанной записи в массиве исходных данных.in the third step, write the adjusted source data to the location of the read entry in the source data array. 3. Способ по п.2, отличающийся тем, что в случае отсутствия у найденной единичной записи полного набора координат, соответствующим критериям поиска3. The method according to claim 2, characterized in that if the found unit record does not have a full set of coordinates corresponding to the search criteria на втором и последующих шагах осуществляют дополнительную выборку из массива исходных данных единичных записей, содержащих указанные координаты и расположенных по адресам, указанным в адресных указателях единичных записей, определенных на предыдущем шаге поиска;at the second and subsequent steps, additional sampling from the array of source data of individual records is carried out, containing the specified coordinates and located at the addresses indicated in the address pointers of the individual records defined in the previous search step; значения адресных указателей единичных записей, дополнительно выбранных из массива исходных данных, используют в процессе сравнения со значениями адресных указателей первоначально выбранной единичной записи для определения минимального значения в качестве искомого адреса следующей единичной записи, то есть наиболее приближенной к началу массива исходных данных.the values of the address pointers of individual records, additionally selected from the array of source data, are used in the process of comparing with the values of the address pointers of the originally selected unit record to determine the minimum value as the desired address of the next unit record, that is, closest to the beginning of the array of source data. 4. Способ по п.2, отличающийся тем, что координаты по осям измерений выражают в виде индексов, определяемых по словарю (матрице метаданных).4. The method according to claim 2, characterized in that the coordinates along the measurement axes are expressed as indices determined by a dictionary (metadata matrix).
RU2006133631/09A 2006-09-21 2006-09-21 Multivariate database and method of access to multivariate database RU2325690C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006133631/09A RU2325690C1 (en) 2006-09-21 2006-09-21 Multivariate database and method of access to multivariate database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006133631/09A RU2325690C1 (en) 2006-09-21 2006-09-21 Multivariate database and method of access to multivariate database

Publications (2)

Publication Number Publication Date
RU2006133631A RU2006133631A (en) 2008-04-10
RU2325690C1 true RU2325690C1 (en) 2008-05-27

Family

ID=39586695

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006133631/09A RU2325690C1 (en) 2006-09-21 2006-09-21 Multivariate database and method of access to multivariate database

Country Status (1)

Country Link
RU (1) RU2325690C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2676018C2 (en) * 2015-05-13 2018-12-25 Хуавэй Текнолоджиз Ко., Лтд. System and method for creating selective snapshots of database

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2676018C2 (en) * 2015-05-13 2018-12-25 Хуавэй Текнолоджиз Ко., Лтд. System and method for creating selective snapshots of database
US10417097B2 (en) 2015-05-13 2019-09-17 Huawei Technologies Co., Ltd. System and method for creating selective snapshots of a database

Also Published As

Publication number Publication date
RU2006133631A (en) 2008-04-10

Similar Documents

Publication Publication Date Title
US6973452B2 (en) Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps
CN103366015B (en) A kind of OLAP data based on Hadoop stores and querying method
CN108369587B (en) Creating tables for exchange
US20100106713A1 (en) Method for performing efficient similarity search
CN107103032B (en) A massive data paging query method that avoids global sorting in a distributed environment
US20110213775A1 (en) Database Table Look-up
KR20010083096A (en) Value-instance-connectivity computer-implemented database
US20050165733A1 (en) System and method for an in-memory roll up-on-the-fly OLAP engine with a relational backing store
WO2021232645A1 (en) Aggregation index structure and aggregation index method for improving aggregate query efficiency
Joshi et al. Materialized sample views for database approximation
AU2018345147B2 (en) Database processing device, group map file production method, and recording medium
RU2325690C1 (en) Multivariate database and method of access to multivariate database
Alam et al. Performance of point and range queries for in-memory databases using radix trees on GPUs
JP2001216307A (en) Relational database management system and storage medium stored with same
CN110399396B (en) Efficient data processing
US20240220470A1 (en) Data storage device and storage control method based on log-structured merge tree
Engle et al. Evaluation Criteria for Selecting NoSQL Databases in a Single Box Environment
CN112286995B (en) Data analysis method, device, server, system and storage medium
Han et al. PI-Join: Efficiently processing join queries on massive data
JP2000517448A (en) Database system and method of organizing n-dimensional data set
CN117555904B (en) Method and system for quickly constructing and acquiring accurate data section in heterogeneous environment
CN117540056B (en) Method, device, computer equipment and storage medium for data query
SEMI-STRUCTURED et al. Mohamad Hasan Evgeny Panidi Vladimir Badenko
CN115794960A (en) Management method and device of relational database
JP2024086652A (en) Optimizing text filtering queries on graph data

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20080922

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载