Слайсы БД

Оценить
(0 голоса)

Чтобы организовать параллельный доступ через взаимодействующие серверы, участки (chunks) данных декларируются в каждом взаимодействующем сервере и группируются в пространствах БД (dbspaces). Пространства БД (dbspaces) для упрощения управления комбинируются в dbslice (слайс БД) - поименованный набор распространенных по взаимодействующим серверам пространств БД, которыми можно управлять как единым объектом хранения. Генерируя планы запросов, оптимизатор учитывает соответствие между взаимодействующими серверами и участками памяти.

Слайсы БД создаются с помощью утилиты onutil. Следующий пример иллюстрирует синтаксис для создания слайса БД:

create dbslice custdbs from cogroup cogroup_all chunk "/data/custdbsl. %c" size 500000;

Слайс custdbs будет иметь по одному участку для каждого взаимодействующего сервера в cogroup_all. По умолчанию единицей размера является KBYTES (Кбайт), однако могут быть также определены MBYTES (Мбайт), GBYTES (Гбайт).

Благодаря расширениям команды create table в слайсе БД могут быть созданы таблицы и индексы.

XPS создает некоторое количество своих собственных слайсов БД. Набор rootslice (корневой слайс) предусматривает корневое пространство БД для каждого взаимодействующего сервера и создается при начальной инициализации XPS. Необязательные physslice и logslice используются соответственно для физических и логических журналов.

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

Как мы могли видеть из предыдущего раздела, размещение временного пространства БД определяется с помощью параметра DBSPACETEMP в файле onconfig.

Вы можете использовать слайсы для временных пространств БД, как это показано в следующем примере:

DBSPACETEMP tempdbs # Default temp dbspaces

В этом примере tempdbs может быть слайсом, распространенным по четырем взаимодействующим серверам, как это показано следующей командой:

create temp dbslice tempdbs from

cogroup cogroup_all chunk "/data/tdbsl.%c" size 2000000, cogroup cogroup_all chunk "/data/tdbs2.%c" size 2000000, cogroup cogroup_all chunk "/data/tdbs3.%c" size 2000000;

В этом примере будут созданы 12 пространств БД - по одному для каждого из 12 участков. С помощью onutil выражение %с будет расширено номером взаимодействующего сервера, и на каждом взаимодействующем серверое будут созданы три аналогичных пространства. При обработке запроса XPS назначит отдельный поток сканирования каждому пространству БД.

Таблицы и индексы
Логические и физические журналы
Фрагментация
Для фрагментации
Табличные пространства

Добавить комментарий


Защитный код
Обновить