|
|
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
Для работы с БД Oracle используетс Entity Framework (.NET 3.5) как лучше организовать структуру Создаю небольшую технологическую БД где необходимо хранить параметры ( имя ед. измерения аварийные границы и т.д., срок хранения тип ) и их значения строковые,целые либо с плавающей точкой + фиксацией даты и время этого значения Количество параметров от 1000 , частота импорта значения от 1сек. (ежечасно,сутки и т.д.) Каким образом реализовать структуру БД для хранение данных и их выборки с точки зрения профессионалов? Правильно ли использовать такую структуру ? Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. на таблицу ХРАНИЛИЩА вешаю триггер before_insert где создаю доп. таблицу с заданной структурой и типом поля хранения exec_str:= 'CREATE TABLE Store_'||:NEW.store_id||' (p_id NUMBER NOT NULL, p_date date, p_val '||:NEW.oracle_type||' NOT NULL)'; execute immediate exec_str; так же удаляю триггером Может есть путь легче? Как выбирать данные из таблиц хранилищ? STORE_1......N c полем p_val разного типа при помощи VIEW? PROCEDURE? Спасибо! буду признателен за любую критику и помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2010, 12:07 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
Не делайте так, слишком маленькая скорость. Никаких триггеров, никаких Entity. Только bulk из промежуточных буферов. Сделайте макет и погоняйте на 1000 параметров. См. упрощенный пост 7704822 и тему до конца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2010, 15:21 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
SiemarglНе делайте так, слишком маленькая скорость. Никаких триггеров, никаких Entity. Только bulk из промежуточных буферов. Сделайте макет и погоняйте на 1000 параметров. См. упрощенный пост 7704822 и тему до конца. Спасибо за ответ. Триггеры нужны только для создания хранилищ, в процессе конфигурации системы. Поэтому на производительности это не отразиться, а вот корректная ли структура БД? В форуме по этой теме http://www.sql.ru/forum/actualthread.aspx?tid=726753&456 не советуют создавать таблицы динамически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 09:17 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
g_box, не сочтите за off :) случайно, не в СургутНефтеГазе трудишься? Дело в том, что когда-то на некие ЦППН'ы поланировалось под задачи АСУ ТП ставить Wonderware Industrial Sql Server. (я тогда в конторе, которая этим занимается трудился) Эта штуковина как раз и заточена под интересующие тебя задачи. Я к чему. Если есть возможность, то можно ознакомиться с "передовым международным опытом" на практике :) Если нет, то может имеет смысл погуглить на эту тему, вдруг где накопаешь некие интересные идеи, заложенные в это дело. ЗЫ Ядро в Industrial Sql Server от MS SQL, но концепция структуры может поможет. Удачи Шайтан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 10:31 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
g_box Может есть путь легче?За DDL в триггерах в форуме по Ораклу выпускают кишки тупым ножом. Ибо выгоды такого решения сомнительны, а сопровождение вываливается в геморрой. g_box Спасибо! буду признателен за любую критику и помощьДля начала опишите задачу. Из первого поста я понял, что у вас есть необходимость сохранять в базе Oracle некую инфу о параметрах. Что предполагается делать с инфой? Изменять, запрашивать, удалять? О каких объемах идет речь? Есть ли специфические требования типа сохранить любой ценой. Какие приоритеты типа - скорость выборки самое главное, а вставка подождет. Версия и редакция Оракла - возможно то что вы хотите уже реализованно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2010, 17:16 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
SERG1257Для начала опишите задачу. Из первого поста я понял, что у вас есть необходимость сохранять в базе Oracle некую инфу о параметрах. Что предполагается делать с инфой? Изменять, запрашивать, удалять? О каких объемах идет речь? Есть ли специфические требования типа сохранить любой ценой. Какие приоритеты типа - скорость выборки самое главное, а вставка подождет. Версия и редакция Оракла - возможно то что вы хотите уже реализованно. Задача: Организовать сбор, хранение и анализ технологической информации Параметр должен иметь имя,ед.измерения, тип,срок хранения, аварийные и пред . аварийные границы ... Возможность проверки ввода данных (обязательный,границы,RegEx фильтры) Значения могут быть целыми, с плавающей точкой, строковыми Информация необходима для анализа: больше запрашивать, реже изменять и удалять Объемы от 1000 параметров до 10000 параметров частотам приема разная от 30сек до 1 раз в квартал к примеру 500 параметров каждые 30 секунд 3000 раз в час 1000 раз в 2 часа 1000 раз с сутки и т.д. 500 раз в месяц 100 раз в квартал Спец требования работа системы в постоянном режиме (круглосуточно) Вставка описана выше, выборка помимо мониторинга 30сек данных и построения графиков, формирования сводных отчетов по часовым суточным данным, сложных отчетов анализа данных с начало смены, с начало недели, месяца, года + есть отчеты в которых присутствует все выше перечисленное планируется использовать Oracle 10g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2010, 07:52 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
Шайтанg_box, не сочтите за off :) случайно, не в СургутНефтеГазе трудишься? Шайтан Нет но туда я чуть не устроился в АСУ Нефть Спасибо за ответ, посмотрю но скорее всего Oracle В данной системе реального времени не планируется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2010, 08:04 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
g_box Параметр должен иметь имя,ед.измерения, тип,срок хранения, аварийные и пред . аварийные границы ...Очевидна таблица параметров в которой вы запишете о параметрах все что знаете. Как вы нормализуете эту таблицу особой роли не играет (на несколько тысяч значений и нечастых обновлениях) g_box Возможность проверки ввода данных (обязательный,границы,RegEx фильтры)А вот с этого момента поподробнее. Что делать со значением не прошедшим проверку - вставить, тихо похерить, вернуть ошибку вставляльщику. Какой должна быть вставка - синхронной, асинхронной. Что будет если база (неважно по каким причинам) не будет способна принимать значения (они пропадут, будут где-нибудь накапливаться, вставлятель будет ждать) Для таких задач напрашивается использование буфера (на клиенте в виде файла или на сервере в виде промежуточной таблице), но тогда будет определенный период когда данные уже вставлены но еще не видны. Строковые значения параметров сильно выбиваются из списка и возможно заслуживают отдельной таблицы (а не отдельного поля) Как спроектировать таблицы для выборок (таблицу фактов), как ее секционировать (вы не указали редакцию или готовность купить partitioning option), индексировать и т.д. зависит от ваших отчетов. В самом худшем случае (SE), я рекомендую хотя бы ручное секционирование на базе вьюх (полтора миллиона строк в сутки довольно быстро этого потребуют) Таким образом в первом приближении Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. g_boxСпец требования работа системы в постоянном режиме (круглосуточно)Чтение или запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2010, 21:51 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
автор хотя бы ручное секционирование на базе вьюх вы имеете в виду на базе мат.вьюх? Если нет, то поясните в двух словах пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2010, 00:19 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
g_box, для этого есть специальные параметрические базы данных PHD (Honeywell), PI Server(OSIsoft), InfoPlus.21 (AspenTech) Вы пытаетесь изобрести велосипед, не представляя того, насколько глубока заячья нора...? Почитайте в интернете про них... Если конечно не хотите устроить 2-ую СШГЭС... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 11:28 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
ineedyou вы имеете в виду на базе мат.вьюх? Если нет, то поясните в двух словах пожалуйста http://www.sql.ru/articles/mssql/2005/073102PartitionedTablesAndIndexes.shtml#22 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 17:25 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
g_box Задача: Организовать сбор, хранение и анализ технологической информации Параметр должен иметь имя,ед.измерения, тип,срок хранения, аварийные и пред . аварийные границы ... Возможность проверки ввода данных (обязательный,границы,RegEx фильтры) Значения могут быть целыми, с плавающей точкой, строковыми Все, что описано выше, легко реализуется в 2 программных продуктах от AspenTech 1. InfoPlus.21 2. Process Explorer минимум программирования, в основном настройки... в инете можно скачать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2010, 13:32 |
|
||
|
Проектирование технологической БД
|
|||
|---|---|---|---|
|
#18+
g_box, вообще, все это очень легко делать в XDB. База проектируется влет. Файл с параметрами кладется в репозитарий по FTP. Там он парсится, а данные размещаются в объектах Oracle. Анализруйте данные сколько вам слезет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2010, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36415160&tid=1542811]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 457ms |

| 0 / 0 |
