Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Запись 10К полей посекундно - какая БД справиться?  [new]
hek
Member

Откуда:
Сообщений: 6
Нужна база, в которую можно без проблем писать около 10 000 параметров (полей) ежесекундно. Чтение также посекундными запросами (около 15 клиентов). Остальным клиентам информация предоставляется в виде выборки за сутки, например. Смотрю с сторону SyBase IQ 12.5 - кто использовал в подобных задачах насколько эффективно?
30 авг 04, 07:28    [916774]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Серега
Member

Откуда:
Сообщений: 887
hek
Нужна база, в которую можно без проблем писать около 10 000 параметров (полей) ежесекундно. Чтение также посекундными запросами (около 15 клиентов). Остальным клиентам информация предоставляется в виде выборки за сутки, например. Смотрю с сторону SyBase IQ 12.5 - кто использовал в подобных задачах насколько эффективно?

Я тут прикинул на калькуляторе - без малого миллиард записей в сутки. Скока суток подряд писать надо? Че то фантастическое вырисовывается, ИМХО. Что за задача то?
30 авг 04, 09:41    [916937]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
hek
Нужна база, в которую можно без проблем писать около 10 000 параметров (полей) ежесекундно. Чтение также посекундными запросами (около 15 клиентов). Остальным клиентам информация предоставляется в виде выборки за сутки, например. Смотрю с сторону SyBase IQ 12.5 - кто использовал в подобных задачах насколько эффективно?


Эти 10000 полей - одна запись(для IQ это не проблема)? Писать - имеется ввиду операция insert или загрузка из файла (bulk load)?

Какого типа запросы (ежесекундные)? "выборки за сутки" - что это?
30 авг 04, 10:04    [916994]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
hek
Member

Откуда:
Сообщений: 6
например, 30 суток (месяц) , после этого данные можно архивировать усредняя секундные до минутных. По моим прикидкам для полей типа float(4 байта) на сутки выходит ~ 3Гб, что вполне приемлимо.
Задача же стоит в хранении данных с тучи различных датчиков.
30 авг 04, 10:27    [917062]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Sybase IQ не предназначен для использования как OLTP и эффективно данные подгружает только через LOAD TABLE, который вызывается для подгрузки данных через определенные промежутки времени. Если запросы пользователей должны сразу учитывать добавленные в реалтайме записи, то тут он ничем не поможет. Насколько я знаю, у Sybase на базе ASE сделан RealTime Database Server, можно посмотреть его характеристики.
30 авг 04, 10:28    [917070]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
ASCRUS
Sybase IQ не предназначен для использования как OLTP и эффективно данные подгружает только через LOAD TABLE, который вызывается для подгрузки данных через определенные промежутки времени. Если запросы пользователей должны сразу учитывать добавленные в реалтайме записи, то тут он ничем не поможет. Насколько я знаю, у Sybase на базе ASE сделан RealTime Database Server, можно посмотреть его характеристики.


И да и нет. :)

IQ может потянуть инстерт 3600 записей в час, но надо попробовать(т.к. запись очень широкая).

Если это задача типа: датчики пишут в какой-то фаил(тхт/дбф, цсв), и эти данные надо обрабатывать/хранить - то это классика для IQ, все будет работать ок.

Если хотите грузить инсертами - то надо тестировать. Я бы советовал грузить из фаилов.

Тип данных для IQ подходит. Если число различных значений в одном поле не велико, то данные не плохо сожмутся. Т.е. из планируемых 3ГБх365=~1Tb в IQ будут лежать ~300-400Gb.
30 авг 04, 11:34    [917376]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Велосипедист
Guest
Вот и проявилось полное ничтожество Oracle!!!!!!!
У него, по крайней мере в 9.2, в таблице "1000 columns maximum".
"Оракле - мастдай, Сайбэйс - форева!!!" :-)))
P.S. Вообще, постановка задачи дикая. В промышленных решениях применяют связку идентификатор источника - метка времени - значение - идентификатор параметра (необязательно).
30 авг 04, 16:04    [918787]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
ну я
Member

Откуда: Москва
Сообщений: 1276
В одну секунду всего 10К полей и одна запись? Из-за этого маета? Не морочьте людям голову.
30 авг 04, 16:32    [918933]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
ну я
Member

Откуда: Москва
Сообщений: 1276
Чтобы не быть голословным, код для вставки 10 тыщ значений:
test()
w $zts,!
n i,rec,id,param
s id=$i(^ddd)
f i=1:1:10000 d
. s param=$r(100000)
. s ^ddd(id,i)=param
w $zts,!
q
занимает 60 миллисек на ширпотребной тачке.

Вопрос: что Вы не договариваете?
30 авг 04, 16:35    [918945]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Антилох
Guest
Когда-то читал в истории создания interbase, что у них есть поля типа "массив" и добавлены они по просьбе каких-то лётчиков, которым "требовалось хранить данные, получаемые
единовременно с большого количества датчиков в БД, и обрабатывать эти данные по горизонтали и по вертикали"

