Сообщений: 396
Тем: 45
Зарегистрирован: Dec 2009
Помогите выбрать СУБД ( Система управления базами данных ) для Java сервера Lineage II.
Свой ответ обоснуйте.
P.S. Вот что я знаю о...
PostgreSQL - СУБД, которая работает намного качественнее MySQL, но немного медленее. Так же это хороший бесплатный аналог Oracle Database.
MySQL - очень шустрая СУБД, но особым качеством никогда не выделялась...  Очень хорошо показала себя при правильной настройке в "ВЕБе".
Oracle - юзал мало, плюсов много, минус один - тормозит систему ( у меня слабоватый комп ).
MSSQL Server - что то нечто тупое и медленное, некоторые ею очень хорошо пользуются, + не нашёл ни одного... поможете?
SQLite - что то быстрое и нестабильное) хотя юзал мало.
Сообщений: 142
Тем: 7
Зарегистрирован: Jul 2010
Весь сок PostageSQL в том, что скорость меньше не намного, и огромная скорость тут не к чему. За-то качество на высшем уровне среди бесплатных СУБД.
Сообщений: 216
Тем: 3
Зарегистрирован: May 2010
Репутация:
2,269
а вы с точки зрения кого спрашиваете?
Сообщений: 396
Тем: 45
Зарегистрирован: Dec 2009
Ну я не спрашиваю, а интересуюсь))
С точки зрения администратора игрового сервера, у которого сборка, собственной разработки.
Сообщений: 4,393
Тем: 77
Зарегистрирован: Jul 2009
Репутация:
69,266
Сборка "собственной разработки" и не знаете какую СУБД выбрать?=)
Сообщений: 216
Тем: 3
Зарегистрирован: May 2010
Репутация:
2,269
слишком много неизвестных, чтобы ответить. При прочих равных я бы выбрал Postgresql. Только они не равные. За Oracle и MSSQL без серьезной подготовки лучше даже не браться. По Mysql, напротив, очень много информации, она где ни попадя стоит, но возможности ее куцы. Postgres - золотая середина, а остальные бд в опросе скорее для полноты.
Просто сменой бд увеличения производительности не добиться, требуется как настройка бд, так и оптимизация приложения под конкретный движок. К тому же, я сомневаюсь, что на базах размером в несколько сотен мегабайт вы сможете добиться ощутимых различий - легче памяти докупить и дисков побыстрее.
Впрочем, это все теория, а имея на руках рабочее приложение - не так сложно провести реальные тесты. Если проведете - выложите, будет интересно посмотреть.
Сообщений: 31
Тем: 2
Зарегистрирован: May 2010
Репутация:
1,398
08-04-2010, 05:54 PM
(Сообщение последний раз редактировалось: 08-04-2010, 06:04 PM xCrash.)
я об оставил mysql и сделал промежуточный язык Hibernate для связи классов Java с таблицами базы данных sql.
Добавлено через 9 минут
Ramzessuss у тя раньше ник Diesel был?
Сообщений: 142
Тем: 7
Зарегистрирован: Jul 2010
Нахватались модных слов, таких как Hibernate, и кричите тееерь на каждом шагу. А кто нибудь себе реально представляет что значит встроить его в сборку? И подумайте, чтобы вставить его более менее правильно, надо исходники hibernate вставить в исходники сервера. Кто из нас это может сделать правильно на 100%? Ответ - никто!. Хотя возможно тут и есть такие умники, котором от нечего делать захочется перекопать пол ядра, но для этого нужно писать на яве как на своём языке.
Кто из нормальных админов поставит сервак л2 на продукт от Microsoft? Тоже врядли кто-то решится. А на *NIX не идёт Microsoft SQL Server, за-то есть его аналог - PostgreSQL.
Кто нибудь использовал то что ниже IBM DB2? Опять же - это коммерческие, либо не предназначенные для таких целей СУБД.
Та же DB2 - очень тяжёлая как в работе, так и в понимании СУБД. Работает на оч. сильных серверах. Для л2 врядли подойдёт.
Выбор сужвется до:
Oracle Database - если у Вас сильная машина в плане оперативной памяти и процессора - это наилучший выбор!
PostgreSQL - аналог "Оракла", только бесплатный и менее требователен к ресурсам. Для сервера онлайн игры хорошо подходит.
MySQL - если у Вас слабая "машина", но Вы всё же хотите открыть собственный сервер L2 - эта СУБД для Вас, но я бы её только под сайт использовал. ИМХО она как была Web СУБД, ею и останется)
Либо делайте так:
MySQL + Hibernate + все статические таблицы в XML или CSV и машинку покрепче.
Удачи всем начинающим админам.
Сообщений: 123
Тем: 2
Зарегистрирован: Sep 2008
Репутация:
1,861
Если с точки зрения разработчика вопрос (т.е. под какую СУБД писать), то вопрос очень странный. Есть вполне вменяемые патерны разработки и библиотеки (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 тысяч запросов в секунду (база биллинга интернет-провайдера) в штатном режиме. Так что вопрос не в том какую субд использовать, а в том с какой субд умеешь общаться "как с другом".
Сообщений: 396
Тем: 45
Зарегистрирован: Dec 2009
xCrash Написал:я об оставил mysql и сделал промежуточный язык Hibernate для связи классов Java с таблицами базы данных sql.
Добавлено через 9 минут
Ramzessuss у тя раньше ник Diesel был? У меня сервер L2Diesel.ru был) А ника нет, не было.
|