Сравнение Borland InterBase 4.x, Sybase SQL Server и Microsoft SQL Server - Многоразмерные массивы

ОГЛАВЛЕНИЕ

 

5. Многоразмерные массивы

InterBase обеспечивает уникальный тип данных называемый Многоразменый Массив (Multi Dimensional Array [MDA]). Тип MDA не реализован ни в одной другой РСУБД. Тип MDA позволяет разработчику зранить массивы любой длины и до 16 измерений. Поскольку массив хранится в одном поле, только одна запись и столбец требуются для выборки данных из массива. Массивы предоставляют возможность хранения и представления данных в случаях, в большинстве невозможных для архитектуры SQL Server. Ключевой особенностью является производительность массивов. Представьте себе набор данных, которых должен быть представлен как массив  100x100x100 элементов. Общее количество элементов будет равно 1,000,000 (миллион). Для записи такого количества элементов в обычном случае потребовалось-бы 100000 обновлений страниц данных и индексов. Чтение такого количества элементов так-же потребовало-бы  1,000,000 чтений. При использовании полей типа массив, только одна запись нуждается в чтении или обновлении. Дополнительно, если элемент массива содержит значение NULL, то InterBase не выделяет для него дисковое пространство. В реляционных терминах, доступ к набору данных с одной стороны отношения, не имеющего соответствющего значения, потребует использования outer joun в любом запросе, использующем такое отношение. В большинстве РСУБД, производительность запросов с outer join невелика. Доступ к массивам InterBase осуществляется другим способом, и поэтому не ухудшает скорость доступа к данным.

Компания Bear Stearns использует массивы InterBase для хранения части своих данных, и именно по причине высокой скорости обработки массивов. Bear Srearns производит покупку товаров на бирже и их быструю продажу с небольшой наценкой. Поскольку цена на разных биржах варьируется, ключ к успешной перепродаже это вычисление максимальной разницы в цене пока цены на бирже не изменились. Массивы InterBase по своим характеристикам отвечают требованиям такой задачи..

Ведущая аэрокосмическая компания также использует многомерные массивы для сбора тестовых данных в реальном времени с болього количества микрофонов, снимающих данные в трех измерениях при взлете и посадке самолетов. В результате, в базе данных оказывается информация, имеющая минимальный интервал между остчетами, и позволяющая проанализировать звуковое давление. Также, анализ этих данных может быть произведен очень быстро, поскольку требуется считывание только одной записи.

Высокая производительность и богатое представление данных, обеспечиваемые многомерными массивами, позволяют разработчикам создавать решения, невозможные при использовании других РСУБД.