Comments 55
уже было многократно, ничего холиварного тут нет
ну а тест, очередной «сферический конь в вакууме»
ну а тест, очередной «сферический конь в вакууме»
Как понимать «Mysql против Sql Server»? А mysql, по вашему, не sql server?
Майкрософт при позиционирование своего продукта часто опускает приставку «Microsoft».
1. www.microsoft.com/sqlserver/2008/en/us/default.aspx
2. www.google.com/search?q=sql+server
3. en.wikipedia.org/wiki/Microsoft_SQL_Server
Поэтому не в новинку…
1. www.microsoft.com/sqlserver/2008/en/us/default.aspx
2. www.google.com/search?q=sql+server
3. en.wikipedia.org/wiki/Microsoft_SQL_Server
Поэтому не в новинку…
есть подозрение что нет ;)
Sql Server — название продукта Databases Server, которым и является тоже MySql, то есть MySql явно DataBase Server.
Вы когда нибудь употребляете словосочетие «Скуль Сервер» в отношении других продуктов, кроме Sql Server, что то сомневаюсь.
Sql Server — название продукта Databases Server, которым и является тоже MySql, то есть MySql явно DataBase Server.
Вы когда нибудь употребляете словосочетие «Скуль Сервер» в отношении других продуктов, кроме Sql Server, что то сомневаюсь.
Нужно не забывать, что MySQL имеет более простой функционал и рассчитан на WEB среду а MSSQL больше на корпоративные приложения.
Нужно не забывать, что это всё же по разному работающие базы. Схема базы, работающая на одном сервере на ура не обязательно в идентичном виде будет настолько же хорошо работать на другом сервере. Тут вам нужно как минимум поработать над индексами и скорее всего запросы тоже будут отличатся.
Насчёт бесплатности, ну выйдет ваша база за объёмы 2GB и вуаля — надо покупать лицензию. А если нагрузка на проект растёт и уже надо 2 сервера? Вот вам уже надо 2 лицензии. Причём не забывайте про то, что у вас должен быть серверный Windows.
Я за то, что бы всё-же применять каждый инструмент для той области, где он лучше всего работает. А это значит что MSSQL для сложных приложений, где нужен весь его функционал. Если же у вас WEB проект, как правило MySQL более удачный выбор, особенно если там в основном обычные SELECT.
Нужно не забывать, что это всё же по разному работающие базы. Схема базы, работающая на одном сервере на ура не обязательно в идентичном виде будет настолько же хорошо работать на другом сервере. Тут вам нужно как минимум поработать над индексами и скорее всего запросы тоже будут отличатся.
Насчёт бесплатности, ну выйдет ваша база за объёмы 2GB и вуаля — надо покупать лицензию. А если нагрузка на проект растёт и уже надо 2 сервера? Вот вам уже надо 2 лицензии. Причём не забывайте про то, что у вас должен быть серверный Windows.
Я за то, что бы всё-же применять каждый инструмент для той области, где он лучше всего работает. А это значит что MSSQL для сложных приложений, где нужен весь его функционал. Если же у вас WEB проект, как правило MySQL более удачный выбор, особенно если там в основном обычные SELECT.
Конечно. Собственно, я и не подталкиваю к выбору той или иной платформы. У меня много сайтов (и довольно нагруженных) крутится на MySql и ничего. Просто относительные цифры тоже порой посмотреть интересно.
Хотя есть и простенькие сайты на MSSQL — просто потому, что они созданы на ASP.Net.
Хотя есть и простенькие сайты на MSSQL — просто потому, что они созданы на ASP.Net.
Цены на лицензии MS вполне могут компенсироваться стоимостью железа, если MS SQL на реальной задаче окажется так же эффективен, как в этой статье.
Там ограничение в 4Гб, 2Гб было в MSDE, который от движка 2000 сервера. Так же там ограничение на 1 процессор.
Вот по этим тестам видно, что MySQL начинает проигрывать, когда несколько запросов выполняются одновременно. Так что именно для веба, где параллельное обслуживание запросов пользователя — это самое главное условие, мускул должен проигрывать.
Опять же, если ваш проект вырос до 4 гигабайт чистых данных, вы, наверное, можете позволить себе и железо, и софт. Иначе зачем все это было?
Опять же, если ваш проект вырос до 4 гигабайт чистых данных, вы, наверное, можете позволить себе и железо, и софт. Иначе зачем все это было?
Не забывайте что человек не выложил ни каких настроек, и судя по всему для MySQL они дефолтные. А innodb_buffer_pool там весьма маленький.
Из графика видно, что запросы выполняются до 0.8 секунды, а это зверски долго. Это значит что что-то не так с конфигурацией. У меня mysql обслуживает порядка 820 запросов в секунду, что ну никак не сходится с данными тестов. Железо у меня вполне обычное — 2x Quad Intel Xeon 2.4GHz, 8GB RAM, SAS диск на 15к rmp. База отъедает в пиковые нагрузки (выходные вечер) порядка 150% ресурсов, т.е. 1.5 ядра, ну округлим и получается что хватает 20% мощьности от всего сервера. Работал с mysql cервером, примерно такой-же конфиг, только там был железный райд на 8 дисков — держали порядка 3500-4000 запросов и ещё был запас.
Из графика видно, что запросы выполняются до 0.8 секунды, а это зверски долго. Это значит что что-то не так с конфигурацией. У меня mysql обслуживает порядка 820 запросов в секунду, что ну никак не сходится с данными тестов. Железо у меня вполне обычное — 2x Quad Intel Xeon 2.4GHz, 8GB RAM, SAS диск на 15к rmp. База отъедает в пиковые нагрузки (выходные вечер) порядка 150% ресурсов, т.е. 1.5 ядра, ну округлим и получается что хватает 20% мощьности от всего сервера. Работал с mysql cервером, примерно такой-же конфиг, только там был железный райд на 8 дисков — держали порядка 3500-4000 запросов и ещё был запас.
ghost ~ # mysqladmin status -p Enter password: Uptime: 1017788 Threads: 2 Questions: 840400696 Slow queries: 44867 Opens: 102740 Flush tables: 1 Open tables: 512 Queries per second avg: 825.713
ТС, покажите тесты под Linuxом — для веб-сервером это более актуально. :)
Как же покажешь под линуксом тест MS Sql Server? :) Хотя я в последнее время большинство проектов перевел на Windows-хостинг, где уже можно выбирать.
Ну а раз MS Sql Server под никсами не работает, то почему же он по всем параметрам лучше MySQL? Серьезные сервера у серьезных людей работают под серверными ОС ;)
Опечатался
… под сетевыми ОС… которые и предназначены быть серверами
… под сетевыми ОС… которые и предназначены быть серверами
Сегодня «сервер» уже необязательно означает *nix. Много и виндовых серверов. Если сравнивать Sql server под win, а mysql под никсами — эксперимент будет менее корректным, т.к. окружение разное.
Можно MySQL тестировать под Win и под Linux и сравнивать с MSSQL под win.
Значит под их рабочими ОС. Под разными, но на одном железе. С оптимизированными конфигами. На реальной задаче.
Можно еще улучшить график и prepared-запросами :)
какое-то странное сравнение.
В каком аспекте вы сравниваете?
Сравните возможность делать self-join с временными таблицами.
update с ссылкой на вшений запрос.
А это очень нужные функции.
Покажите как MySQL с этим справляется.
В каком аспекте вы сравниваете?
Сравните возможность делать self-join с временными таблицами.
update с ссылкой на вшений запрос.
А это очень нужные функции.
Покажите как MySQL с этим справляется.
Всегда убивали тесты без конфигов БД.
MySQL поумолчанию настроен очень скромно, насколько я помню там размер буфера для ключей порядка 16 mb.
Как думаете сколько стоит у MSSQL по дефолту?
MySQL поумолчанию настроен очень скромно, насколько я помню там размер буфера для ключей порядка 16 mb.
Как думаете сколько стоит у MSSQL по дефолту?
Насколько я знаю, в MSSQL таких параметров вообще нет :)
:-D да ладно вам, он вытесан из камня и идеален по определению? :-D что его не надо настраивать?
Надо, но с ним не все так запутанно как с mySQL
помоему с MySQL всё проще некуда.
Есть таблица.
Есть запросы.
Запрос*Время выполнения*Частоту = Нужные вам ключи (Explain и лог медленных запросов вам в помощь)
Далее есть суммарный размер ключа, вот если он влазит в память и индекс правильный всё будет просто летать, а если нет упрётся в винт (SHOW STATUS и т.д. помогут вам так же).
Есть таблица.
Есть запросы.
Запрос*Время выполнения*Частоту = Нужные вам ключи (Explain и лог медленных запросов вам в помощь)
Далее есть суммарный размер ключа, вот если он влазит в память и индекс правильный всё будет просто летать, а если нет упрётся в винт (SHOW STATUS и т.д. помогут вам так же).
Не знаю про что вы, а я про настройки :)
C mssql все так же — главное чтобы все могло поместиться в память
C mssql все так же — главное чтобы все могло поместиться в память
Все базы работают быстро если грамотно расставлены ключи и эти самые ключи влазят в память. А b+ tree у всех практически одинаковое. Так что курите размер буферов в конфиге и расставляйте ключи поумному, explain вам в руки и myisam для небизнес логики.
>Никакие оптимизации не проводились ни на одном из серверов.
Вы всерьез считаете, что на реальных продакшнах никто этого не делает?
Ф топку
Вы всерьез считаете, что на реальных продакшнах никто этого не делает?
Ф топку
На мой взгляд, не выигрывает Mysql и по критерию бесплатности: у Sql Server есть бесплатная Express-версия, которая, в отличие от конкурента, может быть использована в коммерческих разработках без лицензионных ограничений.
Мой мозк сломан.
Единственное ограничение мускуля в коммерческом плане, известное мне — это возможность изменить его исходные коды и сделать код закрытым (т.н. исключение из открытой лицензии) за определенную денежку. mssql-e, судя по всему, тоже открыт всем желающим, ага.
Не только. Если вы разрабатываете продукт на его основе, то он должен быть тоже open-source.
Да, и это бесплатно. А если хочешь не открывать исходники — заплати и получишь свое исключение из свободной лицензии.
Вот именно — заплати. А Sql server express можно использовать в закрытых продуктах без оплаты.
давайте еще раз: использовать сам продукт можно бесплатно в обоих случаях (сайты там и вообще любая система).
Но, для mysql, как для opensource, есть дополнительная возможность — изменить исходники. Так как это копилефт, измененные исходники (и связанные с ними напрямую части ПО — в том числе корпоративные) тоже должны быть открыты. Если же кто-то не хочет открывать исходники — он может заплатить денежку и получить исключение из открытой лицензии.
Так вот, в mssql НЕЛЬЗЯ посмотреть/изменить исходники.
Различайте, пжлст, использование opensource как продукта и как основы для модификации исходников.
Но, для mysql, как для opensource, есть дополнительная возможность — изменить исходники. Так как это копилефт, измененные исходники (и связанные с ними напрямую части ПО — в том числе корпоративные) тоже должны быть открыты. Если же кто-то не хочет открывать исходники — он может заплатить денежку и получить исключение из открытой лицензии.
Так вот, в mssql НЕЛЬЗЯ посмотреть/изменить исходники.
Различайте, пжлст, использование opensource как продукта и как основы для модификации исходников.
Вы за Windows Server и клиентские лицензии платить не собираетесь?
А зря :-)
А зря :-)
Там двойная (если не тройная) лицензия
www.mysql.com/about/legal/licensing/oem/
Для OSS, коммерческая и OEM.
www.mysql.com/about/legal/licensing/oem/
Для OSS, коммерческая и OEM.
Сюда бы ещё Postgre.
Ничего нового, глупо сравнивать продукты разных ниш, всё равно что сравнивать машины разных классов.
МС это продукт энтерпрайз уровня. а мускул это «фалос с гвоздями» (ц) баш :)
Тут подозреваю будет более справедливо сравнить posgresql с мс скулом
МС это продукт энтерпрайз уровня. а мускул это «фалос с гвоздями» (ц) баш :)
Тут подозреваю будет более справедливо сравнить posgresql с мс скулом
Неправильно тестировать SQL сервера с помощью приложения на .net. Вы наверняка использовали разные провайдеры для работы.
Где гарантия, что полученные результаты характеризуются быстродействием SQL сервера, а не провайдера?
Где гарантия, что полученные результаты характеризуются быстродействием SQL сервера, а не провайдера?
Эээ, ну во первых и в последних какой смысл сравнивать неоптимизированные базы и сервера? Сравнивать дефолтные параметры?
А так да — MS SQL будет быстрее читать при прочих «равных», поскольку уровень изоляции в нем ниже.
А так да — MS SQL будет быстрее читать при прочих «равных», поскольку уровень изоляции в нем ниже.
объясни мне, нахуя тестировать без кеширования? в реальной жизни есть кеширование
Sign up to leave a comment.
Mysql против Sql Server – кто кого?