Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Помогите провести тест БД  [new]
akrischenko
Member

Откуда:
Сообщений: 8
Уважаемые господа!
Я в БД новечёк, есть небольшой опыт работы только с MySQL. Но возникла необходимость выбора БД для будущего проекта. Прочитав не один топик на этом форуме я сделал вывод, что в принципе все БД в той или иной степени хороши, и то как они будут работать в большей степени зависит от умения программиста заточить БД. В коммерческих базах привлекает набор полезных утилит, которые можно получить при покупке лицензии и поддержка, которую обещает разработчик. Бесплатные версии коммерческих БД ограничены либо в размере, либо в количестве ЦПУ либо ещё в чём-то. Бесплатные БД хороши своей бесплатностью :) и имеют достаточно багатый функционал и набор утилит разного рода. Но решится на использование бесплатной БД тяжело в том плане, что нету менеджмента, которы без конца втирает что "с нашей БД можно горы свернуть" и "если что, мы вас спасем от потопа". Если нет опыта, то доверять приходится на слово тем кто уже использовал ту или иную бесплатную БД. Вот именно по этой причине и возникла необходимость провести тест.

Условия: Будущий проект - социальная сеть. Что-то типа блогсервиса. Тоесть подразумевается сотни тысяч пользователей, десятки тысяч одновременных запросов на чтение и запись из БД. База должна быть надежной, стойкой к пиковым нагрузкам, иметь большое быстродействие, хорошо маштабироваться.
Учасники:
1) MySQL 5
2) PostgreSQL 8.3
3) DB2 Express-C
4) MS SQL 2005
Тестовая платформа:
CPU Pentium4 3 Ghz HT, 512 RAM, 80 Gb SATA HDD
Для первых 3 участников ОС: Suse Linux Enterprise Server 10 sp1
Для МС Скул: Windows Server 2003
Необходимо разработать методику тестирования баз, чтобы более менее обьективно проверить производительность БД в условиях близких к боевым в маштабах возможностей тестовой платформы.
Впринципе, мне понравилась методика описанная в статье http://www.samag.ru/cgi-bin/go.pl?q=articles;n=07.2007;a=02
которая обсуждалась сдесь:
https://www.sql.ru/forum/actualthread.aspx?tid=510734
Но как я понял по коментам, тест был не совсем объективным ;)
Со своей стороны я могу установить БД по очереди на сервер, настройки думаю оставить по умолчанию. Но моего опыта не достаточно что бы провести запросы на запись\чтение\выборку\сравнение соответственно для каждой БД и по этим (возможно ещё каким-то) критериям сравнить производительность БД. Плюс ещё вопрос, чем и как наполнить базу до размеров хотябы 256 МБ или больше, что бы было с чем работать.
У кого какие мысли есть, буду признателен.
21 мар 08, 18:53    [5444142]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

akrischenko wrote:
> У кого какие мысли есть, буду признателен.
Забить на проект сразу.

Posted via ActualForum NNTP Server 1.4

21 мар 08, 19:18    [5444204]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
согласен с предыдущим автором.
1. создать нагрузку на одном компе такого класса не получится
2. комп такого класса такую нагрузку не выдержит в принципе
3. при отсутствии реального опыта бд под такую нагрузку не спроектировать

21 мар 08, 19:44    [5444265]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

akrischenko пишет:

> Я в БД новечёк, есть небольшой опыт работы только с MySQL. Но возникла

> думаю оставить по умолчанию. Но моего опыта не достаточно что бы
> провести запросы на запись\чтение\выборку\сравнение соответственно для
> каждой БД и по этим (возможно ещё каким-то) критериям сравнить
> производительность БД.
....
> У кого какие мысли есть, буду признателен.

Эта задача вообще бессмысленная. Если ты "в БД новечёк", то
тем более. Так что лучше сразу плюнь на это, выбери какую-нибудь
СУБД и на ней и делай. Все равно в конечном итоге производительность
будет зависеть в основном от того, как сделаешь.

Posted via ActualForum NNTP Server 1.4

21 мар 08, 19:48    [5444273]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67469
Блог
akrischenko
У кого какие мысли есть, буду признателен.

Мысль не очень хорошая, но конструктивная: судя по этому письму, если Вы проведете выбор методом random(4), то значительно сэкономите время и силы при той же точности результата.
21 мар 08, 19:50    [5444279]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
akrischenko
Member

Откуда:
Сообщений: 8
AAron
согласен с предыдущим автором.
1. создать нагрузку на одном компе такого класса не получится
2. комп такого класса такую нагрузку не выдержит в принципе
3. при отсутствии реального опыта бд под такую нагрузку не спроектировать



ПК выбран в качестве тестового стенда из того что было под рукой, никто и не собирается запускать такую систему на нём в полном обьеме. Идея в том чтобы провети приблизительный тест. Я конечно понимаю что БД будет вести себя не линейно при росте нагрузки, и что лучше всего тестировать, так сказать, в маштабе 1:1. Но это дорого, трудоёмко и не нужно.
Можно ли, скажем, смоделировать описанную ситуацию в маштабе 1:100, 1:1000, с какой-нибуть вероятностью что и на продуктиве разница в работе баз будет такой же?
Может в БД я и новичек, но в сфере IT работаю не первый год, в компании где размер одной из серверных более 300кв.м., а биллинговые системы насчитывают десятки миллионов обьектов типа "пользователь". Есть опыт администрирования каталога eDirectory, опыт работы с дисковыми стойками и т.д.
Давайте отнесёмся к задаче проще, как к лабораторной работе, просто из интереса.
21 мар 08, 21:58    [5444469]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

akrischenko wrote:
> Давайте отнесёмся к задаче проще, как к лабораторной работе, просто из
> интереса.
Тогда - MySQL & MS SQL 2005.

Posted via ActualForum NNTP Server 1.4

21 мар 08, 22:00    [5444477]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
akrischenko
Member

Откуда:
Сообщений: 8
Хорошо, но почему MySQL или MS SQL? Почему не DB2 или PostgreSQL?
Начнём с вопроса как наполнить базу?
Вот ещё нашёл, можно ли воспользоваться:http://sourceforge.net/projects/osdb/
21 мар 08, 23:02    [5444639]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

akrischenko wrote:
> Хорошо, но почему MySQL или MS SQL? Почему не DB2 или PostgreSQL?
Потому что Виндовс и Юникс.

> Начнём с вопроса как наполнить базу?
Запросами.

Posted via ActualForum NNTP Server 1.4

21 мар 08, 23:30    [5444735]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
akrischenko
Member

Откуда:
Сообщений: 8
locky

Потому что Виндовс и Юникс.

Исключительно по Виндовс работает MS SQL, почему же тогда MySQL, а не PostgreSQL или DB2?
22 мар 08, 00:21    [5444878]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
Кифирчик
Member

Откуда: СПб
Сообщений: 939
akrischenko
Будущий проект - социальная сеть. Что-то типа блогсервиса. Тоесть подразумевается сотни тысяч пользователей, десятки тысяч одновременных запросов на чтение и запись из БД.

Ну так сперва спроектируйте вашу БД, хотябы примерно, таблички, тригеры, предстваления... подсчитайте сколько на диске она может занять, сделайте программку, которая заполнит вашу базу, лучше гигов до 3....
ставьте перечисленные СУБД, создавайте базу, ну и эмулируйте одновременные запросы, на чтение, запись можно таже тупо сделать прогу, которая по таймеру делает нужные вам INSERT UPDATE DELETE, и на 5 компах в сети, по 20...40 этих программ запустить :)
Обязательно постарайтесь оптимизировать, без этого адекватной оценки не получите... то есть:
1. тестировать нужно на структуре ВАШЕЙ будущей СУБД а не на гипотетических таблицах и именно ВАШИМИ запросами.
2. СУБД тестируйте в режиме выделеного сервера, и нужно обязательно подстраивать СУБД под железо
3. не забывайте под всякие индексы
4. почитайте про возможности масштабирования в выбранных вами СУБД, может из списка что-то сразу выпадет

Вообще тут правильно заметили, тестировать базу для проекта такого масштаба - это чё-то не то... уверен производительность большенства СУБД упрётся в скорость работы вашего винта, а проц будет максимум процентов на 60...80 загружен... в реальных условиях будет по другому

Сложная лабораторная получится, на которую мноооооого времени уйдёт... :)
22 мар 08, 08:56    [5445090]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

akrischenko пишет:

Это:
> Я конечно понимаю что БД будет
> вести себя нелинейно при росте нагрузки, и что лучше всего тестировать,
> так сказать, в маштабе 1:1.

И это :
> Можно ли, скажем, смоделировать описанную ситуацию в маштабе 1:100,
> 1:1000, с какой-нибуть вероятностью что и на продуктиве разница в работе

как-то не вяжется. О каком масштабе может быть речь, если оно нелинейно ?

> Давайте отнесёмся к задаче проще, как к лабораторной работе, просто из
> интереса.

Лучше не занимайтесь ерундой, а ткните наугад в одну из СУБД,
которая вам по требованиям подходит, и разрабатывайте.

Задача performance testing СУБД вообще неблагодарная, а задача
тестирования еще ненаписанного приложения -- вообще полная ерунда.

Posted via ActualForum NNTP Server 1.4

22 мар 08, 13:18    [5445252]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Кифирчик пишет:

> Ну так сперва спроектируйте вашу БД, хотябы примерно, таблички, тригеры,
> предстваления...

Что значит - "примерно" ? Не примерно, а именно точно такая же база
нужна.

Posted via ActualForum NNTP Server 1.4

22 мар 08, 13:20    [5445258]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

akrischenko wrote:
> почему же тогда MySQL, а не
> PostgreSQL или DB2?
А почему бы и нет? Для "лабораторки" то?
Тем паче - многие юзают, масса приложений написана на/под и т.д., входит
в комплект поставки чего-то там включая *никс.
прОдукт развивается, есть вроде как даже коммерческая версия.

Posted via ActualForum NNTP Server 1.4

24 мар 08, 12:44    [5449759]     Ответить | Цитировать Сообщить модератору
 Re: Помогите провести тест БД  [new]
akrischenko
Member

Откуда:
Сообщений: 8
В данный момент вопрос с выбором СУБД отпал, поэтому перенесём тестирование на другой раз.
Да и смотрю что обьективных результатов таким тестированием добится шанс очень небольшой. Так все говорят, не только тут на форуме.
25 мар 08, 23:33    [5458825]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить