Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
Планируется разработать некое Web-приложение. Предполагаемая пиковая нагрузка - 60 запросов в секунду, 5 млн. запросов в сутки. Подавляющее большинство запросов должны быть запросами на вставку данных. Остальные запросы - сбор статистики в том или ином разрезе за диапазон дат, с частым использованием операторов sum()...group by... Вероятно, база будет денормализована так, что большинство запросов превратятся в запросы на обновление данных, а запросы на выборку будут предельно упрощены. Использование XP пока не планируется. Крайне желательно наличие средств репликации БД, горячего резервного копирования. В идеале - хорошо бы иметь средства кластеризации. На данный момент заказчик отказался от технологий Microsoft из-за стоимости, Oracle, разумеется, тоже отпадает, Interbase и его клоны я рассматривать не хочу, потому как быстрые вставки - не для этой СУБД. На руках остаются бесплатные PostgreSQL и MySQL. Вопрос: какая из данных СУБД лучше подходит под мои требования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 09:36 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
Вячеслав СкорыхНа данный момент заказчик отказался от технологий Microsoft из-за стоимости, Oracle, разумеется, тоже отпадает, Interbase и его клоны я рассматривать не хочу, потому как быстрые вставки - не для этой СУБД. На руках остаются бесплатные PostgreSQL и MySQL. Вопрос: какая из данных СУБД лучше подходит под мои требования? По скорости выборки и сумимрования практически одинаково, но я сравнивал на сотнях тысяч записей. Посему нет лучше пути чем смоделировать свою самою большую базу и сравнить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:00 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
А delete и update? Если эти тоже будут иметь место, то смею предположить, что в PostgreSQL замучаетесь vacuum'ом. Если разговор идёт о бесплатных базах, то не выбрасывайте из рассмотрения MaxDB от MySQL. Я правда не знаю, как она себя поведёт в режиме миллионов вставок в день, т.к. подход к транзакциям тут, в отличие от PostgreSQL и MySQL, блокировочный и при обилии insert запросов это может сыграть роль. Я бы посоветывал попробывать каждую из них (благо, устанавливаются они все за 15 минут) и потом тут опубликовать результаты. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:42 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
Вячеслав СкорыхПланируется разработать некое Web-приложение. Предполагаемая пиковая нагрузка - 60 запросов в секунду, 5 млн. запросов в сутки. Подавляющее большинство запросов должны быть запросами на вставку данных. Остальные запросы - сбор статистики в том или ином разрезе за диапазон дат, с частым использованием операторов sum()...group by... Вероятно, база будет денормализована так, что большинство запросов превратятся в запросы на обновление данных, а запросы на выборку будут предельно упрощены. Использование XP пока не планируется. Крайне желательно наличие средств репликации БД, горячего резервного копирования. В идеале - хорошо бы иметь средства кластеризации. На данный момент заказчик отказался от технологий Microsoft из-за стоимости, Oracle, разумеется, тоже отпадает, Interbase и его клоны я рассматривать не хочу, потому как быстрые вставки - не для этой СУБД. На руках остаются бесплатные PostgreSQL и MySQL. Вопрос: какая из данных СУБД лучше подходит под мои требования? Ну во первых мне не понятно, почему Вы хотите вместо вставки записей использовать их обновление. По моему в любой СУБД вставка работает быстрее, чем обновление. Во вторых слишком мало информации. Возникает целая серия вопросов: 1. Кол-во добавляемой информации в сутки 2. Ширина таблиц, в которых идет частое добавление/обновление информации 3. Есть ли в таких таблицах поля с плавающей длинной (тот же varchar) или длинные поля (Text, Blob, ...) 4. Длительность транзакций (кол-во вставляемых/изменяемых в пределах транзакции записей) 5. Уровень изоляции для аналитических запросов 6. Селективность таких запросов (хотя бы в процентах от всего кол-ва информации) 7. Период хранения информации 8. Планируемая конфигурация аппаратных средств 9. Требования к масштабируемости 10. Требования к надежности 11. Примерное кол-во постоянных активных сессий 12. Требования к платформе ОС и администрированию 13. Требования к ценовой политике СУБД Вот примерный список вопросов, который сразу в голову приходит. Ответьте на все вопросы, появятся уточняющие вопросы, напишите их себе, снова ответьте, получите список требований на обоснование выбора платформы. По нему составьте тестовое задание для различных, подходящих под условия СУБД и прогоните его. Если останется парочка кандидатов, с примерно равными балами, идете их форумы и начинаете читать топики с проблемами и ответы как их обходят. Гы - все это конечно по научному, если действительно серьезно подходить к делу. А если не по научному и с ограниченным бюджетом (а то и с надеждой на халявную СУБД), берете что знаете или что легко учиться и понимается ... и вперед и с песнями, а там как масть пойдет. P.S. Будет интерес, включите в тестовый список СУБД Sybase ASA 9.0.2, раз уж у Вас денег мало, а много хочется. Почему ... почитайте здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:53 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
ASCRUSНу во первых мне не понятно, почему Вы хотите вместо вставки записей использовать их обновление. По моему в любой СУБД вставка работает быстрее, чем обновление. Безусловно это так. Однако типовому select-у придется обрабатывать до 35 млн. записей (в случае недельного отчета). Даже с учетом того, что основная нормализованная таблица будет содержать всего 7 числовых полей и 1 поле типа DATA, есть опасения, что это все-таки будет много для некоторых СУБД. Другой вариант - усложнить ввод данных, делая расчет неких промежуточных результатов (этим и объясняется замена insert на update). Этим можно сократить кол-во записей на порядок и упростить SQL-запросы. Но, блин, как я не люблю такие вещи делать... ASCRUS Во вторых слишком мало информации. Возникает целая серия вопросов: Ваш список вызывает самые разнообразные эмоции. В нем есть вопросы, на которые я косвенно уже ответил (если PostgreSQL - то это явно не Windows, а при 60 запросах в секунду не может быть и речи о длинных транзакциях, о кластерах я тоже заикнулся), есть, на мой взгляд, второстепенные, есть и такие, на которые невозможно ответить однозначно. Самое же главное, на момент написания technical proposal у меня просто нет времени на слишком скурпулёзный анализ. Позже я смогу это сделать. Но предварительные рекомендации должен дать сейчас, и довольно быстро. Я просто ожидал отзывов типа "У нас база прирастает на 2млн. записей в день на таком-то железе и особых проблем нет". Ну или ссылки на какие-то тесты производительности, success story и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:28 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
авторВаш список вызывает самые разнообразные эмоции. В нем есть вопросы, на которые я косвенно уже ответил (если PostgreSQL - то это явно не Windows, а при 60 запросах в секунду не может быть и речи о длинных транзакциях, о кластерах я тоже заикнулся), есть, на мой взгляд, второстепенные, есть и такие, на которые невозможно ответить однозначно. Я задал серию взаимосвязанных вопросов, их нельзя отделить один от другого. "Косвенно" ответив только на пару вопросов, Вы не приближаетесь к оптимальному решению поставленной задачи, так как они не имеют по отдельности при выборе СУБД большой пользы. авторПозже я смогу это сделать. Но предварительные рекомендации должен дать сейчас, и довольно быстро. Быстро - это как ? Сегодня, завтра или вчера ? А может все таки лучше найти недельку, написать типовой ANSI-SQL тест и для каждой предварительно подходящей СУБД сделать серию тестов хотя бы на скорость вставки, выполнения запросов на определенном кол-ве активных сессий ? авторЯ просто ожидал отзывов типа "У нас база прирастает на 2млн. записей в день на таком-то железе и особых проблем нет". Ну или ссылки на какие-то тесты производительности, success story и т.п. Я могу за любую СУБД ответить, что там база прирастает на 2 млн записей в день и никаких проблем :) Только окажется что в каждом случае разная задача, разные условия, разная реализация, большой уровень профессионализма того, кто ее проектировал. И что с этого можно будет выбрать ? Резюме: я так понимаю Вы уже остановились на выборе 2 СУБД - Postgre или MySQL. Ну дык поройте по их форумам, задайте в каждом из них этот вопрос, почитайте у кого какие проблемы были с такими нагрузками. Здесь окромя флейма ничего путного не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 12:21 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
Вячеслав Скорых Я просто ожидал отзывов типа "У нас база прирастает на 2млн. записей в день на таком-то железе и особых проблем нет". Ну или ссылки на какие-то тесты производительности, success story и т.п. Хотите Success story не вопрос Система обработки транзакиций по пластиковым картам 40 авторизационных запросов в секунду от банкоматов посов и платежных систем. Это ~1 500 000 в сутки. + Фоновое закрытие дня, репорты , загрузка offline операций(пополнений по картам и т.д) ~ 700 000 транзакций в день. 85% OLTP + 15 % DSS. ~100 пользовательских мест. ~200 постоянно активных сессий на сервере. Informix dynamic server 9.40 FC4. 4 X IBM Pseries Power4 8 Gb Ram . База данных ~ 700 Gb. Вывод : Хотите быстро ездить - покупайте быстрых коней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 17:27 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
Действительно Informix для такой задачи кажется вполне подходящим выбором. Со своей стороны могу предложить объектную СУБД Versant Developer Suite. Судя по описанию задачи она вполне справится со всем необходимым. Разумеется она не бесплатна, но о цене можно говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 18:44 |
|
||
|
Выбор СУБД для приложения с массовой вставкой данных
|
|||
|---|---|---|---|
|
#18+
Привет, Alexey! Ты пишешь: Alexey AR> Действительно Informix для такой задачи кажется вполне подходящим выбором. AR> Со своей стороны могу предложить объектную СУБД Versant Developer Suite. AR> Судя по описанию задачи она вполне справится со всем необходимым. AR> Разумеется она не бесплатна, но о цене можно говорить. БРАВО! БИС! -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 18:53 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32917679&tid=1553939]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 331ms |

| 0 / 0 |
