Какова Причина, большие сайты не используют MySQL с ASP.NET?

Я прочитал эту статью из Высокой Масштабируемости о Переполнении стека и других больших веб-сайтов. Много больших интенсивных трафиков сайты.NET, такие как plentyoffish.com, MySpace и Переполнение стека все использование технологии.NET и SQL Server использования для их базы данных. В статье это говорит что источник в сказанном Переполнении стека:

Поскольку Вы добавляете все больше серверов баз данных, стоимость лицензии SQL Server может быть возмутительной. Таким образом запуском увеличиваются, и постепенно движение масштабируют горизонтально с непрограммным обеспечением с открытым исходным кодом, которым можно быть в мире финансового вреда.

Почему эти сайты не используют MySQL вместо SQL Server?

23
задан Peter Mortensen 19 April 2010 в 13:06
поделиться

14 ответов

Добавляя к тому, что сказал AJ... Помните, что Facebook также платит программистам C за взлом кода MySQL, а также кода PHP, чтобы заставить вещи действительно работать "хорошо" при том количестве трафика, которое они получают.

Facebook уже делал заявления в прошлом и в этом году о том, что хотел бы сделать лучший выбор.

На самом деле, для кодирования они теперь компилируют свой PHP в C++ код с помощью HipHopPHP, и около 90% их серверов работают с двоичными файлами C++ вместо PHP скриптов.

Их база данных MySQL может сэкономить им десяток-другой центов, но затраты на ее обслуживание, масштабирование и т.д. чрезвычайно велики.

Такой продукт, как Oracle, действительно позволит вам легко масштабироваться по сравнению с MySQL.

У меня сейчас есть сайт, который использует большую пропускную способность моей базы данных, большое количество запросов, и правда в том, что масштабирование - это боль в шее с MySQL, а их продукт Clustering не так хорош и требует лицензии. Oracle на данный момент имеет лучшую установку базы данных "grid", но стоимость там безумная...

Кроме того, я тоже пишу на C#... Скажу вам, что интегрировать сайты уровня предприятия с SQL Server намного проще, чем с MySQL.

9
ответ дан 29 November 2019 в 02:08
поделиться
  1. Меньше проблем с совместимостью при использовании единого источника.
  2. MS SQL Server является базой данных «по умолчанию» для приложений ASP.NET (см. LINQ to SQL, ADO.NET, ApplicationServices и т. Д.)
  3. Незрелые инструменты .NET для других баз данных. Например, вам не нужно беспокоиться о том, что функция или функциональность не поддерживаются, если вы используете MS SQL Server, другие базы данных могут не иметь полной поддержки (например, DbLInq и т. Д.).
  4. MS SQL Server также бесплатен для начала работы (SQL Server Express), и как только вы будете готовы стать общедоступным, будет сложно изменить уровень данных.

Я в процессе написания сайта ASP.NET MVC2 с MySQL в качестве бэкэнда (в основном из-за затрат на лицензирование). Я реализовал DbLinq, но это также означает написание специального поставщика членства / ролей и общую настройку. уровня данных. Это определенно выполнимо, но не так просто, как придерживаться MS SQL Server. Я также надеюсь перенести сайт на Mono 2.7 (после его выпуска), работающий на сервере Linux, чтобы также обойти проблемы с лицензированием сервера.

0
ответ дан 29 November 2019 в 02:08
поделиться

Ни один крупный корпоративный сайт не будет так сильно заботиться о затратах на лицензирование. Им нужен быстрый и надежный доступ к данным и доступ к технической поддержке компании. Им также нужно что-то, что можно легко разделить для масштабирования и предназначенное для огромных баз данных. Им также нужна легкая доступность специалистов по настройке производительности, хранилищ данных и специалистов по бизнес-аналитике, разработчиков баз данных и администраторов баз данных. И SQL Server, и Oracle соответствуют этим критериям. Я действительно не думаю, что в MySQL есть столько людей, способных проектировать и контролировать большие системы. Я не уверен, как это складывается в отношении разделения и масштабируемости.

0
ответ дан 29 November 2019 в 02:08
поделиться

Когда стек технологий однороден, с этим гораздо легче справиться.

Удачи, если вам нужна поддержка MySQL для Linq-to-SQL. Он все еще очень незрелый. В SQL Server это просто перетаскивание. Буквально.

Вы также можете выполнять запросы к базе данных из Visual Studio для SQL Server. Я никогда не пробовал использовать его для других баз данных, но не уверен, что вы сможете это сделать.

Замечательно сказать: «О, MySQL намного дешевле, чем SQL Server». Да, это так. Но я не уверен, что затраты на интеграцию того стоят; не говоря уже о том, чтобы полагаться на еще одного поставщика для оказания поддержки, если что-то пойдет не так.

4
ответ дан 29 November 2019 в 02:08
поделиться

Это просто культура. Люди группируются. Это естественно. Люди, предпочитающие открытый исходный код, естественно выберут LAMP (Linux, Apache, MySQL и PHP) для того же типа проектов, для которых люди, предпочитающие корпоративную поддержку, выбирают Microsoft IIS, Microsoft SQL Server и Microsoft .NET. В этом есть большая доля человеческой психологии, не заблуждайтесь на этот счет. Нет ничего запрещающего использовать IIS с PHP и MySQL или Apache с Microsoft SQL Server, но все происходит так, как описано выше.

Короче говоря, крупные сайты используют и то, и другое, но да, не часто те два, которые вы упомянули, вместе.

0
ответ дан 29 November 2019 в 02:08
поделиться

Я бы сказал по следующим причинам:

  1. Microsoft очень хорошо интегрирована при использовании с продуктами Microsoft;
  2. Несмотря на использование SQL Server, доступна бесплатная версия Express, которую можно использовать для размещения сайтов;
  3. С появлением .NET Framework Microsoft значительно обогнала своих конкурентов в школах и, таким образом, сделала SQL Server хорошо известным механизмом баз данных;
  4. продукты Microsoft лучше работают с другими продуктами Microsoft;
  5. Есть два способы лицензирования SQL Server для каждого клиента (CAL) и для серверных процессоров или что-то в этом роде. Для хостов сайтов, возможно, есть преимущество в использовании SQL Server таким образом;
  6. Другие механизмы баз данных, такие как MySQL, PostgreSQL, Firebird и т. Д., Имеют свои синтаксические различия, что делает SQL Server TSQL каким-то образом мудрым выбором для количество людей, которым легче взаимодействовать с SQL Server;
  7. Могут быть некоторые другие политические причины для использования SQL Server по сравнению с другими менее дорогостоящими решениями.

Я хотел бы упомянуть, что некоторые используют SQL Server, да, но они используют SQL Server Express Edition. Хотя они знают или нет, что публикация или коммерциализация решения с SQL Server Express Edition делает, в соответствии с лицензионным соглашением Microsoft для этого продукта, ваше решение также бесплатным решением, поскольку в лицензионном соглашении указано, что вы должны предоставить свое решение для ваш заказчик, и ваш заказчик может свободно делиться вашим коммерческим решением с кем пожелает, потому что оно установлено на SQL Server Express.Хотя это заявлено, некоторые продолжают использовать SQL Server Express, не сообщая своим клиентам об этой информации. Большинство обычных клиентов не знают об этом и будут соблюдать договор с поставщиком решения.

Кроме того, как я думаю, я уже писал выше, некоторых не волнует цена, но у них есть политические причины для использования коммерческих продуктов, таких как SQL Server и других программных продуктов. Есть места, где деньги - не самый важный фактор, а обслуживание после продажи и т. Д. Им нужны специализированные инженеры или группы поддержки напрямую, не обязательно то, что предлагает MySQL-подобные сообщества.

Надеюсь, это немного проясняет.

1
ответ дан 29 November 2019 в 02:08
поделиться

Хотя это не дает прямого ответа на ваши вопросы, я действительно должен опровергнуть ваш комментарий о возмутительных затратах на лицензирование. ВСЕ коммерческое программное обеспечение уровня ENTERPRISE имеет высокую цену, потому что оно имеет свою ЦЕННОСТЬ. Если бы у него не было такой ценности, это не был бы успешный продукт.

Цены на SQL Server чрезвычайно конкурентоспособны, а совокупная стоимость владения значительно ниже, чем у Oracle. Еще одна причина, по которой будет принято решение использовать MS SQL Server, заключается в том, что большинство магазинов, разрабатывающих на стеке Microsoft, являются магазинами Windows Server. MS SQL Server создан специально для Windows Server, поэтому он может максимально безупречно интегрироваться с операционной системой. Многие другие продукты изначально и не разрабатывались исключительно для Windows Server, поэтому это приводит к различиям в функциях и ошибкам среды.

Эти проблемы с окружающей средой могут быть дополнительно усугублены тем фактом, что крупные магазины будут нанимать в первую очередь системных администраторов, которые имеют большой опыт работы в этом конкретном стеке, поэтому в магазине .NET большинство системных администраторов наиболее свободно владеют Windows Server, нуждаясь в поддержке несколько операционных систем становятся большими расходами, особенно в части управления рисками, когда вы ведете крупный бизнес.

