Шаг 119 - Табличные пространства - Системы БД OLTP

Давайте после множества примеров PL/SQL - обратимся, к такому понятию БД Oracle, как табличное пространство. В шаге-23, мы немного рассмотрели этот вопрос, но только в начальной стадии. Теперь давайте познакомимся с этим понятием более детально. Помните наш запрос:

SQL> SELECT tablespace_name, file_name, bytes
  2  FROM dba_data_files
  3  ORDER BY tablespace_name, file_name
  4  /

TABLESPACE_NAME   FILE_NAME                              BYTES
----------------- -------------------------------------- ----------
INDX              C:\ORACLE\ORADATA\PROBA\INDX01.DBF     2097152
OEM_REPOSITORY    C:\ORACLE\ORADATA\PROBA\OEMREP01.DBF   5242880
RBS               C:\ORACLE\ORADATA\PROBA\RBS01.DBF      26214400
SYSTEM            C:\ORACLE\ORADATA\PROBA\SYSTEM01.DBF   146800640
TEMP              C:\ORACLE\ORADATA\PROBA\TEMP01.DBF     2097152
USERS             C:\ORACLE\ORADATA\PROBA\USERS01.DBF    3145728

6 rows selected

В данном случае мы видим, что наша с вами система, имеет шесть табличных пространств, каждое из которых содержится в своем файле данных, который в свою очередь расположен в системном каталоге Oracle Server - C:\Oracle\ORADATA\proba. Иначе, это можно описать как C:\ORAHOME\ORADATA\SID. По умолчанию при создании экземпляра БД используется именно такой путь к файлам данных табличных пространств. Если говорить прямо, то табличное пространство, это конкретный файл данных, расположенный в системном каталоге Oracle. А, в строгой формулировке - табличное пространство это логическая структура, которая используется для группировки данных с однотипными методами доступа. В табличное пространство может входить, один или несколько файлов данных. Но, как правило, один или несколько файлов данных не могут хранить два табличных пространства, а только одно!

Помните когда мы создавали пользователя (схему), мы с вами указывали где он будет хранить свои данные. Это и есть то самое табличное пространство. И вот здесь мы с вами подходим к очень интересному моменту. При создании любой БД, как правило, оговаривается ее тип, исходя из этого и создается сам экземпляр! Так вот в нашей учебной БД, вы этого не видели. Но, если бы мы пошли по более конструктивному пути, (мы еще это проделаем!) а, именно установили сам сервер Oracle, затем создали бы экземпляр и провели его настройку, то вы бы это все увидели. Итак, к чему я это все болтаю, а вот к чему!

БД Oracle содержит и поддерживает несколько типов при создании экземпляра. Но основные из них это OLTP (On-Line Transaction Processing) и DSS (Decision Support System). Я понимаю, что это немного утомляет когда много теории, но знать это необходимо. Рассмотрим подробнее.

Рассмотрим систему OLTP. Данная система характеризуется высоким параллелизмом (большим количеством интерактивных пользователей) и как следствие высокой интенсивностью обновлений (то есть большое количество одновременно открытых транзакций). В таких системах, объем данных может значительно изменяться во времени как бы, то пусто, то густо! По этому, при создании табличных пространств (вот к чему я и вел!) и экстентов в них для систем OLTP необходимо задавать максимально возможный размер. Так как табличные пространства с включенной опцией динамического расширения может привести к тому, что производительность системы может значительно упасть! Вследствие этого возникает парадокс, что для достижения высокой производительности табличные пространства должны быть фиксированной длинны и при этом превосходить по объему максимальный размер данных, обрабатываемых в нем. Так же для управления транзакциями необходимо иметь принципиальную возможность выполнения достаточного количества отмен и откатов. Для коротких транзакций небольшие сегменты отката, для длительной и объемной транзакции большие сегменты отката. Так же большее количество журналов регистрации транзакций и более продуманной системы построения экземпляра в целом с применением методов диагностики и настройки. Вообще по большому счету при работе с любой БД, администрирование и настройка БД, это каждодневный и нелегкий труд админа! Такая у него доля! Кстати ярким примером системы OLTP, может служить система, применяемая сегодня в супермаркетах, коих у нас великое множество (Эльдорадо (Москва) НК - Сити (Хабаровск) и т.д.). В единицу времени может списываться сотня наименований товаров, со склада с подсчетом общего баланса и в то же время сотни наименований могут быть приняты на учет, так как пришел груз и получатель его оприходует в тот же момент! Собственно это и есть кратко система OLTP.

Далее продолжим рассмотрение второго типа экземпляров БД, для более ясного усвоения изложенного! :)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Летучий Сергей - 05.04.2004