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

Откуда:
Сообщений: 87
Суть проблемы такова : есть поток в 600 сообщений в сек . его надо хранить некоторое время для анализа траблов. Всего выходит около 100 млн записей хранения. Какую СУБД можно использовать ? Оракл загибаеться на выборке - т.к. нужно брать его в хронологическом порядке .Berkley DB скорее напоминвет файловый кеш и лишена всякого интерфеса базы ... Что делать ??? Дайте совет !
2 фев 06, 09:24    [2311955]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
aZm
Member

Откуда:
Сообщений: 2357
у вас реалтайм жесткий или мягкий? если жесткий - начать с выбора железа и оси реального времени. если мягкий... то поиск как всегда рулит

---
No Pity. No Mercy. No Regret.
2 фев 06, 09:37    [2311990]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
fox155
Member

Откуда:
Сообщений: 87
железо сервак с райдом - ось Linux 7.3 ....
2 фев 06, 09:43    [2312013]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
fox155
Суть проблемы такова : есть поток в 600 сообщений в сек . его надо хранить некоторое время для анализа траблов. Всего выходит около 100 млн записей хранения. Какую СУБД можно использовать ?[quot fox155]
Ссылку уже дали - если потери сообщений не допустимы, то напрямую писать в БД нельзя, нужно сначала где то фиксировать эти сообщения, а уж потом переносить в БД, иначе любой чих сервера БД и прощай сообщения.

[quot fox155]Оракл загибаеться на выборке - т.к. нужно брать его в хронологическом порядке.

Как понять загибается ? Что за выборки, какова выборочность запросов ?
2 фев 06, 09:48    [2312034]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Вот так правильней :
fox155
Суть проблемы такова : есть поток в 600 сообщений в сек . его надо хранить некоторое время для анализа траблов. Всего выходит около 100 млн записей хранения. Какую СУБД можно использовать ?

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

fox155
Оракл загибаеться на выборке - т.к. нужно брать его в хронологическом порядке.

Как понять загибается ? Что за выборки, какова выборочность запросов ?[/quot]
2 фев 06, 09:48    [2312037]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
fox155
Member

Откуда:
Сообщений: 87
select * from table

WHERE TRTDTS_RAWMSG.msgcode=12
2 фев 06, 09:59    [2312066]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
fox155
Member

Откуда:
Сообщений: 87
select /*+ INDEX(I1_table) */
table.a,table.b .....
from table
WHERE table.msgcode=12
table.arrivaltime>:Lastarrivaltime and
table.arrivaltime<=:Lastarrivaltime+INTERVAL '1' MINUTE
ORDER BY table .arrivalt

все это дергаеться приложением через OCI получаеться курсор - раскручиваеться и т.д. И когда записей около 100 млн он просто долго думает :)
2 фев 06, 10:05    [2312091]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
Yo.!!
Guest
для таких выборок ты ничего лучше оракла не найдешь. разбей таблицу на партиции по полю arrivaltime, дальше если такой селект каждый раз запускается значит можно просто сделать индекс по фунции котрая будет вычислять номкр интервала и еще тьма вариантов, формулируй задачу яснее.
2 фев 06, 10:26    [2312177]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
AlexTheRaven
Member

Откуда: Москва
Сообщений: 879
fox155
Дайте совет !

Как здесь принято говорить,тынц. Обещают не 600, а 8000. Тем более, IBM в последнее время делает подарки. Хотя запрос запросу рознь.

Если источник данных один, ещё можно посоветовать взять много оперативки и SCSI 320 жёсткий диск, а лучше - твердотельное хранилище, которое раз в 1000 быстрее, и попробовать FoxPro или что-нибудь другое файл-серверное.

В любом случае, железо должно быть первосортным, а ручки - прямыми.

Хотя гарантированного времени реакции системы ничего из выше описанного не обеспечит. Я бы сказал, что для настоящего realtime ни Ethernet, ни выпускаемые крупными сериями платформы (кроме, как ни странно, используемых в некоторых смартфонах), ни сколь-нибудь распространённые ОС не подходят.
2 фев 06, 10:29    [2312194]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Поддерживаю, DB2 будет поприятнее смотреть, чем Оракл, что на вставках, что на выборках.
2 фев 06, 10:42    [2312270]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
И еще по MQ почитать. Может это про вашу тему?
2 фев 06, 11:21    [2312481]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
Alexey Rovdo
Member