6
ответ дан 29 November 2019 в 02:08
поделиться

Думаю, у Джорджа есть пометка: "однородный".

Большинство технологий Microsoft созданы для совместной работы. Между .NET и SQL Server существуют прямые перехватчики для обеспечения дополнительных функций, таких как управление кешем, которых просто нет между .NET и MySQL.

IIRC, MySQL не имеет встроенного управления кешем, поэтому существуют Ehcache и memcached.

Относительно комментария Джошуа: «Однако такой продукт, как Oracle, действительно позволит вам легко масштабироваться по сравнению с MySQL». Несколько лет назад Sabre выбрала MySQL вместо Oracle для некоторых крупномасштабных проектов на основе стоимости и набора функций. AFAIK, его по-прежнему предпочитают Oracle, если только вы не сможете доказать с помощью анализа затрат и выгод, почему Oracle является лучшим выбором для проекта.

Я думаю, что все сводится к функциональности, пользовательской базе знаний и взаимодействию.

Иногда лучше подходит SQL Server, иногда MySQL, иногда Oracle.

0
ответ дан 29 November 2019 в 02:08
поделиться

Ну, с одной стороны, есть другие, более качественные и бесплатные базы данных (например, PostgreSQL). Во-вторых, экосистема Microsoft предназначена для того, чтобы затягивать вас, заставляя тратить все больше и больше с ребятами из Редмонда.

-1
ответ дан 29 November 2019 в 02:08
поделиться

Чтобы повторить то, что сказали другие. Я работаю в корпорации, и деньги, так сказать, не имеют большого значения, когда дело касается этих вопросов. Решения принимаются на основе «Какую поддержку мы можем получить от поставщика», «Сколько квалифицированных специалистов на рынке», «Какова репутация поставщиков» и т. Д.

Я думаю, что есть два различных группы для приверженцев MySQL или SQL Server.

  1. Крупные частные веб-сайты, не имеющие дополнительных финансовых ресурсов. Эти веб-сайты обычно используют MySQL. Естественно.

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

6
ответ дан 29 November 2019 в 02:08
поделиться

Нет Microsoft SQL Server Management Studio. Серьезно. Там делается множество вещей вместо сырого SQL, как в мире программного обеспечения с открытым исходным кодом.

5
ответ дан 29 November 2019 в 02:08
поделиться

Я предполагаю, что это, вероятно, потому, что действительно действительно легко начать создавать сайт с ASP.NET, подключенным к SQL Server. И для сайтов, о которых вы упомянули, скорость вывода на рынок, вероятно, была важнее, чем «правильная» архитектура (не говоря уже о том, что SQL Server является правильным или неправильным выбором - просто скорость вывода на рынок является приоритетом). Помните, что задача разработчика - выпускать программное обеспечение.

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

Edit: А если вы станете суперпопулярным, вы можете даже рискнуть отправиться в страну NoSQL .

7
ответ дан 29 November 2019 в 02:08
поделиться

Настоящая причина в том, что люди обычно выбирают MS SQL Server, поскольку .NET поставляется под тем же брендом. Например, люди, работающие с PHP, всегда предпочитают MySQL другим базам данных. Это все менталитет, и люди не хотят рисковать.

0
ответ дан 29 November 2019 в 02:08
поделиться

Вы используете то, что знаете ...

(ИМХО) Стек инструментов Microsoft великолепен. Он работает хорошо, мы учимся на нем и растем вместе с ним по мере развития технологий. По мере того, как вы привыкаете к нему (его причуды и идиосинкразии), им становится легче пользоваться.

MySQL также является прекрасным инструментом. Это работает, и работает хорошо. У всех нас могут быть религиозные войны по поводу того, какой инструмент лучше, но помните, что это всего лишь инструмент для выполнения работы.

Теперь давайте учтем стоимость программного обеспечения - Plenty of Fish 2 года назад заработала 7 миллионов долларов, неужели вы думаете, что их волнует, сколько стоит их программное обеспечение для баз данных / серверов? SO стоит на BizSpark $ 0 в течение 3 лет (это должно быть больно).

Скептики считают, что FaceBook использует MySQL на / для серверов 30K, а лицензии MySQL Enterprise Unlimited стоят 40 тыс. Долларов, так что это тоже не обязательно дешево.

Не знаю, как вы, но для меня, когда я зарабатываю кучу денег, меня действительно не волнует, сколько это «стоит», потому что я зарабатываю на них больше, чем без них!

2
ответ дан 29 November 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: