Oracle Partitioning 11g

Oracle Partitioning, опция Oracle Database 11g Enterprise Edition, повы­шает управляемость, производительность и надежность широкого диапазона приложений. Опция Oracle Partitioning позволяет разби­вать таблицы, индексы и индекс-таблицы на части, таким образом, обеспечивая контроль и доступ к данным объектам базы данных на более низком уровне. Oracle предоставляет обширный выбор схем секционирования, отвечающих любым бизнес-требованиям. Более того, будучи полностью прозрачной для SQL-выражений, опция Oracle Partitioning может применяться в любых приложениях, от транзакционных до хранилищ данных.

Опция Oracle Partitioning дает огромные преимущества широкому диапазону приложений засчет улучшения характеристик управляемости, производительности и надежности. В своём 8м поколении опция Oracle Partitioning является проверенной ключевой функциональной возможностью для построения мульти-терабайтных систем или систем с требованиями невероятно высокой надежности.

Например, для опции Oracle Partitioning не является необычным повысить производительность некоторых запросов или операций по администрированию базы данных в разы. Более того, опция Oracle Partitioning может значительно сокращать совокупную стоимость владения при использовании по принципу "многоуровневого архива", позволяющего держать более старые данные в онлайне на более дешевых запоминающих устройствах. Таким образом, опция Oracle Partitioning предоставляет простой, но в то же время очень эффективный подход к управлению жизненным циклом информации для больших информационных сред

Опция Oracle Partitioning позволяет разбивать таблицы, индексы и таблицы-индексы на более мелкие части. Каждая из этих частей объекта базы данных называется секцией (или подсекцией для составных секционированных объектов). Каждая секция имеет своё собственное имя, а также может иметь свои собственные характеристики хранения, такие как активированное сжатие таблицы или хранение секций в различных табличных пространствах, возможно в разных ASM группах дисков. С точки зрения администратора базы данных, секционированный объект состоит из многих частей, которыми можно управлять как вместе, так и каждым в отдельности. Это предоставляет администратору значительную манёвренность в управлении секционированными объектами. Однако, с точки зрения приложения, секционированная таблица идентична несекционированной таблице; при осуществлении доступа к секционированной таблице с использованием SQL, никаких модификаций DML команд не требуется.

Таблицы секционируются с использованием "ключа секционирования", набора столбцов, определяющих, в какой секции будет располагаться заданная запись. Oracle Database 11g предоставляет наиболее широкий выбор возможностей по секциониро­ванию на рынке, разнообразные технологии и методы. Существует также Partition Advisor, который предоставляет рекомендации по тому, как секционировать таблицу на основании того, как осуществляется доступ к данным.

Следующая таблица предоставляет обзор всех доступных базовых стратегий секционирования в Oracle Database 11g.

  Вдобавок к имеющимся стратегиям секционирования Oracle Database 11g предоставляет следующие дополнительные возможности.

Индексные таблицы (index-organized tables) могут быть секционированы по диапазонам, по списку значений или хеш-секционированы. Oracle Database 1lg также предоставляет три типа секционированных индексов:

Локальные индексы: Локальный инекс - это индекс в секционированной таблице, ко­торый секционируется тем же самый способом, что и секционированная таблица. Каждое секция локального индекса соответствует одной и только одной секцией таблицы.

Глобально секционированные индексы: Глобально секционированный индекс - это индекс в секционированной или несекционированной таблице, которая секцио­нируется при использовании другого ключа секционирования из таблицы. Глобально секционированные индексы могут быть секционированы только по диапазонам.

Глобальные несекционированные индексы: Глобально несекционированный индекс, в основном, идентичен индексу в несекционированной таблице. Структура индекса не секционирована.

Oracle предоставляет широкий набор технологий для секционирования таблиц, индексов и индексных таблиц с тем, чтобы секционирование могло оптимально при­меняться в любых приложениях в любой бизнес-среде.

Кроме того, Oracle предоставляет обширный набор SQL-команд для управления сек­ционированием таблиц, индексов и таблиц-индексов, который включает в себя команды для добавления новых секций, удаления, разъединения., объединения, пере­движения и сжатия секций.

Опция Oracle Partitioning и управляемость

Опция Oracle Partitioning позволяет разбивать таблицы и индексы на более мелкие, легче управляемые части, предоставляя администраторам баз данных возможность следовать принципу "разделяй и властвуй" в управлении данными.

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

Типичное использование опции Oracle Partitioning  в отношении управляемости - поддержание процесса загрузки "скользящего окна" в хранилище данных. Предполо­жим, что DBA еженедельно загружает новые данные в таблицу. Эта таблица может быть секционирована по диапазону так, чтобы каждая секция содержала данные за одну неделю. В этом случае процесс загрузки сводится к простому добавлению новой секции. Добавление новой секции является намного более эффективной операцией, нежели чем внесение изменений во всю таблицу, так как DBA нет необходимости в модифицировании других секций. Тот же самый процесс актуален при удалении данных из секционированной таблицы. Вы просто удаляете секцию, что является очень дешёвой и быстрой операцией для словаря данных, вместо того, чтобы вводить команду DELETE, используя большое количество ресурсов

Опция Oracle Partitioning и производительность

