Центр технической поддержки

Карта сайта
Телефоны: 8 (343) 290-20-25,
8-902-268-0765
ICQ: 102-562-947 ICQ
Екатеринбург, Автовокзал, Ботаника, Парковый, Юго-западный, ул. Щорса, 7

Что нового?

Обслуживание
компьютеров
от 350 р. !!!



Обслуживание
серверов
от 1200 р. !!!



Цифровая АТС
(Asterisk)
от 20 000 р.!!!

 

Использование СУБД Oracle в современных условиях

Благодаря дальновидной политике компании Oracle, беспрепятственно распространявшей дистрибутивы своей СУБД на заре использования реляционных баз данных в России, в данный момент мы имеем ситуацию, когда большинство разработанного ПО хотя бы с маломальскими требованиями к хранению данных, использует именно эту СУБД.

Поговорим о сегменте задач, так называемого “уровня предприятия”. Это именно тот сегмент, под который и предназначена описываемая СУБД, по функционалу и соответственно стоимости. “Уровень предприятия” подразумевает под собой огромные объемы хранимой информации, большое количество пользователей одновременно обращающихся к этой информации, а также сложность задач по ее обработке.

Разобьем задачи для СУБД на 2 стандартных типа: OLTP (on-line transaction processing) и DSS (decision support system). OLTP, как и следует из ее названия, покрывает область задач подразумевающих большое количество небольших транзакций, которые конкурентно обрабатывает БД. Это как правило различные процессинговые системы, такие как банковский процессинг, биллинг реального времени в телеком отрасли или какие-либо платежные системы. DSS, это системы поддержки принятия решений. Подразумевают под собой не очень большое количество транзакций, которые обрабатывают большой объем данных и выдают некоторую аналитическую информацию. Это, как правило, различные аналитические системы и системы отчетности. Часто встречается, что БД является одновременно и OLTP и DSS, например любой процессинг, по окончании какого то периода должен предоставлять отчетность.

Вследствие того, что разный тип нагрузки на БД требует и разных настроек, как самой БД, так и ее окружения, лучше стараться избегать пересечения этих 2х типов нагрузок. В таких случаях можно либо переносить данные для приготовления отчетности в другую БД, либо использовать какие либо средства профилирования нагрузки (в Oracle есть инструмент Resource Manager, позволяющий задавать график использования ресурсов сервера теми или иными задачами).

Итак, рассмотрим, какой нам сервер покупать, если нам предстоит разместить на нем СУБД Oracle для задач OLTP. При выборе оборудования под OLTP, важнейшими критериями будут отказоустойчивость, масштабируемость и доступность. Всеми этими качествами в полной мере обладают серверы с процессорами на базе архитектуры RISC. Основными представителями этой категории серверов до недавнего времени были 3 вендора. Это IBM с серверами p-series на базе процессора Power7 и ОС AIX, Sun с серверами семейства M, совместным с Fujitsu процессором Sparc64 и ОС Solaris и HP со своими Integrity серверами на базе Intel Itanuim и ОС HP-UX.

Все эти серверы обладают высокой отказоустойчивость за счет дублирования основных компонентов и изоляции (позволяет изолировать сбойные компоненты из конфигурации), масштабируемостью (все серверы могут расширяться путем добавления процессорных плат, плат ввода-вывода) и доступностью (архитектура процессора RISC в связке с ОС семейства Unix позволяет системе работать и откликаться даже под очень серьезной нагрузкой).

Все изменилось после того, как Ларри Эллисон (глава и фактический хозяин Oracle) решил завести себе личного производителя оборудования. Благо момент был очень удачный, и Sun находящийся в предбанкротном состоянии был взят, что называется “тепленьким”. После объявления сделки прошло достаточно длительное время на согласование с акционерами и антимонопольными органами США. И вот как только сделка была одобрена всеми необходимыми инстанциями и начался процесс фактического поглощения, как гром среди ясного неба прогремела новость о прекращении разработки новых версий СУБД Oracle под платформу Itanium.

Было заявлено, что последней версией будет текущая 11-ая, стандартная поддержка которой по планам Oracle прекратится в 2015 году. Учитывая, что описываемые серверы удовольствие не из дешевых и покупаются на длительный период, это фактически означает крах продаж платформы Integrity под задачи СУБД Oracle. Остаются, конечно, и другие задачи, но под Oracle продавалась основная часть Integrity серверов особенно флагмана от HP - Superdome. Стоит отметить, что момент для объявления также был выбран весьма удачно. HP, только что объявили о многократно откладываемом до этого по техническим причинам запуске продаж своего Superdome2 на базе четырехядерного Itanium.

Таким образом, на текущий момент мы имеем 2 конкурента с традиционной архитектурой, IBM и Oracle(Sun), и новинку от Oracle - Exadata2. Exadata представляет собой принципиально иной подход к проектированию систем под базы данных. Ее архитектура представляет собой набор серверов архитектуры x86, работающих под управлением Linux, объединенных высокоскоростной шиной, и специального ПО от Oracle, позволяющего объединить все компоненты в одно целое. В основе всего лежит ПО Oracle RAC (Real Application Claster) и ASM (Automatic Storage Management). Кластер объединяет вычислительные узлы (серверы x86 из состава Exadata несущие процессоры и память), а ASM объединяет узлы хранения данных (серверы x86 несущие быстрые и медленные диски, а также flash накопители для размещения данных требующих наибольшей производительности по вводу-выводу).

Масштабируемость Exadata реализуется за счет добавления новых вычислительных узлов в кластер, это накладывает определенные ограничения на архитектуру работающей БД. Она должна быть адаптирована под Oracle RAC, чтобы избегать, например, перекрестных блокировок или позволять корректно выполняться запросам при выходе из строя одного из узлов. Очень часто адаптация под кластер ведет к полной переработке системы, что не всегда возможно.

Перейдем к задачам DSS. Под эти задачи подходят и все выше описанные серверы, особенно Exadata, позволяющая автоматизировано организовывать свойственное для DSS хранение данных (архивные данные на медленных дисках, оперативные на быстрых и flash дисках). Но они являются крайне дорогими решениями, как при покупке, так и при дальнейшей поддержке. Системы DSS, как правило, не предъявляют высоких требований к отказоустойчивости и доступности, в них главное получить результат. В связи с этим для них вполне можно использовать серверы x86, особенно учитывая, что последние процессоры от Intel бьют все рекорды производительности.

Рассмотрим 2 флагмана по производительности среди серверов x86. Первый это сервер от HP - DL980. Он позволяет устанавливать до 8 8-ядерных процессоров Intel Xeon(в данный момент открываются продажи конфигураций с 10-ядерными процессорами) и до 2х Тб оперативной памяти. В максимальной конфигурации этот сервер обладает экстраординарной производительностью, за счет большого числа ядер Xeon, являющихся на данный момент лидерами по разным вычислительным тестам. Недостатки этого сервера объясняются его архитектурой. При выходе из строя, какого либо компонента на материнской плате, сервер становится не работоспособным.

Выбор операционной системы для сервера стоит между семейством Linux или Windows. Каждая из этих ОС обладает своими достоинствами и недостатками, но все же уступает по многим качествам Unix-подобным ОС, используемым в RISC серверах. Вторым собратом DL980 является флагман линейки x86 от Oracle, сервер x4800. Он является аналогом по основным параметрам. Основными отличиями являются форм-фактор (5u у Oracle и 8u у HP), а также возможность горячей замены плат PCI-E у серверов от Oracle. Стоит также отметить, что среди операционных систем для СУБД Oracle под архитектуру x86 появился претендент на лидерство. Это Oracle Linux with unbreakable enterprise kernel. По заявлению производителей он до 75% быстрее работает, чем текущий лидер для серверов x86 RedHat Enterprise Linux(RHEL). Этот продукт, по сути, представляет собой RHEL с некоторыми не значительными исправлениями, названный Oracle Linux, и отдельное ядро unbreakable enterprise kernel, переработанное инженерами Oracle для лучшей производительности при работе с СУБД.

И, наконец, перейдем к более простому, но более разнообразному сегменту серверов для СУБД Oracle, для небольших задач малого и среднего бизнеса. Здесь не имеет смысла перечислять всех производителей, так как их очень много. Разумеется, все серверы для этого сегмента основаны на архитектуре процессора x86. Если говорить о брэндах, то вдобавок к вышеперечисленным это могут быть например IBM и DELL. Если говорить о низшем ценовом сегменте, то можно подобрать и не “брэндовый” сервер, например, на основе серверных материнских плат от Intel. Перечислим общие рекомендации при выборе не брэндовых серверов под СУБД Oracle.

  • Определить условия размещения сервера (тип шкафа, охлаждение, электропитание). Это позволит правильно определить форм-фактор, потребляемую мощность, тепловыделение;
  • Определить требования к отказоустойчивости. Если окажется, что отказ сервера и длительное время его ремонта приведет к большим денежным потерям, то необходимо покупать 2 сервера и зарезервироваться по технологии Oracle Standby или RAC, если позволяет архитектура приложения. Если требования менее критичны, то возможно ограничиться дублированием компонентов сервера (блоки питания, сетевые карты, SAN адаптеры) и выделением места на каком-то внешнем хранилище для хранения резервных копий.
  • Если сервер географически будет находиться отдельно от администратора СУБД и ОС, то стоит позаботиться о наличии в нем какого-то управляющего контроллера, который бы позволял по сети заходить на консоль сервера, перегружать его и получать какую-либо диагностическую информацию о состоянии его физических компонентов.
  • Определить тип хранилища для файлов БД. Если будут использоваться внутренние диски сервера, то необходимо чтобы был их запас или хотя бы свободные слоты, чтобы было куда расширяться, когда БД неожиданно начнет расти (“неожиданный рост” на практике происходит очень часто). Также в случае использования внутренних дисков, нужно позаботиться о RAID контроллере. Желательно чтобы он был не на материнской плате, а внешний. Если же будут использоваться какие-то внешние дисковые массивы, то нужно учесть в конфигурации сервера адаптеры для этого. FC HBA в случае подключения массива по SAN и дополнительные Ethernet карты в случае подключения по iSCSI. Желательно чтобы этих адаптеров тоже было минимум 2 на сервер.
  • ЗИП. Объяснить эту строку в спецификации руководству порой не просто, но это нужно делать, так как ЗИП может понадобиться в любой момент и незначительные затраты на начальном этапе могут сильно сэкономить деньги и удержать лояльность клиентов когда у сервера что-то сломается. Как правило, в ЗИП нужно закладывать 20% таких компонентов, как память и диски. Если серверов несколько, то не помешают блоки питания, адаптеры, RAID-контроллеры и батарейки для них.
  • Лицензии и поддержка. Здесь все зависит от политики компании. Например, если в компании принято использовать MS Windows, то придется учесть это при закупке лицензий. Оптимальным конечно видится использование Oracle Linux, поддержка которого тоже платная и по стоимости сходна с RHEL

Итак, мы кратко обсудили ассортимент серверного оборудования для использования под СУБД Oracle. Надеюсь предоставленная информация будет актуальна хотя бы несколько месяцев, ведь мир ИТ невероятно изменчив.

 


 

                                                                                                                                                                                                                                                         Логотип компании Oracle



asterisk