Глава 2 - Проектирование, масштабирование и наполнение базы данных |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержание: 2.2. Схема базы данных TPC-E и описание Таблиц 2.5. Требования прозрачности доступа к данным 2.6. Размер базы данных и размерность таблиц TPC-E База данных TPC-E состоит из 33 отдельных таблиц. Схема базы данных организована как четыре группы таблиц. Клиентские таблицы: Этот набор включает 9 таблиц, содержащих информацию о клиенте брокерской фирмы. Брокерские таблицы: этот набор включает 9 таблиц, содержащих информацию о брокерской фирме брокерских данных. Рыночные таблицы: этот набор включает 11 таблиц, содержащих информацию о компаниях, рынках, торгах и секторах производства. Таблицы размерности: представляют собой набор из четырех таблиц размерности, содержащих общую информацию, как то адреса и почтовые коды. Отношения между таблицами и требования, контролирующие их использование, описаны в остальных разделах Пункта 2. 2.1.1 Определения 2.1.1.1 Внешний ключ (FК) – это колонка или комбинация колонок, используемая для установления и применения связи между данными в двух таблицах. Связь создается между двумя таблицами путем добавления колонки или колонок, содержащих значения Основного ключа одной таблицы, к другой таблице. Эта колонка становится Внешним ключом во второй таблице. 2.1.1.2 Основной ключ – это колонка или комбинация колонок, уникально идентифицирующая ряд. Ни одна из колонок, являющихся частью Основного ключа, не может быть нулевой. Таблица должна содержать не более одного Основного ключа. 2.2 Схема базы данных TPC-E и описание Таблиц. В этой Пункте описаны подробности схемы базы данных TPC-E, требования к типам данных, требуемая структура каждой отдельной таблицы, отношения сущностей между таблицами и ограничения по отдельным колонкам. 2.2.1 Описание типов данных Native Data Type - это встроенный тип данных СУБД, чьим документированным назначением является хранение данных конкретных типов, указанных в спецификации. К примеру, DATETIME должен быть реализован при помощи встроенного типа данных СУБД, предназначенного для хранения информации о дате/времени. CHAR(n) означает символьную строку, которая может содержать до n однобайтных символов. Строки могут быть заполнены пробелами до максимальной длины. CHAR(n) должен быть реализован с использованием Native Data Type. NUM(m[,n]) означает численное значение без знака с количеством знаков не меньше m, из которых n знаков после запятой. Тип данных должен иметь возможность содержать все возможные значения, которые могут быть выражены как NUM(m[,n]). Исключение n, например как записано в NUM(m), означает то же, что NUM(m,0). NUM должен быть реализован с использованием Native Data Type. 2.2.1.1 SNUM(m[,n]) идентична NUM(m[,n]) за исключением того, что оно используется для отображения как положительных, так и отрицательных значений. SNUM должен быть реализован с использованием Native Data Type. Примечание: тип данных SNUM может быть использован (по решению Организатора) всюду, где описан тип данных NUM. ENUM(m[,n]) или SENUM(m[,n]) означает точное численное значение (со знаком или без, соответственно). ENUM и SENUM идентичны NUM и SNUM, соответственно, за исключением того, что они должны быть реализованы с использованием Native Data Type, который обеспечивает точное представление по меньшей мере n знаков после запятой. Примечание: Числовые типы данных реализуют либо точное, либо приближенное представление численных величин. К примеру, INTEGER и DECIMAL являются точными числовыми типами данных, а REAL и FLOAT - это примерные числовые типы данных (опираясь на описания ANSI SQL). BOOLEAN -- это тип данных, предназначенный для хранения по меньшей мере двух отдельных значений, обозначающих FALSE и TRUE. Примечание: в этом документе, также как и в реализации EGen, установлена договоренность, что значение ноль (0) обозначает FALSE и значение (1) обозначает TRUE. 2.2.1.2 DATE DATE представляет собой тип данных даты с детализацией в течение дня и должен поддерживать диапазон от 1 Января 1800 года до 31 Декабря 2199, включительно. DATE должен быть реализован с использованием Native Data Type. Примечание: компонент времени не является необходимым, но также может быть реализован. 2.2.1.3 DATETIME представляет тип данных для обозначения даты, включающей составляющую времени. Компонент данных должен соответствовать всем требованиям для типа данных DATE. Компонент времени должен быть способен представлять диапазон значений времени от 00:00:00 до 23:59:59. Могут быть реализованы дробные значения секунд, но они не являются необходимыми. DATETIME должен быть реализован с использованием Native Data Type. BLOB(n) это тип данных, предназначенный для хранения двоичных объектов переменной длины в n байт. BLOB_REF это тип данных, который может ссылаться на объект BLOB(n), хранимый вне таблицы в SUT. 2.2.2 Определения Мета-типов Для облегчения записи определены нижеследующие мета-типы. Эти мета-типы могут быть реализованы, используя нижележащие типы данных, на которых они основаны. Не существует требования на реализацию мета-типов, как типов, определенных пользователем в СУБД. Мета-тип может быть реализован с использованием типов, определенных пользователем в СУБД до тех пор, пока определенный пользователем тип включает, в случае необходимости, Native Data Type и наследует свойства этого Native Data Type. IDENT_T определяется как NUM(11) и используется для хранения неторговых указателей. TRADE_T определяется как NUM(15) и используется для хранения торговых указателей. Торговые идентификаторы обладают следующими характеристиками:
FIN_AGG_T определен как SENUM(15,2) и используется для хранения сложных финансовых данных, таких как графики статей дохода и оценки прибыльности. 2.2.2.1 S_PRICE_T определено как ENUM(8,2) и используется для хранения значения стоимости акций. 2.2.2.2 S_COUNT_T определено как NUM(12) и используется для хранения суммарного значения количества акций, используемого во многих таблицах. 2.2.2.3 S_QTY_T определено как SNUM(6) и используется для хранения количества BALANCE_T определяется, как SENUM(12,2), и используется для хранения комплексных данных об учётных записях и транзакциях, таких как балансы счетов, суммарные комиссии и т.д. VALUE_T определяется, как SENUM(10,2), и используется для хранения некомплексных данных, относящихся к транзакциям и безопасности, таким как цена, дивиденды и т.д. 2.2.3 Основные объекты Схемы Следующая таблица перечисляет категории, префиксы и названия для всех таблиц, необходимых в тестировании TPC-E.
2.2.3.1 Ссылки на Основной ключ, описанные в этом разделе, должны быть сохранены базой данных в период Выполнения теста. Основные ключи обозначены как PK или PK+ в поле Отношения в описании каждой таблицы. PK обозначает, что колонка является Основным Ключом таблицы, в то время как PK+ обозначает, что колонка является частью составного (содержащего несколько колонок) Основного ключа. 2.2.3.2 Ссылки на Внешний ключ, описанные в этом разделе, должны быть сохранены базой данных в период Выполнения теста. Внешние ключи обозначаются как FK() или FK+() в поле Отношения в описании каждой таблицы. FK() обозначает Внешний Ключ из одной колонки таблицы, в то время как FK+() обозначает, что колонка является частью составного (содержащего несколько колонок) Внешнего ключа. Префикс таблицы, заключенный в скобки, обозначает целевую таблицу для ссылки Внешним ключом. 2.2.3.3 Ограничения, описанные в этом разделе, должны соблюдаться базой данных в период Выполнения теста. Ограничения перечислены в колонке Ограничения в описании каждой таблицы. Примечание: Если не установлено ограничение Not Null, колонка должна допускать значения Null. 2.2.3.4 Для каждой таблицы, необходимой TPC-E, колонки могут быть приведены в любом порядке, используя любое физическое представление, доступное из тестируемой системы, которое удовлетворяет требованиям к типам данных схемы. 2.2.4 Клиентские таблицы Эти группы таблиц содержат информацию о данных, относящихся к клиентам. 2.2.4.1 ACCOUNT_PERMISSION Эта таблица содержит информации о правах доступа, которыми обладает клиент или кто либо помимо клиента к указанному счету клиента. На клиентских счетах могут вестись торги, созданные на них более чем одним человеком.
2.2.4.2 CUSTOMER Эта таблица содержит информацию о клиентах брокерской фирмы. Префикс таблицы: C_
2.2.4.3 CUSTOMER_ACCOUNT Таблица CUSTOMER_ACCOUNT содержит информация о счетах каждого клиента. Префикс таблицы: CA_
2.2.4.4 CUSTOMER_TAXRATE Таблица содержит две ссылки по каждому клиенту в таблице TAXRATE. Одна ссылка относится к налогам города/области, другая для общенационального налога. Таблица TAXRATE содержит точные текущие налоговые ставки. Префикс таблицы: CX_
2.2.4.5 HOLDING Таблица содержит информацию об активах ценных бумаг на счете. Префикс таблицы: H_
2.2.4.6 HOLDING_HISTORY Таблица содержит информацию о позициях активов, которые были внесены, изменены или удалены, и какие торги привели к каким изменениям. Префикс таблицы: HH_
2.2.4.7 HOLDING_SUMMARY Таблица содержит комплексную информацию о пакетах ценных бумаг на счетах Клиента. Префикс таблицы: HS_
Примечание: HOLDING_SUMMARY может быть реализована как обзор таблицы HOLDING, и в этом случает ссылки Внешнего ключа таблицы HOLDING на таблицу HOLDING_SUMMARY проводятся автоматически. Однако ссылки Внешнего ключа таблицы HOLDING_SUMMARY на CA_ и S_ должны быть адаптированы и приняты в HOLDING. 2.2.4.8 WATCH_ITEM Таблица содержит список отслеживаемых ценных бумаг в списке наблюдения. Префикс таблицы: WI_
2.2.4.9 WATCH_LIST Таблица содержит информацию о клиенте, создавшем этот список наблюдения. Префикс таблицы: WL_
2.2.5 Брокерские таблицы Эта группа таблиц содержит данные, относящиеся к брокерской фирме и брокерам. 2.2.5.1 BROKER Таблица содержит информацию о брокерах. Префикс таблицы B_
2.2.5.2 CASH_TRANSACTION Таблица содержит информацию о денежных транзакциях. Префикс таблицы: CT_
2.2.5.3 CHARGE Таблица содержит информацию об издержках за размещение торговой заявки. Размеры издержек зависят от уровня клиента и типа торгов. Префикс таблицы: CH_
2.2.5.4 COMMISSION_RATE Ставка комиссии зависит от нескольких факторов: Уровня клиента, типа торгов, объема торгуемых ценных бумаг и биржи, выполняющий торги. Префикс таблицы: CR_
2.2.5.5 SETTLEMENT Таблица содержит информацию о том, как осуществляются выплаты по торгам: в частности, проводятся маржиналные торги или торги на имеющиеся в наличии средства, и когда выполняются условия торгов. Префикс таблицы: SE_
2.2.5.6 TRADE Таблица содержит информацию о торгах. Префикс таблицы: T_
2.2.5.7 TRADE_HISTORY Таблица содержит историю каждой торговой транзакции в различных состояниях. Префикс таблицы: TH_
2.2.5.8 TRADE_REQUEST Таблица содержит информацию об ожидающих заявках по уровню, которые ожидают определенной стоимости ценных бумаг перед тем, как торговые заявки будут отправлены на рынок. Префикс таблицы: TR_
2.2.5.9 TRADE_TYPE Таблица содержит список допустимых типов торгов. Префикс таблицы: TT_
Содержимое таблицы TRADE_TYPE показаны ниже для читаемости, поскольку значения TT_ID используются в других местах спецификации.
2.2.6 Рыночные таблицы Эта группа таблиц содержит информацию о биржах, компаниях и ценных бумагах, создающих рынок. 2.2.6.1 COMPANY Эта таблица содержит информацию обо всех компаниях со свободно торгуемыми ценными бумагами. Префикс таблицы: CO_
2.2.6.2 COMPANY_COMPETITOR Эта таблица содержит информацию о конкурентах указанной компании и области индустрии, в которой конкурирует компания. Префикс таблицы: CP_
2.2.6.3 DAILY_MARKET Таблица содержит дневную рыночную статистику по каждому виду ценных бумаг, используя данные закрытия рынка с последнего завершенного торгового дня. EGenLoader будет заполнять эти таблицы данными по всем ценным бумагам за период, начавшийся 3 Января 2000 и заканчивающийся 31 Декабря 2004. Префикс таблицы: DM_
2.2.6.4 EXCHANGE Эта таблица содержит информацию о финансовых биржах. Префикс таблицы: EX_
2.2.6.5 FINANCIAL Эта таблица содержит информацию о квартальных финансовых отчетах компании. EGenLoader будет заполнять эту таблицу финансовой информацией по каждой компании по кварталам, начиная с 1 Января 2000 и заканчивая кварталом, который начинается 1 Октября 2004. Префикс таблицы: FI_
2.2.6.6 INDUSTRY Эта таблица содержит информацию об индустриях. Используется для распределения компаний по категориям согласно тому, какая компания к какой индустрии принадлежит. Префикс таблицы: IN_
2.2.6.7 LAST_TRADE Таблица содержит один ряд для каждого вида ценных бумаг с последней стоимостью и объемом торгов по каждому виду. Префикс таблицы: LT_
2.2.6.8 NEWS_ITEM Эта таблица содержит информацию о новостных сюжетах, представляющих интерес. Префикс таблицы: NI_
2.2.6.9 NEWS_XREF Таблица содержит перекрестные ссылки с новостного сюжета на компании, упомянутые в новостных сюжетах. Префикс таблицы: NX_
2.2.6.10 SECTOR Эта таблица содержит информацию о секторах рынка. Префикс таблицы: SC_
2.2.6.11 SECURITY Эта таблица содержит информацию по каждому виду ценных бумаг, торгуемых на любой из бирж. Префикс таблицы: S_
2.2.7 Таблицы размерности Эта группа таблиц включает 4 таблицы измерений, содержащих общую информацию, такую как адреса или почтовые коды. 2.2.7.1 ADDRESS Эта таблица содержит информацию об адресе. Префикс таблицы: AD_
2.2.7.2 STATUS_TYPE Эта таблица содержит все значения статуса для нескольких различных ипользований статусов. Многие таблицы обращаются к этой таблице для получения их значений статусов. Префикс таблицы: ST_
Содержимое таблицы STATUS_TYPE показано ниже для читаемости, поскольку значения ST_ID используются в других местах спецификации.
2.2.7.3 TAXRATE Эта таблица содержит информацию о налоговых ставках. Префикс таблицы: TX_
2.2.7.4 ZIP_CODE Таблица содержит zip и почтовые коды, города и отделения, расположенные в них. Префикс таблицы: ZC_
2.3.1 Физическая кластеризация записей в пределах базы данных разрешена. 2.3.2 Все таблицы, необходимые TPC-E, должны иметь корректно масштабированное количество рядов, как определено требованиями к наполнению базы данных, приведенных в Пункте 2.6. 2.3.3 Разделение таблиц 2.3.3.1 Допустимо горизонтальное разделение таблиц. Группы рядов из таблицы могут быть назначены в разные файлы, диски или области. В случае использования в реализации, детали этого разделения должны быть внесены в Отчет. 2.3.3.2 Допустимо вертикальное разделение таблиц. Группы колонок одной таблицы могут быть назначены файлам, дискам или областям, отличным от тех, что хранят остальные колонки этой таблицы. В случае использования в реализации, детали такого разделения должны быть внесены в Отчет (см. Пункт 2.5 для информации по ограничениям). 2.3.3.3 Назначение данных в различные файлы, диски, области, не основанное на знании логической структуры данных (например, знание границ рядов и колонок), не считается разделением. Например, распределение по нескольким дискам файла, который хранит одну или более логических таблиц, не считается разделением до тех пор, пока это распределение оборудованием или программным обеспечением без ведома о логических структурах, хранимых в файле. 2.3.4 Репликация допустима для всех таблиц. Все копии реплицированных таблиц TPC-E должны соответствовать требованиям ACID, как определено в Пункте 7.2, 7.3 и 7.4. В случае использования в реализации, детали такой репликации должны быть включены в Отчет. Примечание: Только одна копия реплицированной таблицы TPC-E должна соответствовать требованиям Устойчивости, указанным в Пункте 7.5. 2.3.5 Колонки могут быть добавлены и/или дублированы из одной таблицы TPC-E в другую до тех пор, пока эти изменения не улучшают производительность. 2.3.6 Каждая колонка TPC-E, как описано определением таблицы в Пункте 2.2, должна быть логически отдельно и независимо доступна СУБД. Например, ADDRESS.AD_LINE1 и ADDRESS.AD_LINE2 не могут быть реализованы как два части одной колонки ADDRESS.AD_LINE. 2.3.7 Каждая колонка TPC-E, как описано определением таблицы в Пункте 2.2, должна быть доступна СУБД как одна колонка. Например, колонка NEWS_ITEMS.NI_ITEM не может быть реализована как две отдельные колонки NEWS_ITEMS.NI_ITEM1 и NEWS_ITEMS.NI_ITEM2.. 2.3.8 Основной ключ каждой таблицы не должен напрямую представлять адреса ряда на физическом диске или их смещения друг от друга. Приложениям не позволяется обращаться к рядам, используя относительную адресацию, поскольку это является всего лишь смещением от начала области хранения. Это не исключает схемы хеширования или иные способы организации файлов, которым требуется добавление, удаление и изменение записей в ходе обычного процесса обработки. Примечание 1: целью данного Пункта является, чтобы Прикладная программа (см. Пункт 1.2), выполняющая транзакцию или отправляющая запрос транзакции, использовала не физические, а логические идентификаторы для всех обращений, и не содержала какого либо кода, написанного пользователем, который переводит или служит переводу логического ключа в местоположение внутри таблицы ассоциированного ряда или рядов. Например, для Приложения является нелигитимным построение «таблицы перевода» из логических в физические адреса и использование её для увеличениея производительности. Примечание 2: Внутренние записи или указатели, например, Tuple ID или курсоры, могут быть использованы в следующих условиях. Для каждой исполняемой транзакции, начальный доступ к любому ряду должен быть осуществлен через колонку(и), указанные в Профиле транзакции, и никакие другие колонки. Начальный доступ включает ввод, удаление, изъятие и обновление любого ряда. 2.3.9 Несмотря на то, что операции ввода и удаления выполняются не во всех таблицах, система не должна быть настроена для получения преимущества из этого факта во время теста. Хотя операции ввода врожденно ограничены размером доступного пространство хранилища настроенной системы, не должно быть ограничения на ввод в любую из таблиц, не являющихся Растущими, минимального количества рядов, равного до 5% размера таблицы. Примечание: Является требованием, что объем для хранения дополнительных 5% размерности таблицы (и соответствующего роста в связанных с этим Определенных пользователем Объектов, таких как индексы) должен быть настроен для Выполнения теста и оценен (как Фиксированное пространство из Пункта 6.6.6.2) соответственно. Для систем, где пространство настраивается и динамически выделяется позже, это пространство должно рассматриваться как выделенное и включено в Фиксированное пространство во время оценки. 2.3.10 Реализация объекта BLOB должна соответствовать следующим свойствам:
Примечание: Реализация BLOB в таблице NEWS_ITEM может быть выполнена посредством либо конкретного включения BLOB в таблицу, или использование ссылки на BLOB объект, хранящийся где либо еще в Тестируемой системе. 2.3.11 Объекты, определенные пользователем. Объект, определенный пользователем. User-Defined Object 2.3.11.1 На Объекты, определенные пользователем, не существует ограничений, в случае если:
2.4.1 В любом Подтвержденном состоянии значения Основных ключей в пределах каждой таблицы должны быть уникальны. Например, в случае горизонтально разделенной таблицы, Основные ключи рядов во всех разделах должны быть уникальны. 2.4.2 В любом Подтвержденном состоянии в базе данных не должно присутствовать ни одного неполноценно сформированного ряда. Неполноценно сформированный ряд возникает, когда значение любой колонки не может быть определено. Например, в случае вертикально разделенной таблицы, ряд должен присутствовать во всех разделах. 2.4.3 Для всех отношений Внешних ключей (FK) и Основных ключей (PK), определенных между талицами ТРС-Е, базой данных должна соблюдаться Целостность ссылок (RI). Примечание: Целостность ссылок предназначена для сохранения связей данных между таблицами путем ограничения действий, выполняемых на Основном и Вторичном ключе в таблице. Целостность ссылок предотвращает удаление рядов, содержащих Основные ключи, на которые ссылаются Внешние ключи в других таблицах базы данных без одновременного удаления рядов с соответствующими/ссылающимися Внешними ключами. Целостность ссылок также предотвращает добавление рядов, содержащих Внешние ключи, ссылающихся на Основные ключи, ряды которых уже не существуют в базе данных. Целостность ссылок не позволяет вносить изменения в Основные ключи в рядах, на которые ссылаются Внешние ключи в других таблицах базы данных без одновременного изменения соответствующего/ссылающегося Внешнего ключа для соответствия новому Основному ключу. 2.5 Требования прозрачности доступа к данным Прозрачность доступа к данным это свойство системы, которое удаляет из Прикладной Программы любую информацию о нахождении и механизмах доступа к распределенным данным. Реализация, использующая вертикальное и/или горизонтальное разделение должно соответствовать требованиям прозрачности доступа к данным, описанным здесь. Примечание: Целью данного пункта является установление требования, что доступ к физически и/или логически разделенным данным предоставляется непосредственно и прозрачно службами, реализованными коммерчески доступными уровнями, лежащими ниже Прикладной программы, такими как менеджер данных/файлов (СУБД), Операционная система, оборудование или любая их комбинация. 2.5.1 Каждая из таблиц, описанных в Пункте Ошибка! Источник ссылки не найден., (и любые дополнительные таблицы, используемые в реализации Транзакций) должна быть идентифицируема по её названию, которое не имеет отношения к разделению таблиц. Все операции по работе с данными в Прикладной программе (см. Пункт 1.2) должны использовать только эти названия. 2.5.2 Система должна предотвращать любые операции обработки данных, использующие названия, описанные в Пункте 2.5.1, которые приведут к нарушению правил целостности (см. Пункт 2.4). Например: система должна предотвратить подтверждение не-TPC-E приложением ввода ряда в вертикально разделенную таблицу если только не вводятся все разделы этого ряда. 2.5.3 Используя названия, соответствующие написанному в Пункте 2.5.1, любое случайное не-TPC-E приложение должно быть способно обрабатывать любой набор рядов или колонок:
Например, семантика и синтаксис, используемые для обновления случайного набора рядов в любой таблице также должны быть используемы для обновления другого случайного набора рядов в любой другой таблице. Примечание: целью этого является использование Прикладной программой TPC-E для управления данными в базе данных механизмов общего назначения. 2.6 Размер базы данных и размерность таблиц TPC-E Загрузка транзакций, созданная для обслуживания счетов клиентов и взаимодействия с финансовыми рынками управляет производительностью контрольного теста TPC-E. Для увеличения производительности должно быть сконфигурировано больше клиентов и связанных с ними данных. Размерность таблицы CUSTOMER это основа размера и масштабности базы данных TPC-E. Размерность таблицы CUSTOMER устанавливается, основываясь на требованиях к оценке производительности транзакций, определенных в Пункте 6.6.7. Сконфигурированные клиенты – количество клиентов (с соответствующими рядами в ассоциированных таблицах TPC-E), сконфигурированных во время создания базы данных. Тест TPC-E включает три типа требований к размерам его таблиц:
Примечание: таблицы HOLDING и HOLDING_SUMMARY считаются Растущими таблицами. Во время выполнения контрольного теста ряды добавляются и удаляются из таблиц HOLDING и HOLDING_SUMMARY, но средний размер таблиц продолжает расти с незначительной скоростью во время Стабильного состояния. Таблица TRADE_REQUEST также считается Растущей таблицей, даже несмотря на то, что ее средний размер является фиксированным отношением к уровню производительности транзакций, а не к размеруности таблицы CUSTOMER. 2.6.1 Требования к размерам изначальной базы данных 2.6.1.1 Тестовая база данных должна быть изначально наполнена данными, сгенерированными EGenLoader. По умолчанию, предоставляемый TPC EGenLoader создает верное число рядов для каждой таблицы. Тестовая база данных должна быть построена с использованием изначального наполнения базы данных и Объектов, определенных пользователем, существующих непосредственно перед первым Выполнением теста. Изначальное наполнение базы данных базируется на количестве клиентов. Организатор контрольного теста выбирает размерность таблицы CUSTOMER, отталкиваясь от желательной производительности транзакций. В Пункте 0 дается определение Номинальной производительности, которая может быть предоставлена для заданного числа рядов таблицы CUSTOMER. Минимальное число рядов для таблицы CUSTOMER равно 5000. Размер таблицы CUSTOMER может быть увеличен приращениями в 1000 клиентов. Группа из 1000 клиентов называется Единицей обработки. 2.6.1.2 Растущие таблицы заполняются изначальным набором рядов, достаточным для поддержания функций всех транзакций тестирования. 2.6.1.3 Масштабирующий коэффициент – это число рядов клиентов на одну транзакцию-в-секунду. Масштабирующий коэффициент для Номинальной производительности равен 500. Начальные дни торгов (Initial Trade Days (ITD)) – это Рабочие дни, использующиеся для наполнения базы данных. Это наполнение производится торговыми данными, генерируемыми SUT, работающей на Номинальной производительности заданное количество Рабочих дней. Количество Начальных дней торгов равно 300. 2.6.1.4 Количество сконфигурированных Еиниц обработки должно быть равно количеству Единиц обработки, к которым был осуществлен непосредственный доступ во время Выполнения теста. 2.6.1.5 Нижеприведенные переменные используются для определения размерностей таблиц TPC-E:
2.6.1.6 Для определения размерностей Растущих и Масштабируемых таблиц EGenLoader используются следующие правила. Пакет EGen использует генераторы случайный числе для установки числа рядов информации об отношениях, как то количество ценных бумаг на счет, и, как следствие, размерность некоторых таблиц TPC-E может быть оценена лишь приблизительно.
2.6.1.7 Следующий список содержит размерности Фиксированных таблиц.
2.6.1.8 Следующий список содержит размерности масштабируемых таблиц.
2.6.1.9 Следующий список отображает изначальную размерность Растущих таблиц.
2.6.2 Требования к размеру базы данных во время Выполнения теста. 2.6.2.1 Следующий список отображает увеличение Растущих таблиц (кроме TRADE_REQUEST), выраженное в количестве рядов в секунду во время Выполнения теста. Скорость роста может упасть после работы в течение большого количества дней.
Таблица TRADE_REQUEST пуста в момент начала Выполнения теста и поначалу растет во время работы, но вскоре достигает величины, зависящей от текущей производительности, а не длительности Выполнения теста. Приближенный размер таблицы TRADE_REQUEST во время Стабильного состояния Выполнения теста может быть оценен как ~60 рядов * Измеренную производительность (см. Пункт 0). Значительные изменения этой величины возможны как во время работы, так и в завершении Выполнения теста. 2.6.2.2 Тестовая база данных должна быть создана для обеспечения Отчетной производительности в течение Рабочего дня. Это означает, что в тестовой базе данных должно быть достаточно дополнительного свободного места для хранения данных, индексов и журналов за полный рабочий день. Это не включает в себя выполнения на базе данных любой операции, которая не возникает во время Интервала измерения.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Статья: Глава 2 - Проектирование, масштабирование и наполнение базы данных | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Перейти на главную страницу компании "Софтпоинт" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||