Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по структуре базы / 3 сообщений из 3, страница 1 из 1
10.10.2006, 15:27
    #34044738
kogor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по структуре базы
Привет всем!
Имеется в наличии машина pSeries с AIX'ом и на ней стоит DB2 EE 8.2. ОС и СУБД работают в 64х битном режиме. Сейчас рисую структуру будующей базы и в процессе возник следующий вопрос. В одной из основных таблиц сначала хотел сделать так:

ARCHMSG" (
MSG_ID" CHAR(36) NOT NULL ,
"ARCH_MSG_ID" BIGINT NOT NULL ,
"GROUP_ID" CHAR(50) ,
"FROM" VARCHAR(255) NOT NULL ,
"SUBJECT" VARCHAR(255) ,
"PUT_TIME" TIMESTAMP,
"TEXT" CLOB(104857600) LOGGED COMPACT
)

И сделать MSG_ID первичным ключом. приходит он в чаре, и выборка будет по нему вместе с ним будет выбираться ARCH_MSG_ID, и по нему уже выборка из других таблиц.
Но потом подумал, и решил все-таки сделать отдельно таблицу соответствия
ARCH_MSG_ID <-> MSG_ID

"MSG2ARCH" (
"MSG_ID" CHAR(36) NOT NULL ,
"ARCH_MSG_ID" BIGINT
)
Т.к. будет куча отдельных описательных мелких таблиц в которых будет вторичный ключ на ARCH_MSG_ID. Из них нужно будет делать селекты (приблизительно от 10 до 50 в секунду) Создал таблицу MSG2ARCH также из за того , что наличие CLOBа несколько смущает, не будет ли падения производительности при выборе из большЕй таблицы, чем из MSG2ARCH?

И еще вопрос по производительности:
первичный ключ можно сделать Integer По моим прикидкам его должно хватить на нужный срок хранения, но вот возникли сомнения. Может быть лучше сделать праймари кей BigInt'ом. Он как раз 64бита, как ДБ2 и Аикс, может быть select по BigInt'у будет быстрее, чем по Integer , который 32бита?

В ТЗ заданы требования 10000 сообщений в сутки. Размер CLOB'a ожидается от 0 до 4МБ.

Спасибо всем за любую информацию и помощь!
...
Рейтинг: 0 / 0
10.10.2006, 18:22
    #34045354
Nikolay Kulikov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по структуре базы
Ты не смотри только на скорость сравнения. Нужно смотреть еще и на стоимость хранения на сколько вырастет у тебя IO из-за того что у тебя данные будут занимать в 2 раза больше.

p.s. Что будет в сообщениях?
...
Рейтинг: 0 / 0
11.10.2006, 00:17
    #34045803
kogor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по структуре базы
С базой будет работать MessageBroker, сообщения будут браться из MQ очереди. Сообщение будет приходит в SOAP формате, который брокер будет разбирать и класть в базу. В поле CLOB будет текст из этого сообщения, как я писал от 0 до 4х МБ. Будет еще одна табличка, куда будут складываться сообщения из этой же MQгруппы, ну а так эти сообщения будут приходить в BLOBe, то и соответсвенно в таблицу(отдельная таблица, здесь не описаная, для хранения сегментов) класться тоже как BLOB.
Ну да, объем вырастет в два раза в случае использования BigInt'а. Получается скорость при увеличении размера таблицы будет падать. Логично.
P.S. А что насчет создания дополнительной таблицы MSG2ARCH? Оно обоснованно или можно было бы оставить как было изначально - все в одной таблице?
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по структуре базы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]