Откуда: Москва
Сообщений: 913
Посмотрите Versant Object Database и Versant FastObjects (www.versant.com). При определенных условиях это может оказаться самым верным выбором в вашем случае. Во всяком случае, в схожих условиях эти объектные СУБД показывают гораздо большую производительность по сравнению с тем же Oracle.
2 фев 06, 11:41    [2312574]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
Rus000
Member

Откуда: Красноярск
Сообщений: 317
а в чем хотите выиграть - на оперециях вставки (600/Сек) или операциях выборки? в зависимости от этого и нужно организовывать структуру БД и индексов на ней.
7 фев 06, 10:35    [2328026]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
ggv
Member

Откуда:
Сообщений: 1810
интересная задача.
Был у меня несколько лет проект, по VoIP биллингу.
Задача была обсчитать 500 одновременных звонков в секунду.
На каждый звонок от двух (подавляющее меньшенство случаев) до 10 (меньшенство случаев). Среднее значение было четыре legs (терминология cisco) на звонок. Приходящих с разных концов света, от разных маршрутизаторов, задействованных в звонке. С размером чуток меньше 600 B (ну размер можно менять на radius сервер, только кошководы хотели именно такой перечень инфы) .
Постым арифметическим подсчетом можно узнать требуемую полосу пропускания на биллинговом сервере только для этих пакетов.
все построили на MQ (транспорт и монитор транзакций) и DB2 workgroup edition (LDAP в реализации IBM tivoli DS использовался для authentication, authorization, role based access, и место хранения всех контрактов, иерархии продавцов/реселлеров, клиентов, сервисов, и прочая, все, что было нужно представить древовидно)
В первую же новогоднюю ночь кол-во звонков переплюнуло запланированный максимум. Кошководы и совладельцы неспали ночь, мониторя свои кошки и каналы, а каналы загибались, кошки давали отказ в обслуживании клиентам, но ни один пакет небыл потерян.
Я это к чему. При правильном проектировании индустрия представляет практически неограниченный выбор средств для решения задач.
Я выбрал вышеописанный.
7 фев 06, 11:03    [2328240]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
ggv
Member

Откуда:
Сообщений: 1810
сейчас хочу внести в проект еще один продукт - Message Broker.
Не для повышения пропускной способности, а для облегчения переносимости бизнес логики и упрощения/ускорения разработки.
Но это уже так, в целях научного интереса, потому как давно ушел из компании, которая это эксплуатирует и владеет бизнесом.
7 фев 06, 11:05    [2328263]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
тлгдшлщм
Guest
Если нужна работа с хорошим временем отклика и с учетом данных a-la timeseries
я бы смотрел в сторону Informix.

http://www-306.ibm.com/software/data/informix/blades/timeseries/
http://www-306.ibm.com/software/data/informix/blades/realtimeloader/
7 фев 06, 11:15    [2328318]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
Выбегалло
Member

Откуда: Scottsdale, AZ, USA
Сообщений: 3823
fox155
Суть проблемы такова : есть поток в 600 сообщений в сек . его надо хранить некоторое время для анализа траблов. Всего выходит около 100 млн записей хранения. Какую СУБД можно использовать ? Оракл загибаеться на выборке - т.к. нужно брать его в хронологическом порядке .Berkley DB скорее напоминвет файловый кеш и лишена всякого интерфеса базы ... Что делать ??? Дайте совет !


Насколько я понимаю, это 2 разные проблемы : 1) поток в 600 сообщений 2) "Оракл загибается на выборке".
Нынче в моду входят "edge databases" типа TimeTens (нынче принадлежит Oracle), ANTs и пр., которые стараются все держать в памяти и за счет этого на транзакциях летают как псисы, но умеют передавать данные на постоянное хранение более традиционным БД.
7 фев 06, 21:58    [2331548]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
Alter Ego
Member

Откуда:
Сообщений: 59
RoundRobinDB.
Или текстовый файл.
8 фев 06, 15:57    [2334570]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
TimesTen In-Memory Database v6.0.2 Может быть именно тем, что вам надо. Фишка в том, что она может использовать нормальную базу Оракла для хранения тех данных, что в память не влезли.

--
Антон
Per rectum ad astrum
9 фев 06, 22:47    [2340619]     Ответить | Цитировать Сообщить модератору
 Re: Что выбрать для реал тайма ???  [new]
void_piligrim
Guest
Есть промышленные СУБД, они как раз и предназначены для архивации данных поступающих с большой скоростью. Например iHistorian или Industrial SQL...
13 фев 06, 09:55    [2348601]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить