Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Большое количество insert? / 20 сообщений из 20, страница 1 из 1
07.06.2007, 16:20
    #34581620
YuriyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
Доброго времени суток!
Справится ли постгрес с 100-ей инсертов в секунду (в одну таблицу, 20 полей - типы полей int, bigint, datetime). Один инсерт одна транзакция (в инсерте около 30 записей).
Сервер HP: Пенёк 4 - 2800MHz, 1G оперы?
Может у кого-то справляется и с большим кол-вом, напишите пожалуйста (и укажите железо).
Заранее благодарен.
Понимаю что вопрос несколько абстрактный, но надо решить какую субд использовать, а проверить на этом сервере, пока что не могу ((.
...
Рейтинг: 0 / 0
07.06.2007, 16:34
    #34581683
YuriyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
Уточню вопрос, сможет ли он(постгрес) обработать эти инсерты именно за 1 секунду?
С базой больше никаких операций не производится.
...
Рейтинг: 0 / 0
07.06.2007, 16:49
    #34581758
Большое количество insert?
Много от чего зависит, в первую очередь от дисковой.
Если нужна только большая скорость простых инсертов, используйте MySQL. Быстрее вряд ли кто-то сможет.
...
Рейтинг: 0 / 0
07.06.2007, 16:49
    #34581759
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
использовать COPY?
...
Рейтинг: 0 / 0
07.06.2007, 16:55
    #34581784
jaga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
st_serg использовать COPY?
Copy, только Copy, ничего кроме Copy...
Уменя по сотне тысяч записей по 70-80 полей каждая за считанные десятки секунд влетает...
А железяка - похожая. На инсерты никакого времени не хватит.
...
Рейтинг: 0 / 0
07.06.2007, 16:58
    #34581800
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
PostreSQL начинающийМного от чего зависит, в первую очередь от дисковой.
Если нужна только большая скорость простых инсертов, используйте MySQL. Быстрее вряд ли кто-то сможет.
sqllite ?
...
Рейтинг: 0 / 0
07.06.2007, 17:09
    #34581837
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
jaga st_serg использовать COPY?Copy, только Copy, ничего кроме Copy... На инсерты никакого времени не хватит.Конкурентно в пять потоков 10 тысяч транзакций, по три инсерта в маленькую таблицу в каждой, работали 18 секунд, то есть 2700 транзакий в секунду, что намного больше требуемых 100.
...
Рейтинг: 0 / 0
07.06.2007, 18:05
    #34582061
YuriyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
jaga st_serg использовать COPY?
Copy, только Copy, ничего кроме Copy...
Уменя по сотне тысяч записей по 70-80 полей каждая за считанные десятки секунд влетает...
А железяка - похожая. На инсерты никакого времени не хватит.

Данные приходят с внешнего устройства. На сколько я понимаю мне нужно все данные, в реальном времени, сохранять в файлы, и только после этого выполнить COPY. Это действительно будет быстрее, чем сразу писать в базу но инсертом?
...
Рейтинг: 0 / 0
07.06.2007, 18:25
    #34582129
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
не обязательно сохранять в файл, copy умеет читать из stdin
...
Рейтинг: 0 / 0
07.06.2007, 20:24
    #34582385
domanix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
Данные из внешнего устройства ни в коем случае нельзя сразу пихать в базу.
Даже если база с этим справляется.
К примеру : База не всегда бывает доступна, база может выполнять и другие задачи - которые могут сильно помешать вставке- в итоге данные с устройства могут элементарано потерятся...
Данные в любом случае нужно складывать в буффер - а лучше в два...
и периодически заносить данные в базу - путем анализа буфера.
в таком случае получается ГОРАЗДО более надежная система.
IMHO- АКСИОМА - не требующая доказательств..
...
Рейтинг: 0 / 0
08.06.2007, 09:04
    #34582920
SilverSpyder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
Мда... вопрос крайне абстрактный...
Коненчо вставит вопрос тут даже не в Insert или Copy а в самой задаче...
Зачем это надо и как часто это происходит..

Решение этой задачи зависит далеко не от дисковой ... учитывая небольшой объем данных достаточно кэш сервака сделать побольше и таблицу в которую вставляешь данные сделать FILLFACTOR поменьше и будет работать шустрее шустрово даже на древнем железе...
...
Рейтинг: 0 / 0
08.06.2007, 10:07
    #34583064
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
SilverSpyderМда... вопрос крайне абстрактный...
Коненчо вставит вопрос тут даже не в Insert или Copy а в самой задаче...
Зачем это надо и как часто это происходит..

Решение этой задачи зависит далеко не от дисковой ... учитывая небольшой объем данных достаточно кэш сервака сделать побольше и таблицу в которую вставляешь данные сделать FILLFACTOR поменьше и будет работать шустрее шустрово даже на древнем железе...
FILLFACTOR то зачем уменьшать? данные только вставляются, ничего абстрактного в этом вопросе нет, имхо

если потеря данных не очень важна, то заливать их через copy, если данные важны, то, как сказал domanix, делать промежуточный кеш в виде файла, для еще большей надежности не использовать кеш при записи в файл (флаг O_FSYNC в open(3) или чтото подобное)
...
Рейтинг: 0 / 0
08.06.2007, 10:11
    #34583075
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
open(2) i mean
...
Рейтинг: 0 / 0
08.06.2007, 10:15
    #34583087
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
SilverSpyderкэш сервака сделать побольшеС помощью какого параметра? Почему при этом ускорится insert?

SilverSpyderсделать FILLFACTOR поменьшеПочему при малом fillfactor ускорится insert?

PS: Ускорить insert можно отключив fsync. Метод для рисковых парней. :)
...
Рейтинг: 0 / 0
08.06.2007, 12:55
    #34583700
YuriyM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
SilverSpyderМда... вопрос крайне абстрактный...
Коненчо вставит вопрос тут даже не в Insert или Copy а в самой задаче...
Зачем это надо и как часто это происходит..

Как часто?
Происходит постоянно, каждую секунду...

Зачем это надо?
А куда по вашему нужно девать такой поток данных? Вместо базы в файл сливать? Но тогда будет геморно статистику (по этим же данным) получать...

PS: если есть предложения, то с удовольствием выслушаю, интересны все варианты.
PS2: А также спасибо за рекомендации и советы.
...
Рейтинг: 0 / 0
08.06.2007, 16:23
    #34584589
ilejn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
domanixДанные из внешнего устройства ни в коем случае нельзя сразу пихать в базу.


+1.

Если, конечно, важен результат, а не закрыть договор и свалить.
...
Рейтинг: 0 / 0
08.06.2007, 16:29
    #34584606
ilejn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
YuriyMКак часто?
Происходит постоянно, каждую секунду...


С какой вероятностью данные д.б. записаны в течение секунды?
Если в течение каждого часа будет случаться, скажем, пять трехсекундных задержек, это годится?
...
Рейтинг: 0 / 0
08.06.2007, 16:49
    #34584679
Алексей Ключников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
тоже такая проблема стоит.
почемуто не держит постгрес (а говорят что вообще реляционные БД)
интенсивного инсерта.

Есть смысл действительно посмотреть в сторону хранения в файл
или в сторону специализированных БД.
...
Рейтинг: 0 / 0
09.06.2007, 07:19
    #34585444
Serik Akhmetov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
Промежуточный файл нужен.
Файл можно начинать новый, каждую минуту, а потом, спокойно заливать в БД.
COPY, или INSERT одной транзакцией. Можно сразу проводить предварительный анализ, проверку и агрегирование. Если задержка в минуту много, можно интервал уменьшить.
...
Рейтинг: 0 / 0
12.06.2007, 00:42
    #34588969
iz
iz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большое количество insert?
На мой взгляд, плясать тут нужно от поиска узких мест в ваших insert-ах. Ставьте все загружаться и смотрИте, к примеру, на iostat -x 1 -- как работают диски, на mpstat 1 -- как работают ЦПУ. Дальше будет понятно, во что и на каких цифрах вы уперлись и где нужно подкручивать.

Теоретическая пропускная способность в данном случае должна определяться жестким диском. Например, 15000 rpm диск делает 250 оборотов в секунду и, следовательно, в _идеальном_ случае вы имеете 250TPS (настоящей записи, без write cache). Достичь этой цифры вполне реально, причем вполне легитимными способами (без отключения фсинков и тп) -- например, подкручивая commit_siblings и commit_delay.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Большое количество insert? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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