Показать сообщение отдельно
Непрочитано 04.08.2010, 18:19   #9
Пользователь

По умолчанию Re: Выбор СУБД под Java сервер

Если с точки зрения разработчика вопрос (т.е. под какую СУБД писать), то вопрос очень странный. Есть вполне вменяемые патерны разработки и библиотеки (hybernate тот же самый), которые позволяют не зависить от типа СУБД и, без переписывания кода, менять драйвер базы и, соответственно, саму СУБД.

Если вопрос с точки зрения администратора, то он не очень корректный.
Если сервер "заточен" (т.е. запросы в него вшиты намертво) под какую-то конкретную СУБД, то о каком выборе вообще говорить можно?
Если же сервер написан нормально и позволяет менять СУБД, то для каких-либо рекомендаций очень мало данных.
Естественно, лучше всего использовать ORACLE, но использовать его тоже надо уметь (это выделенный мощный сервер, а еще лучше кластер (именно в таких условиях оракл обгоняет всех по производительности), это пряморукий админ, который знает как нужно настроить систему под эту СУБД, и это лицензия на несколько килобаксов). Но люди, у которых есть такие ресурсы вряд ли будут спрашивать на форуме что лучше, бесплатная маська или оракл.
Опять же, если машинных ресурсов достаточно, то и маська в режиме innodb даст супернадежность и производительность, и постгресс будет летать. Только зачем все это на 10 запросов в секунду и 200 онлайна?

Если речь идет о "домашнем сервере" с 200 онлайна, то хорошо настроенный mysql в режиме myisam вполне себе будет вменяемо работать.
Если сервер "по-серьезднее", то можно посмотреть в сторону postgresql (если, конечно, сервер с вписанными в код запросами в диалекте маськи с ним захочет общаться) или mysql в режиме innodb.
На что-либо другое вообще особо нету смысла смотреть в реалях ЛА2.

SQLite, Sybase, Interbase - это вообще безсерверная болезнь, в которой можно хранить бухотчеты маленькой компании на флешке.
Oracle, IBM DB2, MSSQL - это монстры масштаба enterprise, которые интересны только при миллионах транзакций и много-терабайтных базах.
MySQL, PostgreSQL, Firebird - это субд общезадачные, оптимизированные под определенные операции (mysql в решиме myisam, например, обгоняет на средних нагрузках всех на простых операциях (select/insert/update) с одной таблицей, postgresql интересен, если нужна полноценная современная СУБД с транзакциями, триггерами, хранимыми процедурами и т.д., под среднюю нагрузку, без особых претензий на производительность, но с хорошим запасом прочности).

PS: Есть реальный пример, когда mysql в режиме myisam которую тюнили несколько месяцев под конкретную задачу, с настроенной репликацией для надежности, на выделенной машине в 8 ядрами и 32Гб оперы переваривала 15-20 тысяч запросов в секунду (база биллинга интернет-провайдера) в штатном режиме. Так что вопрос не в том какую субд использовать, а в том с какой субд умеешь общаться "как с другом".
Blakkky вне форума Ответить с цитированием
Сказали спасибо: