Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

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

Изменить: И если вы станете суперпопулярным, вы можете даже захотеть отправиться в страну NoSQL.

Ответ 3

Хотя это прямо не отвечает на ваши вопросы, мне действительно нужно опровергнуть ваши комментарии о возмутительных расходах на лицензирование. Все коммерческое программное обеспечение класса "ВСЕ ПРЕДПРИЯТИЕ" поставляется с высокой ценой, потому что у него есть VALUE. Если он не имеет этого значения, он не будет успешным продуктом.

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

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

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

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

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

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

Ответ 7

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

(IMHO) Стек инструментальных средств Microsoft является блестящим. Он работает хорошо, мы учимся вместе с ним и развиваемся вместе с ним, поскольку технология растет. Это становится проще в использовании, когда вы привыкаете к нему (его причуды и особенности).

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

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

Для скептиков FaceBook запускает MySQL на серверах 30K и MySQL Enterprise Unlimited Лицензии стоят $40 тыс., поэтому это не обязательно дешево либо.

Я не знаю о вас, но для меня, когда я делаю кучу денег, мне действительно все равно, сколько это "стоит", потому что я делаю больше с ним, чем без него!

Ответ 8

Я бы сказал, из-за следующего:

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

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

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

Надеюсь, что это немного поразмышляет.

Ответ 9

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

Ответ 10

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

Ответ 11

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

Ответ 12

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

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

Ответ 13

Я считаю, что у Джорджа есть знак: "однородный".

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

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

re Joshua comment: "Продукт, подобный Oracle, действительно позволит вам легко масштабироваться по сравнению с MySQL". Несколько лет назад Sabre выбрала MySQL над Oracle для некоторых высокомасштабных проектов на основе стоимости и набора функций. AFAIK, она по-прежнему выбрала Oracle, если вы не сможете доказать, что Oracle - лучший выбор для проекта.

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

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

Ответ 14

  • Меньше проблем с совместимостью при использовании одного источника.
  • MS SQL Server - это база данных по умолчанию для приложений ASP.NET(см. LINQ to SQL, ADO.NET, ApplicationServices и т.д.).
  • Незрелые инструменты .NET для других баз данных. Например, вам не нужно беспокоиться о том, что функция или функциональность не поддерживаются, если вы придерживаетесь MS SQL Server, другие базы данных могут не иметь полной поддержки (например, DbLInq и т.д.).
  • MS SQL Server также может начать работу (SQL Server Express), и как только вы будете готовы публично публиковать, трудно изменить уровень данных.

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