Классика баз данных - статьи

       

ограниченные основной памятью, естественно, демонстрируют


Приложения, ограниченные основной памятью, естественно, демонстрируют более высокую производительность, чем приложения, работающие с дисковой памятью (по крайней мере, до той степени, в которой выполняемая ими переработка данных опережает однопроходную чисто последовательную обработку), но требование размещения всех данных в основной памяти означает, что соответствующее приложение просто не сможет работать с набором данных, объем которого превосходит объем установленной основной памяти. На большинстве аппаратных платформ ограничения на расширение основной памяти являются гораздо более жесткими, чем ограничения на расширение дисковой памяти: все определяется числом слотов на системной плате.

Однако часто проблема является более глубокой. Подобно другим аспектам компьютерной аппаратуры, со временем возрастает предельно допустимый объем основной памяти; нередки конфигурации настольных рабочих станций с 32 гигабайтами основной памяти, а серверы часто конфигурируются с основной памятью гораздо большего объема. Но нет никакой гарантии, что приложение, ориентированное на работу с данными в основной памяти, сможет использовать всю установленную память. Даже при использовании современных 64-разрядных операционных систем у многих сегодняшних приложений (например, R под Windows) имеются только 32-битные исполняемые программы, и они ограничены 4-гигабайтным адресным пространтством – это часто выражается в ограничении рабочего набора 2-мя или 4-мя гигабайтами.

Наконец, даже в тех случаях, когда имеется 64-битный исполняемый код (что устраняет абсолютное ограничение на размер адресного пространства), в программном обеспечении очень часто присутствует многочисленное наследие 32-битной эпохи, в частности, использование в качестве индексов массивов 32-битных целых чисел. Например, в 64-битных версиях R (имеющихся для Linux и Mac) для представления длины используются 32-битные целые числа со знаком, и, тем самым, длина порции данных не может превышать 231-1, около 2 миллиардов строк.Следовательно, даже в 64-битной системе с основной памятью достаточного объема набор данных из 6,75 строк из приведенного ранее примера мировой переписи оказывается для R слишком большим.


Содержание  Назад  Вперед