Корпоративные базы данных - статьи

       

Разделяемая память



Разделяемая память - это механизм операционной системы, на котором основано разделение
данных между виртуальными процессорами и потоками сервера. Разделение данных
позволяет:


  • Снизить общее потребление памяти, поскольку участвующим в разделении
    процессам, т. е. ВП, нет нужды поддерживать свои копии информации,
    находящейся в разделяемой памяти.
  • Сократить число обменов с дисками, потому что буферы ввода-вывода
    сбрасываются на диск не для каждого процесса в отдельности, а образуют
    один общий для всего сервера баз данных пул. ВП зачастую избегает
    выполнения операций ввода с диска, поскольку нужная таблица уже прочитана
    другим ВП.
  • Организовать быстрое взаимодействие между процессами. Через
    разделяемую память, в частности, обмениваются данными потоки,
    участвующие в параллельной обработке сложного запроса. Разделяемая


    память используется также для организации взаимодействия между локальным
    клиентом и сервером.

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

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

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

Содержание раздела