Доброго времени суток!
Проблема: Нужно создать всего одну простую таблицу, но в неё будет заноситься большое количество записей, примерно по 200 тыс. в сутки. Какую субд выбрать? Пробовал в MSSQL, на четвертые сутки писать отказывается. Может настроил коряво? Спасибо.
Hello, Wit!
W> Доброго времени суток! W> Проблема: Нужно создать всего одну простую таблицу, но в неё будет W> заноситься большое количество записей, примерно по 200 тыс. в сутки. W> Какую субд выбрать? Пробовал в MSSQL, на четвертые сутки писать W> отказывается. Может настроил коряво? Спасибо.
Думаю именно коряво. И миллиона записей ведь еще не набралось... Рассказывай подробности.
Здравствуйте, GarryIV, Вы писали:
GIV>Думаю именно коряво. И миллиона записей ведь еще не набралось... Рассказывай подробности.
Подробности: некоторые данные пишутся в двоичные файлы, каждые 7 минут создается новый файл, я из этих файлов выбираю нужные данные и записываю в базу. Насобирал кучу файлов и данные из них начал в базу пихать. Примерно на 2,5 миллионе база отказалась записывать данные :PRIMARY файл который создается при создании БД оказался якобы заполнен хотя в настройках — увеличивать его пока место на винте не кончится. После создания дополнительнгого файла запись продолжается. Меня это парит, и еще когда база пустая пишется примерно по 200 — 300 записей в секунду, прсле того как в базе более миллиона записей — в секунду заносится уже 10 — 20 записей. Вот так. Думаю может Оракл попробовать?
> 10 — 20 записей. Вот так. Думаю может Оракл попробовать?
Для такой задачи идеально должна подойти Cache (www.cache.ru).
Ее в электроэнергетике как раз тестировали на подобных задачах.
Да и в установке и администрировании она весьма и весьма неприхотлива, поставил и забыл.
Спасибо за ответы. Меня больше волнует не скорость записи, а количество записей которое можно записать в таблицу. Существуют же какие-то ограничения? И желательно, чтобы при большом количестве записей select-запросы выполнялись не очень долго.
Здравствуйте, Wit, Вы писали:
Wit>Спасибо за ответы. Меня больше волнует не скорость записи, а количество записей которое можно записать в таблицу. Существуют же какие-то ограничения? И желательно, чтобы при большом количестве записей select-запросы выполнялись не очень долго.
Во-первых, если пишутся данные из файлов, то надо пользовать Bulk insert, тогда скорость записи может быть и десятки тысяч записей в секунду.
Ограничения есть, но там счет идет на терабайты, так что скорее кончится диск. Однако размер базы лучше заранее указывать максимально возможный, так как на увеличение тратится время. Возможно так же, что Вы используете урезанную версию MSDE, у которой ограничение на данные 2Гб.
Скорость выполнения SELECT запросов зависит от того на сколько оптимально построены индексы и продумана структура базы именно под эти запросы, в идеальном случае скорость выборки почти не зависит от объема данных.
Здравствуйте, Wit, Вы писали:
Wit>Проблема: Нужно создать всего одну простую таблицу, но в неё будет заноситься большое количество записей, примерно по 200 тыс. в сутки. Какую субд выбрать?
Этот объем, пожалуй, будет великоват для парадоксов/акцессов/фокспро. Любая из основных БД должна тянуть без особых проблем.
С точки зрения пробовать Oracle пригодится возможность партиционирования — на таких объемах я бы порезал данные где-то поквартально. Но не уверен, что порекомендую Oracle для самостоятельного изучения на ходу.