Ктонибудь реально использовал эту фичу ?
30 авг 04, 16:46    [919021]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Когда-то читал в истории создания interbase, что у них есть поля типа "массив" и добавлены они по просьбе каких-то лётчиков

Что за чудо-СУБД этот интербейз!
То в танк Абрамсь его поставят (как единственную СУБД, способную выдержать прямое попадание артилеристского снаряда), то в самолет, летающий горизонтально и вертикально...
Если интербейз еще и на подводных лодках стоит - то я его уже боюсь.
30 авг 04, 17:02    [919122]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Dedushka Mazai
Member

Откуда:
Сообщений: 959
стоит - точно стоит. ежели прямое попадание артснаряда выдерживает, то какая-нибудь торпеда - это так, детские игрушки
30 авг 04, 17:21    [919225]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
DimaR
Member

Откуда:
Сообщений: 1570
И что будет когда через пол года эксплуатации добавится 10001 датчик?
30 авг 04, 17:43    [919336]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
И что будет когда через пол года эксплуатации добавится 10001 датчик?

подводная лодка утонет?
30 авг 04, 17:46    [919360]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
hek
Member

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

Эти 10000 полей - одна запись(для IQ это не проблема)?

да, одна запись

_Dog

Писать - имеется ввиду операция insert или загрузка из файла (bulk load)?

Не представляю сеье что такое bulk load

_Dog

Какого типа запросы (ежесекундные)? "выборки за сутки" - что это?

Ежесекундные, например, отображается график realtime по одному полю (сумме полей).
Выборка за сутки - чаще по нескольким полям выбрать, например, данные по температуре и давлению чего-то с 8.00 30.08.04 до 08.00 31.08.04, опять же все это на график

ASCRUS

Sybase IQ не предназначен для использования как OLTP и эффективно данные подгружает только через LOAD TABLE, который вызывается для подгрузки данных через определенные промежутки времени. Если запросы пользователей должны сразу учитывать добавленные в реалтайме записи, то тут он ничем не поможет. Насколько я знаю, у Sybase на базе ASE сделан RealTime Database Server, можно посмотреть его характеристики.

Вот-вот, как только записалось, так сразу и считалось - это для ежесекундных запросов.
Что-т информация по RealTime Database Server скудная, а точнее ее совсем нет.

_Dog

Если хотите грузить инсертами - то надо тестировать.

А IQ водится в демо- или пиратской версии вообще?

Велосипедист

В промышленных решениях применяют связку идентификатор источника - метка времени - значение - идентификатор параметра (необязательно).

Да, есть и такой вариант реализации, просто решил копнуть, может что-то придумали лучшее (более естественное чтоли).

Ну я

Чтобы не быть голословным, код для вставки 10 тыщ значений:
test()
w $zts,!
n i,rec,id,param
s id=$i(^ddd)
f i=1:1:10000 d
. s param=$r(100000)
. s ^ddd(id,i)=param
w $zts,!
q
занимает 60 миллисек на ширпотребной тачке.

Вопрос: что Вы не договариваете?

А вот такая у нас незадача случается при тесте на MSSQL. Пишется 10 полей ежесекундно (CBuilder через ADO) ... и в сутки терятся от 10-50 записей.

DimaR

И что будет когда через пол года эксплуатации добавится 10001 датчик?

Да кстати, а что будет, если нужно через некоторое время в IQ добавить пару десятков полей?
31 авг 04, 07:14    [919960]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
hek
_Dog

Эти 10000 полей - одна запись(для IQ это не проблема)?

да, одна запись

для IQ это не проблема


Не представляю сеье что такое bulk load


ето когда записи первоначально поступают в какой то файл который считывается IQ


Что-т информация по RealTime Database Server скудная, а точнее ее совсем нет.
ИМЧО - ето не о Вашей проблеме.

А IQ водится в демо- или пиратской версии вообще?

Не знаю как с етим там где жы сидите, в моей стране мне был привезен компакт и проведены курсы/демонстрации (2х6-8 часов) .

Да кстати, а что будет, если нужно через некоторое время в IQ добавить пару десятков полей?

ето цовсем без проблем. хоть несколько, хоть несколько тысяч.
31 авг 04, 07:34    [919977]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
_Dog
ИМЧО , цовсем

ИМХО и совсем

советую обратиться в локальный сайбеис. Ети выборки - по моему для них не обязательно иметь IQ (IQ на них чудес скорее всего не покажет, вот если бы посчитать ету кучу данных...)
31 авг 04, 07:59    [919993]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
hek
А вот такая у нас незадача случается при тесте на MSSQL. Пишется 10 полей ежесекундно (CBuilder через ADO) ... и в сутки терятся от 10-50 записей.

Если теряются записи, то проблема в программе загрузки или где-то еще раньше. Сколько лет работаю с SQL Server, данные не терялись, за исключением случая когда полетел диск. Если вы так же напишите программу для Sybase IQ или для чего-то другого, что захотите использовать, то будут аналогичные проблемы.
31 авг 04, 09:49    [920190]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
flaxima
Member

Откуда: Minsk
Сообщений: 3
Когда-то слышал что Berkley DB имеет одну из наилучших скоростей на простых данных.

Может подойдет?
31 авг 04, 11:55    [920767]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Хрен
Member

Откуда: Brisbane
Сообщений: 1455
По результатам crash-me из mysql benchmarks - максимальное количество колонок которые держат (в default configuration):


DB2 8.1 /odbc 500
frontbase >8000
informix 7.24UC5 5888
interbase 7.0 4759
mimer 8.2/odbc 252
mimer 9.1/odbc 252
msql 75
ms-sql8.0/odbc 1024
mysql 4.1(myisam) 2599
mysql 4.1(innodb) 1000
oracle 9i(win) 1000
postgres 7.4.5 1600
sapdb7.5 1023
solid 03.00 1000
sqlite 2.8.0 >8000
sybase asa8/odbc >8000
sybase ASE11.03 250

А вообще таблица с таким количеством полей говорит скорее о неправильном пректировании. я думаю вам даже проиндексировать ее эффективно неудастся.
31 авг 04, 13:27    [921256]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
автор
я думаю вам даже проиндексировать ее эффективно неудастся.

Почему же? Всего 10000 индексов - и золотой ключик у нас в кармане.
31 авг 04, 13:33    [921289]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
Хрен
По результатам crash-me из mysql benchmarks - максимальное количество колонок которые держат (в default configuration):


DB2 8.1 /odbc 500
frontbase >8000
informix 7.24UC5 5888
interbase 7.0 4759
mimer 8.2/odbc 252
mimer 9.1/odbc 252
msql 75
ms-sql8.0/odbc 1024
mysql 4.1(myisam) 2599
mysql 4.1(innodb) 1000
oracle 9i(win) 1000
postgres 7.4.5 1600
sapdb7.5 1023
solid 03.00 1000
sqlite 2.8.0 >8000
sybase asa8/odbc >8000
sybase ASE11.03 250

А вообще таблица с таким количеством полей говорит скорее о неправильном пректировании. я думаю вам даже проиндексировать ее эффективно неудастся.


В IQ каждое поле автоматически проиндексировано. Такие вот чудеса, г-н Хрен. Полей может быть 16000(в настояшей версии). И повторюсь, размер полностью проиндексирожанной базы будет меньше объема исходных данных
По пожоду оптимальности, кроме 3NF, сушествуют и другие схемы...
31 авг 04, 23:10    [923388]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Хрен
Member

Откуда: Brisbane
Сообщений: 1455
Ой..
г-н Dog, возможно я слишком старый, но вот не верю я в "серебряную пулю" и "лекарство от всех болезней". Особенно когда говорят о "10..100 увеличении скорости" и о том что нормализация не нужна.

Возможно, что sybase iq и есть тот продукт, который подходит под эту задачу (я нигде и не утверждал что это не так), но скорректировать 10000 индексов раз в секунду - извините, в чудеса не верю. Хотя, конечно от компьютера зависит.
31 авг 04, 23:39    [923409]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
Хрен
Ой..
г-н Dog, возможно я слишком старый, но вот не верю я в "серебряную пулю" и "лекарство от всех болезней". Особенно когда говорят о "10..100 увеличении скорости" и о том что нормализация не нужна.

Возможно, что sybase iq и есть тот продукт, который подходит под эту задачу (я нигде и не утверждал что это не так), но скорректировать 10000 индексов раз в секунду - извините, в чудеса не верю. Хотя, конечно от компьютера зависит.


изи - тест ит :) и не нужна и 10..100

(подсказка: у него индексы bitwise, не путать с Оракловскими bitmap. совсем не б-трее)

под ету задачу - не знаю подойдет ли, но если задача анализа данных, VLDB и т.п., то IQ очень даже подходит.
31 авг 04, 23:57    [923420]     Ответить | Цитировать Сообщить модератору
 Re: Запись 10К полей посекундно - какая БД справиться?  [new]
Fx400
Guest
_Dog

изи - тест ит :) и не нужна и 10..100

(подсказка: у него индексы bitwise, не путать с Оракловскими bitmap. совсем не б-трее)

под ету задачу - не знаю подойдет ли, но если задача анализа данных, VLDB и т.п., то IQ очень даже подходит.


да протестировали - tpc-h ровно в 10 раз медленее оракла ... чуда как и предполагалось не произошло.
1 сен 04, 02:03    [923482]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить