Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Тестирование СУБД


Автор: javanew 22.2.2009, 08:44
Здравствуйте!
Есть желание протесить СУБД - PostrgeSQL, Firebird, MySQL, Derby, H2, HSQL.
Хочу написать несколько тестов и потестить в разных режимах, НО я в тестировании полный ноль - нужны советы и помощь старших, если 
у кого нить есть желание помочь советом, то я готов взять на себя рутину по тестированию, созданию БД и т.д.!

Актуальность данной темы, как мне кажется, очень высокая. Подобные вопросы проскакивают на форуме регулярно. Вот я и подумал было бы хорошо что то типа сводной таблицы (или таблиц) с выводами, что бы интересующие могли все быстро глянуть ну и хоть какие то сделать выводы !!!

Автор: Platon 22.2.2009, 09:03
javanew, эхэхэх, уважаемый. Всё уже протещенно до нас http://www.h2database.com/html/main.html

Автор: gosnis 22.2.2009, 11:32
Цитата(Platon @ 22.2.2009,  09:03)
javanew, эхэхэх, уважаемый. Всё уже протещенно до нас http://www.h2database.com/html/main.html

Не имея большого опыта и не стараясь в чем то убедить или переубедить, позволю себе относиться к данному графику осторожно. Platon, неужели ты думаешь, что создатели Н2 пришли бы к другим результатам и опубликовали их? smile 

Автор: Kangaroo 22.2.2009, 13:08
javanew, я только не пойму при чему тут раздел Java. Тебе в БД.

Автор: Platon 22.2.2009, 13:54
gosnis
Цитата

MySQL was run with the InnoDB backend.

Вот пожалуй то, к чему можно прикопаться. Я пробовал работать в этом режиме. Режим, поддерживающий транзакции. Ооочень медленно работает. Схема MyISAM работает в несколько раз быстрее, но не поддерживает транзакции. 
Возможно, работает даже быстрее H2.

Автор: gosnis 22.2.2009, 14:00
Цитата(Platon @ 22.2.2009,  13:54)
gosnis
Цитата

MySQL was run with the InnoDB backend.

Вот пожалуй то, к чему можно прикопаться. Я пробовал работать в этом режиме. Режим, поддерживающий транзакции. Ооочень медленно работает. Схема MyISAM работает в несколько раз быстрее, но не поддерживает транзакции. 
Возможно, работает даже быстрее H2.

Ничего умного сказать по этому поводу не могу. Знаю только, что к утверждениям разработчиков, расхваливающих свой продукт, надо относиться осторожно. smile 

Автор: COVD 22.2.2009, 15:06
вот подробные результаты тестирования (торонтовский университет)
https://mathlab.utsc.utoronto.ca/courses/cscc09f/prof/tut/t8/h2/docs/html/performance.html

вот цитата оттуда

Цитата

In most cases H2 is a lot faster than all other (open source and not open source) database engines. Please note this is mostly a single connection benchmark run on one computer. 


любопытно, что 

Цитата

Why Oracle / MS SQL Server / DB2 are Not Listed ?

The license of these databases does not allow to publish benchmark results. This doesn't mean that they are fast. They are in fact quite slow, and need a lot of memory. But you will need to test this yourself. SQLite was not tested because the JDBC driver doesn't support transactions. 


вот еще табличка
http://www.encorewiki.org/display/encore/Open+Source+Databases+Comparison

Так что Platon был прав.

Наверное, все эти измерения линейкой возбуждают публику. Но все же мир не перевернулся от факта, что какая-то H2 самая быстрая. Врядли покупатели лицензий оракл и прочего встали в очередь за H2. Слишком много других разных факторов приходится учитывать.




Автор: gosnis 22.2.2009, 15:18
COVD, спасибо. Это выглядит более объективно.

Автор: Platon 23.2.2009, 10:35
COVD, тем не менее я обязательно рискну в своих веб-проектах поработать с H2 smile

Хотя всё же интересно как MySQL работает с таблицами с движком MyISAM

Добавлено через 2 минуты и 20 секунд
gosnis,  smile 
а вам не кажется, что 
http://www.h2database.com/html/performance.html и https://mathlab.utsc.utoronto.ca/courses/cscc09f/prof/tut/t8/h2/docs/html/performance.html - одно и тоже? 
Я не понимаю, в чем здесь большая объективность  smile 

Автор: gosnis 23.2.2009, 11:28
Ха... А я этой странички на сайте Н2 не видел.  smile Я говорил про график на главной. smile 

Автор: Platon 23.2.2009, 14:56
gosnis, ой smile ну, в общем, мы пришли к консенсусу.

Автор: gosnis 23.2.2009, 15:02
Цитата(Platon @ 23.2.2009,  14:56)
gosnis, ой smile ну, в общем, мы пришли к консенсусу.

Скорее да, чем нет smile
Более того, начал использовать Н2 smile

Автор: COVD 24.2.2009, 16:36
Цитата(Platon @ 23.2.2009,  10:35)
COVD, тем не менее я обязательно рискну в своих веб-проектах поработать с H2 smile

Отчего же не рискнуть, коли интересно. Но не забывайте, что многие хостеры (если не большинство) в стандартных конфигурациях предлагают только MySQL. И под вывеской Sun эта база будет, наверное, успешно развиваться. Возвращаясь к началу топика, что все уже "протещено", действительно, общественность уже определилась в выборе в пользу MySQL и этот выбор зафиксирован в термине LAMP. Но, кто знает, может праздник наступит и на улице H2.  

Автор: gosnis 24.2.2009, 17:32
COVD, в моем случае в пользу Н2 говорит возможность поставки в режиме embedded и запуск/отключение аппликативно из моей программы. Для конечного пользователя наличие БД и работа с ней "прозрачны". MySQL, насколько я знаю, такого не умеет. По крайней мере на так просто и интуитивно, как БД написаная на Джаве и предназначеная для такой работы. Или я ошибаюсь?

Автор: Platon 24.2.2009, 17:44
Цитата(gosnis @  24.2.2009,  18:32 Найти цитируемый пост)
Или я ошибаюсь? 

Не совсем понял, что вы имеете ввиду. Но скорее всего, ошибаетесь. Работа как с MySQL, так и с h2 организуется через JDBC
Цитата(gosnis @  24.2.2009,  18:32 Найти цитируемый пост)
Для конечного пользователя

Конечному пользователю вообще плевать, на чем там всё стоит  smile 

Автор: COVD 24.2.2009, 17:46
я применительно к веб-проектам рассуждал, а 'embedded' - это Platon наверное лучше знает. 

PS пока отвечал, он и уже и подключился.

Автор: gosnis 24.2.2009, 17:55
Цитата(Platon @ 24.2.2009,  17:44)
Цитата(gosnis @  24.2.2009,  18:32 Найти цитируемый пост)
Или я ошибаюсь? 

Не совсем понял, что вы имеете ввиду. Но скорее всего, ошибаетесь. Работа как с MySQL, так и с h2 организуется через JDBC
Цитата(gosnis @  24.2.2009,  18:32 Найти цитируемый пост)
Для конечного пользователя

Конечному пользователю вообще плевать, на чем там всё стоит  smile

На счет JDBC все верно. Это я понимаю. Но что бы аппликация могла через JDBC к кому нибудь обратиться,  этот кто то должен существовать. БД, написанные на Джаве и имеющие возможность быть запущеными из самой аппликации, делают жизнь проще smile Я сам (моя аппликация) запускаю БД когда мне надо и сам же ее в конце работы останавливаю. То есть конечный пользователь не должен "мучаться" с двумя разными аппликациями - моя и БД. Все это конечно я говорю в контексте моего случая, когда аппликация не какой нибудь разнесенный монстр, а конечный пользователь - мой отец smile

Добавлено через 2 минуты и 23 секунды
Цитата(COVD @  24.2.2009,  17:46 Найти цитируемый пост)
я применительно к веб-проектам рассуждал

Если проект - полноценная multi-tier аппликация, то не спорю.

Автор: javanew 26.2.2009, 07:14
Здравствуйте! смысл тестирование - не выявление лидера в тех или иных номинациях, а получение подробной информации о возможностях каждой СУБД
и о jСУБД. 
Мне кажется что люди разрабатывающие H2 или Derby не зря тратят свое время, и мы зря их списываем со счетов, вот.


Автор: Platon 26.2.2009, 09:35
По поводу h2 последняя информация:
Вчера ко мне в асю стукнул паникующий пользователь, программа перестала показывать данные за последний месяц. Выячнил, что БД подбита. Не знаю по чьей вине это произошло, но печальный факт установлен, удалось спасти данные только с помощью инструмента восстановления данных.

Добавлено @ 09:35
Derby между прочим, предусмотрительно делает бекап при каждом запуске.

Развязка: человек перегонял базу на флешку, потом с нее. Вынимал устройство, конечно же, без функции "Безопасное извлечение"

Автор: serger 26.2.2009, 21:08
Platon, Но спасти данные удалось полностью?

Автор: Platon 27.2.2009, 08:36
serger, да. Пострадал только файл, хранящий индексы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)