Открыть сервис

Oracle Parallel Server

Oracle Parallel Server (OPS) — это технология кластеризации баз данных, разработанная корпорацией Oracle, которая позволяет нескольким экземплярам СУБД Oracle одновременно обращаться к одной и той же базе данных, хранящейся на общем дисковом массиве. OPS является предшественником более современных решений Oracle Real Application Clusters (RAC) и относится к классу систем с архитектурой «разделяемый диск» (shared-disk).

История

Технология Oracle Parallel Server была впервые представлена в 1990-х годах, в эпоху версий Oracle 6 и Oracle 7. Основной целью разработки было повышение доступности и производительности систем баз данных за счёт использования нескольких серверов, работающих параллельно. В отличие от архитектуры «разделяемый ничего» (shared-nothing), где каждый узел владеет своей частью данных, OPS предполагал, что все узлы имеют физический доступ ко всем данным через общую дисковой подсистему (SAN, NAS или прямое подключение).

В версии Oracle 8i технология получила значительные улучшения, включая поддержку большего числа узлов и более эффективные механизмы блокировок. Однако главным недостатком OPS оставалась сложность управления когерентностью кэша (cache fusion) — данные, модифицированные на одном узле, не были немедленно доступны другим узлам, что приводило к необходимости частых операций с диском и снижению производительности в некоторых сценариях.

В 2001 году, с выходом Oracle 9i, OPS был заменён на Oracle Real Application Clusters (RAC), который внедрил технологию кэш-фьюжн (Cache Fusion), позволяющую передавать блоки данных между узлами через высокоскоростное межсоединение (interconnect) без обращения к диску. Несмотря на это, OPS оставался в эксплуатации на многих предприятиях до середины 2000-х годов, пока не был полностью вытеснен RAC.

Архитектура

Принцип работы

OPS работает по принципу «множество экземпляров — одна база данных». Каждый экземпляр (instance) — это набор процессов Oracle и памяти (SGA), запущенный на отдельном сервере (узле кластера). Все экземпляры подключены к одному и тому же набору файлов данных на общем дисковом массиве. Для координации доступа к данным используется распределённый менеджер блокировок (Distributed Lock Manager, DLM), который встроен в ядро Oracle.

Компоненты

  • Экземпляры (Instances) — каждый узел кластера запускает свой экземпляр Oracle, который имеет собственную системную глобальную область (SGA) и фоновые процессы.
  • Общая дисковая подсистема (Shared Storage) — все файлы базы данных (datafiles, redo logs, control files) хранятся на устройстве, доступном всем узлам. Обычно это SAN-массив или NAS.
  • Межсоединение (Interconnect) — высокоскоростная сеть (например, Gigabit Ethernet или InfiniBand) для передачи сообщений DLM и данных кэш-фьюжн (в OPS — только для DLM, кэш-фьюжн не использовался).
  • Менеджер блокировок (DLM) — распределённый сервис, управляющий блокировками на уровне блоков данных. Каждый экземпляр может запрашивать блокировки у DLM, который распределяет их между узлами.

Отличия от RAC

Главное отличие OPS от RAC заключается в механизме передачи данных между узлами. В OPS, если один экземпляр модифицирует блок данных, другой экземпляр, желающий прочитать этот же блок, вынужден считывать его с диска (так как кэш первого экземпляра не передаётся). В RAC используется Cache Fusion, который позволяет передавать блоки данных между SGA узлов через interconnect, что значительно снижает нагрузку на дисковую подсистему и повышает производительность.

Преимущества и недостатки

Преимущества

  • Высокая доступность (High Availability) — при отказе одного узла кластера другие экземпляры продолжают работу, обеспечивая доступ к базе данных.
  • Масштабируемость (Scalability) — возможность добавления новых узлов для увеличения вычислительной мощности без остановки системы.
  • Горизонтальное масштабирование — OPS позволял использовать несколько недорогих серверов вместо одного мощного мэйнфрейма.

Недостатки

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

Применение

Oracle Parallel Server использовался в крупных корпоративных системах, где требовалась высокая доступность и масштабируемость. Типичные сценарии применения включали:

В России OPS применялся в ряде крупных организаций, таких как Сбербанк, РЖД и некоторые операторы связи, но с переходом на RAC и другие современные технологии его использование сократилось.

Примеры конфигураций

Типичная конфигурация OPS включала:

  • 2-8 узлов (серверов) на базе UNIX (Solaris, HP-UX, AIX) или Linux.
  • Общее хранилище на базе SAN (Fibre Channel) или NAS (NFS).
  • Высокоскоростное межсоединение (Gigabit Ethernet или Myrinet).
  • Версия Oracle — 7.3, 8i или 9i (в режиме совместимости).

Критика и наследие

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

В настоящее время OPS считается устаревшей технологией, и Oracle рекомендует мигрировать на Oracle RAC (начиная с версии 9i) или использовать другие решения, такие как Oracle Data Guard для обеспечения высокой доступности.

Источники

  • Oracle Corporation. «Oracle Parallel Server Concepts and Administration Guide» (версия 8i).
  • Oracle Corporation. «Oracle Real Application Clusters Administration Guide» (версия 9i).
  • Б. К. Раджараман, «Oracle Parallel Server: архитектура и управление» (1999).
  • Документация Oracle по миграции с OPS на RAC (2002).
  • Статьи в журнале «Oracle Magazine» (1998–2001).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →