Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
dvp:db:structure [2013/04/10 21:54] serge |
dvp:db:structure [2016/11/03 19:39] (текущий) kos |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ===== Рекомендуемая структура БД QBIS.Bank ===== | + | ====== Рекомендуемая структура БД QBIS.Bank ====== |
Структура БД описывается в файле ''bisquit.st''. Формат st-файла: | Структура БД описывается в файле ''bisquit.st''. Формат st-файла: | ||
Строка 14: | Строка 14: | ||
* 256 - сверхмалый размер записи (до 42 байт) | * 256 - сверхмалый размер записи (до 42 байт) | ||
- | Параметр **BPC** рекомендуется выбирать исходя из скорости роста области данных. Если область данных большая и растет очень быстро, то желательно, чтобы и размер кластера был большим. Возможные значения - 8, 64, 256. | + | Параметр **BPC** рекомендуется выбирать исходя из скорости роста области данных. Если область данных большая и растет очень быстро, то желательно, чтобы и размер кластера был большим. Возможные значения - 8, 64, 512. |
- | == Рекомендуемый файл bisquit.st == | + | ===== Рекомендуемый файл bisquit.st ===== |
- | Рекомендуемая структура в файле **b'bisquit.**st'' основана на анализе нескольких клиентских баз данных, работающих в однофилиальном режиме. В конкретном Банке характер данных может отличаться от проанализированных, поэтому значения RPB необходимо подбирать индивидуально. | + | |
+ | Рекомендуемая структура в файле ''bisquit.st'' основана на анализе нескольких клиентских баз данных, работающих в многофилиальном режиме. В конкретном Банке характер данных может отличаться от проанализированных, поэтому значения RPB необходимо подбирать индивидуально (например, для однофилиального режима размер записей в области "pos" меньше, поэтому значение RPB для этой области можно установить равным 256). | ||
# Описание области Before Image | # Описание области Before Image | ||
b . | b . | ||
Строка 71: | Строка 72: | ||
* в областях msg, text и mart средний размер записи значительно превосходит средний средний размер записей в БД, а область perm содержит записи с наименьшей длиной. | * в областях msg, text и mart средний размер записи значительно превосходит средний средний размер записей в БД, а область perm содержит записи с наименьшей длиной. | ||
- | === Перенос данных между областями === | + | ===== Перенос данных между областями ===== |
Одним из параметров БД, влияющих на производительность, является размещение таблиц БД по областям. Для эффективного доступа к данным таблица должна быть размещена в той области, которая больше всего ей подходит как по величине среднего размера записи, так и по скорости роста объемов данных. | Одним из параметров БД, влияющих на производительность, является размещение таблиц БД по областям. Для эффективного доступа к данным таблица должна быть размещена в той области, которая больше всего ей подходит как по величине среднего размера записи, так и по скорости роста объемов данных. | ||
Для переноса таблиц и индексов из одной области в другую есть несколько способов: | Для переноса таблиц и индексов из одной области в другую есть несколько способов: | ||
* Использование [[unix:progress:dump-load|методики двоичного dump/load]] для передампливания всей БД целиком либо по частям. Эту технологию эффективно выполнять вместе с переходом на новую структуру хранения данных Type Area II, которая значительно увеличивает производительность БД. | * Использование [[unix:progress:dump-load|методики двоичного dump/load]] для передампливания всей БД целиком либо по частям. Эту технологию эффективно выполнять вместе с переходом на новую структуру хранения данных Type Area II, которая значительно увеличивает производительность БД. | ||
* Использование штатной утилиты [[http://documentation.progress.com/output/OpenEdge112/oe112html/Data%20Management/wwhelp/wwhimpl/common/html/wwhelp.htm#href=Database%20Administration/30dmadmch22.041.67.html&single=true|PROUTIL TABLEMOVE]] | * Использование штатной утилиты [[http://documentation.progress.com/output/OpenEdge112/oe112html/Data%20Management/wwhelp/wwhimpl/common/html/wwhelp.htm#href=Database%20Administration/30dmadmch22.041.67.html&single=true|PROUTIL TABLEMOVE]] | ||
- | Для автоматизации процесса переноса таблиц между областями можно воспользоваться утилитой ''genscript.p'', которая создаёт скрипт переноса таблиц и индексов, находящихся не в "своих" областях. Она использует информацию о структуре из текущей БД и специальный файл ''table.cfg''. Этот файл конфигурации имеет следующую структуру: | + | Для автоматизации процесса переноса таблиц между областями можно воспользоваться процедурой ''genscript.p'', которая создаёт скрипт переноса таблиц и индексов, находящихся не в "своих" областях. Она использует информацию о структуре из текущей БД и специальный файл ''table.cfg''. Этот файл конфигурации имеет следующую структуру: |
- | <area-name>: <table-name1>, <table-name2> | + | <area-name>:<table-name1>,<table-name2>,... |
... | ... | ||
Файл ''table.cfg'' регулярно обновляется и выходит в составе патчей. | Файл ''table.cfg'' регулярно обновляется и выходит в составе патчей. | ||
Строка 86: | Строка 87: | ||
bq41d -p genscript.p -param "table.cfg,movetable" | bq41d -p genscript.p -param "table.cfg,movetable" | ||
- | === Дополнительная информация === | + | Учтите, что штатная утилита PROUTIL TABLEMOVE осуществляет перенос данных в рамках одной транзакции. Записи одна за одной читаются в исходной таблице, копируются в новую таблицу, а затем исходные записи удаляются. Поэтому размер BI-файла может вырасти до 10 раз от размера самой таблицы. |
+ | ===== Дополнительная информация ===== | ||
* Progress Knowledgebase: [[http://knowledgebase.progress.com/articles/Article/P77017|How to move tables faster with tablemove?]] | * Progress Knowledgebase: [[http://knowledgebase.progress.com/articles/Article/P77017|How to move tables faster with tablemove?]] | ||
* OpenEdge Database Administration Guide: [[http://documentation.progress.com/output/OpenEdge112/oe112html/Data%20Management/wwhelp/wwhimpl/common/html/wwhelp.htm#href=Database%20Administration/22dmadmch15.033.10.html&single=true|Maintaining indexes and tables]] | * OpenEdge Database Administration Guide: [[http://documentation.progress.com/output/OpenEdge112/oe112html/Data%20Management/wwhelp/wwhimpl/common/html/wwhelp.htm#href=Database%20Administration/22dmadmch15.033.10.html&single=true|Maintaining indexes and tables]] | ||
+ | |||
+ | {{tag>progress prodb}} |