Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Выбор БД для системы распознавания.  [new]
api
Member

Откуда:
Сообщений: 2
Система написана на C++(алгоритмы распознавания), C# все остальное: служба распознавания, клиент системы.
Всего четыре компа абсолютно одинаковых (SUPERMICRO, SCSI, 2Мб кэш и др фарш). WinXPSP1.
Сервер БД - MSSQL2000DE - отдельный комп. Он же рабочее место оператора. Остальные три компа работают над распознаванием типоразмеров заготовок, идущих по трем конвейерам с частотой 2~6 сек. Для каждой заготовки сохраняется информация о типоразмере, времени прохода, фотография (JPEG ~55KB) и др. При низкой уверенности алгоритма распознавания сохраняется десять фотографий (по пять с каждой из видеокамер) для соответствующей заготовки. Система работает в режиме 24/7. В год генерируется до 6 млн записей. Правда фотографии удаляются через 4 суток. Система хранит все данные кроме фотографий до 5 лет. На данный момент система проработала один год. Размер БД - 4~8Гб в зависимости от качества маркировки партий заготовок.

Возникла необходимость резервирования баз данных с возможностью запросов отчетов из резервной(ых) копии при аварии основного сервера. Попробовал решение в лоб - поставить MSSQL2000DE на каждый комп и резервировать параллельно. И вот какая гадость получилась: оказывается служба сервера MSSQL2000DE может иногда отбирать процессор у остальных процессов на время до 1 сек и более. Несмотря на то, что потоки службы распознавания имеют максимальный приоритет, это происходит и этого достаточно для пропуска заготовки (сигнал стоит 750 мсек). Замерялось с помощью вспомагательного микроконтроллера в системе. Мало того - это происходило не раз, когда на одном из компов распознавания стоял вхолостую (без обращений к нему) MSSQL2000DE, что выяснилось только в процессе этих разборок.

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

Попробовал SQLite 3 - не так уж и плохо, но с ростом записей вставка все медленней и медленней, хотя изначально, в режиме открытой транзакции она примерно равна по времени с MSSQL. При автоматических транзакциях - все совсем грустно: 10 вставок в секунду.

Подскажите варианты.

Спасибо.
28 авг 06, 21:29    [3063507]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
Спроси на форуме MSSQL - это похоже на особенности реализации ограничений этой бесплатной версии БД (притормаживание). Где-то здесь на форуме это уже обсуждалось.
Мне не совсем понятна цель переноса БД на каждый рабочий комп, который фактически работает в режиме real-time. Я бы этого не делал.
Далее, под резервированием ты скорее всего называешь репликацию - поддержание копии данных на другом сервере. Это можно сделать как ручками, так и используя встроенные средства СУБД. Если интересно, поищи по словам replication MySQL (SQL Server, etc)

--
Антон
Per rectum ad astrum
28 авг 06, 22:21    [3063589]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
попробуйте что-нить из RT баз. Но за бесплатно такие вещи не отдаются. Или ObjectStore PSE для C++. А многопользовательский доступ сам, если есть заготовки.
29 авг 06, 00:07    [3063815]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
ANTS попробуйте. На ins,upd,del отлично. Но тоже платно.
29 авг 06, 00:10    [3063820]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
У нас есть система учета действий пользователей Oracle, основанная на перехвате и разборе сетевого трафика. В день в базу пишется порядка 10 млн. записей, после полутора лет эксплуатации база 200 Гб. Сервер обычный, двухпроцессорный, памяти гиг. База данных - CACHE
29 авг 06, 08:18    [3064091]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
api
Member

Откуда:
Сообщений: 2
Anton Demidov

Далее, под резервированием ты скорее всего называешь репликацию - поддержание копии данных на другом сервере. Это можно сделать как ручками, так и используя встроенные средства СУБД. Если интересно, поищи по словам replication MySQL (SQL Server, etc)


Как бы это ни называлось оно должно работать хотя бы на одном из трех распознающих компах, не мешая процессу.
Для репликации уменя руки не из того места росли - не смог нормально настроить на оффисных компах при разработке. А синхронность баз в моем варианте обеспечивается алгоритмом.

Всем спасибо за время, потраченное на мою проблему.
29 авг 06, 10:21    [3064491]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54751

api

Как бы это ни называлось оно должно работать хотя бы на одном из трех
распознающих компах, не мешая процессу.

БД должна крутиться на отдельном компе. Это базовое правило.

Posted via ActualForum NNTP Server 1.3

29 авг 06, 10:31    [3064549]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
Valer
Member

Откуда:
Сообщений: 284
двухпроцессорные машины могут помочь
sql работает с 1 процессором
операционка и прочее на другом
29 авг 06, 11:57    [3065178]     Ответить | Цитировать Сообщить модератору
 Re: Выбор БД для системы распознавания.  [new]
хламист
Guest
можно посмотреть в сторону msmq: пусть службы распознавания кидают сообщения в очередь, на сервере бд организовать прослушку очереди, обработку сообщений и запись в бд
29 авг 06, 16:30    [3067475]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить