Архитектура Informix XPS

Оценить
(0 голоса)
Система XPS состоит из одного или более взаимодействующих экземпляров, называемых взаимодействующими серверами. Процессы сервера БД, реально выполняющие работу, называются виртуальными процессорами, поскольку при планировании множества потоков для обслуживания пользовательских приложений они ведут себя подобно центральным процессорам. Взаимодействующие серверы Центром обработки в Informix XPS является coserver (взаимодействующий сервер), логическая сущность, состоящая из одного или более центральных процессоров, памяти совместного использования и дискового пространства. Взаимодействующий сервер может быть запущен на физическом узле, каким является сервер в кластере, или же в качестве логического узла в большой SMP-системе. В этом разделе мы рассмотрим характеристики взаимодействующих серверов, модель архитектуры, на базе которой они построены, а…
Оценить
(0 голоса)
Несмотря на то, что взаимодействующие серверы связываются друг с другом для параллельного выполнения операций БД, они используют модель, не предусматривающую совместное использование, которая означает, что взаимодействующие серверы не используют совместно память или диски. Тем не менее, взаимодействующие серверы в системах SMP связываются между собой посредством памяти совместного ис- пользования, что обеспечивает эффективное взаимодействие процессов. Если же взаимодействующие серверы развернуты в кластере, то внутреннее соединение кластера обеспечивает поток обмена (трафик) между взаимодействующими серверами; если взаимодействующие серверы развернуты на свободно соединяющихся через сеть серверах, то в этом случае сеть обеспечивает трафик. Связь между взаимодействующими серверами более подробно рассматривается в главе 24 в…
Оценить
(0 голоса)
Для упрощения администрирования взаимодействующие серверы группируются. Группа взаимодействующих серверов называется cogroup (взаимодействующей группой). При инициализации базы данных XPS создает взаимодействующую группу, называемую cogroup_all, из всех сконфигурированных взаимодействующих серверов. Администратором БД могут быть созданы другие взаимодействующие группы. Соединения пользователей Пользователи могут подключаться к различным взаимодействующим серверам. При установлении соединения пользователя хост взаимодействующего сервера становится известным как взаимодействующий сервер соединения. Для пользовательского запроса может потребоваться доступ к данным, содержащимся в другом взаимодей-ствукАцем сервере или серверах, - они именуются как participating coservers (соучаствующие взаимодействующие серверы). Взаимодействующий сервер подключения генерирует план запроса, причем, для каждого соучаствующего сервера генерируются "под-планы". Затем "подпланы” одновременно выполняются на…
Оценить
(0 голоса)
Процессы сервера XPS, которые выполняются внутри взаимодействующих серверов, называются VP (virtualprocessors - виртуальными процессорами). Виртуальные процессоры представляют собой многопотоковые процессы, соединенные с одним и тем же сегментом памяти совместного использования. Для более детальной информации по многопотоковой архитектуре баз данных читайте раздел "Многопотоковые архитектуры" в главе 5. Виртуальные процессоры выполняют различные потоки, включая user threads (пользовательские потоки), которые обрабатывают команды SQL пользовательских приложений, а также internal threads (внутренние потоки), реализующие различные внутренние функции (ведение журналов, выгрузка модифицированных страниц на диск, восстановление). XPS использует различные классы VP, включая следующие: •             CPU: Наиболее важный виртуальный процессор. CPU VPs запускают все необходимые потоки, выполняющие…
Оценить
(0 голоса)
Разделяемая память, или память совместного использования, Informix XPS включает внутренние таблицы, буферы, информацию сеансов, данные потоков, кэш-словарь, а также различные пулы памяти. Основными потребителями памяти совместного использования XPS внутри взаимодействующих серверов являются буферные пулы и пул памяти DS. В этом разделе мы проанализируем оба пула, а также ознакомимся со способом динамического размещения разделяемой памяти XPS. Буферный пул Без учета считывания страниц во время запроса DSS, страницы базы данных считываются в буферный пул Informix, который применяет конфигурируемое количество очередей LRU (least recently used - наименее используемых в последнее время). XPS поддерживает два вида LRU-очередей: •             Список FLRU (free least recently used…
Оценить
(0 голоса)
Запросы OLTP, а также обращения к индексу DSS используют буферный пул, однако при сканировании таблиц DSS буферный пул игнорируется. Вместо этого потоки выполняют сканирование данных непосредственно в специальную область памяти совместного использования, называемую DS-память; это осуществляется с помощью light scan threads (потоков облегченного сканирования), которые были оптимизированы для эффективного считывания последовательных данных пересылками больших блоков. Каждому сканируемому фрагменту таблицы назначается один поток (фрагментация обсуждается в разделе "Фрагментация" этой главы). DS-память является рабочей областью, выделяемой под определенный запрос. XPS использует такую память для операций сканирования и сортировки. Несмотря на то что DS-память "живет" в сегменте разделяемой памяти, совместно обращаться к ней…
Оценить
(0 голоса)
Страницы разделяемой памяти БД, которые были модифицированы пользовательскими потоками и помечены как "грязные" (модифицированные), регулярно сбрасываются на диск потоками очистки страниц. XPS запускает, по крайней мере, один поток очистки страниц, а при конфигурировании нескольких потоков, очереди LRU для повышения эффективности поровну разделяются между ними. XPS опорожняет следующие буферы: •             Буферный пул. Потоки очистки страниц сбрасывают (выгружают) буферный пул в следующих случаях: если пользовательские потоки безуспешно пытались найти немодифицированный буфер, если количество буферов в очереди MLRU достигло определенного предела, а также в контрольной точке. •             Буфер физического журнала. Физический журнал описывается в разделе "Логические и физические журналы" этой главы. Буфер опорожняется…
Оценить
(0 голоса)
Наименьшим элементом физического хранения, используемого XPS, является chunk (участок памяти). В качестве такового может использоваться или низкоуровневое устройство, включая устройства менеджеров томов и LUNs (Logical Unit Numbers - номера логического устройства) из массивов памяти, или файл файловой системы (такой, как файл UFS). Для достижения оптимальной производительности Informix рекомендует использовать низкоуровневые устройства. При создании участков памяти им присваиваются имя низкоуровневого устройства или имя файла (или символьная ссылка на него), размер и смещение. Смещение означает. что на одном низкоуровневом устройстве или в одном файле может быть помещен один или более участков, хотя такая стратегия не рекомендуется. XPS также поддерживает зеркалирование участков памяти.…
Оценить
(0 голоса)
XPS производит управление и доступ к своей физической памяти, используя логические элементы хранения, к которым относятся страницы, экстенты и пространства БД. Объекты БД, создаваемые пользователями (например, таблицы и индексы), строятся на основе этих логических элементов хранения. Страницы Единицей обращения XPS к физическому диску является page (страница). Размер страницы конфигурируется с помощью параметра из конфигурационного файла onconfig (файл onconfig описывается в разделе "Изменение настраиваемых параметров Informix XPS" в главе 24). Параметр размера страницы, PAGESIZE, можио установить равным 2, 4 или 8 Кбайт; по умолчанию его значение составляет 4 Кбайт. После установки размера страницы он не может быть изменен до разгрузки и…
Оценить
(0 голоса)
Чтобы организовать параллельный доступ через взаимодействующие серверы, участки (chunks) данных декларируются в каждом взаимодействующем сервере и группируются в пространствах БД (dbspaces). Пространства БД (dbspaces) для упрощения управления комбинируются в dbslice (слайс БД) - поименованный набор распространенных по взаимодействующим серверам пространств БД, которыми можно управлять как единым объектом хранения. Генерируя планы запросов, оптимизатор учитывает соответствие между взаимодействующими серверами и участками памяти. Слайсы БД создаются с помощью утилиты onutil. Следующий пример иллюстрирует синтаксис для создания слайса БД: create dbslice custdbs from cogroup cogroup_all chunk "/data/custdbsl. %c" size 500000; Слайс custdbs будет иметь по одному участку для каждого взаимодействующего сервера в cogroup_all. По…
«ПерваяПредыдущая12СледующаяПоследняя»
Навигация