Типичное использование опции Oracle Partitioning  в отношении управляемости - поддержание процесса загрузки "скользящего окна" в хранилище данных. Предполо­жим, что DBA еженедельно загружает новые данные в таблицу. Эта таблица может быть секционирована по диапазону так, чтобы каждая секция содержала данные за одну неделю. В этом случае процесс загрузки сводится к простому добавлению новой секции. Добавление новой секции является намного более эффективной операцией, нежели чем внесение изменений во всю таблицу, так как DBA нет необходимости в модифицировании других секций. Тот же самый процесс актуален при удалении данных из секционированной таблицы. Вы просто удаляете секцию, что является очень дешёвой и быстрой операцией для словаря данных, вместо того, чтобы вводить команду DELETE, используя большое количество ресурсов

При увеличении объема данных озабоченность обычно вызывает тот факт, что про­изводительность системы будет снижаться из-за дополнительных данных, которые необходимо обрабатывать. Опция Oracle Partitioning устраняет данную проблему посредством ограничения количества данных, которые нужно обрабатывать, таким образом, производительности, включая следующие:

Отсечение секций (Partition pruning): Отсечение секций является самым значительно повышая производительность по сравнению с тем, как это про­исходит в несекционированной таблице. Опция Oracle Partitioning предоставляет набор преимуществ по простым, а также самым важным способом повышения производительности при использовании секционирования. Например, предположим, что некое приложение содержит таблицу отгрузок, в которой имеется архивная запись отгрузок, и эта таблица была секциони­рована по дням. Запрос информации по отгрузкам по отдельному дню будет работать только с одной секцией таблицы отгрузок. Если в таблице отгрузок содержатся ар­хивные данные за 2 года, данный запрос извлечет данные только из одной секции вместо 730. Данный запрос мог бы потенциально быть выполнен примерно в 700 раз быстрее только благодаря отсечению секций. Отсечение секций работает совместно со всеми другими возможностями для повышения производительности Oracle. Oracle использует отсечение секций во взаимодействии с любыми технологиями индекси­рования, методами соединения таблиц и при параллельном доступе к таблицам.

Соединения по секциям (Partition-wise joins): опция Oracle Partitioning также повышает производительность соединений со множеством таблиц при использова­нии технологии, известной как соединение по секциям. Соединения по секциям могут применяться к двум таблицам,, если обе таблицы секционированы с помощью одинакового ключа соединения. Соединения по секциям разбивают большие соеди­нения на маленькие соединения между каждой из пар секций, что поволяет осуще­ствить полное соединение за более короткое время. Это дает значительные преиму­щества в производительности, как при последовательном, так и при параллельном выполнении.

Опция Oracle Partitioning и надежность

Секционированные объекты базы данных предоставляют независимость секций, что является важным компонентом стратегии высокой надежности. Например, если одна секция в таблице недоступна, все остальные секции таблицы будут оставаться в он­лайне и доступными; приложение может продолжать выполнять запросы и транзак­ции на основании данной секционированной таблицы, операции над базой данных будут успешно выполняться, если не возникнет необходимости получения доступа к недоступным секциям.

Кроме того, опция Oracle Partitioning может сокращать запланированное время про­стоя. Увеличение производительности, достигнутое с помощью опции секционирова­ния, может дать возможность администраторам баз данных осуществлять операции по администрированию больших объектов базы данных в относительно небольших времнных "окнах".

Управление жизненным циклом информации с опцией Oracle Partitioning

Необходимость хранения огромного количества данных при минимальных возмож­ных затратах может быть оптимально удовлетворена использованием опции Oracle Partitioning. Понимание, каким образом осуществляется доступ к данным в независимых отдельных секциях позволяет реализовать хранение данных по принципу "многоу­ровневого архива". В таблицах, содержащих хронологические данные, секциониро­вание позволяет хранить отдельные секции (или группы секций) на разных уровнях хранения, отличающихся физическими свойствами и ценой.. Например, таблица заказов, содержащая важные данные за 2 года, может хранить на дорогих и быстрых дисках только данные за последний квартал, а остальные данные таблицы (почти 90% данных) хранить на недорогих, но медленных дисках. Благодаря опции Oracle Partitioning стоимость хранения значительно сокращается (не является редкостью экономия затрат на 50% и более), при этом не сказываясь на доступе конечных поль­зователей и таким образом, оптимизируя совокупную стоимость владения системы.

Опция Oracle Partitioning для всех

Опция Oracle Partitioning может значительно повысить управляемость, производи­тельность и доступность практически любого приложения, работающего с базой данных. Секционирование применяется в самых современных приложениях, и в действитель­ности секционирование может быть тем элементом, от которо зависит успех прило­жения. Однако опция секционирования также может применяться в любых приложе­ниях для упрощения администрирования и снижения расходов по управлению такими приложениями.

Принимая во внимание новые и усовершенствованные функциональные возможно­сти для секционирования, Oracle Database 1l g является наиболее значительным выпу­ском со времен представления опции Oracle Partitioning в 1997 году. В каждом релизе Oracle расширял функциональные возможности секционирования, либо посредством добавления новых технологий секционирования, повышения масштабируемости, либо посредством увеличения управляемости и возможностей администрирования. Oracle планирует продолжать совершенствовать технологии секционирования для удовлетворения любых требований бизнеса .


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=19140